Irb = ExAllocatePool(NonPagedPool, sizeof(IRB)); ...Fill out IRB for desired 1394 function... NextIrpStack = IoGetNextIrpStackLocation(Irp); NextIrpStack->MajorFunction = IRP_MJ_INTERNAL_DEVICE_CONTROL; NextIrpStack->Parameters.DeviceIoControl.IoControlCode = IOCTL_1394_CLASS; NextIrpStack->Parameters.Others.Argument1 = Irb; ...Setup IRP Completion Routine... status = IoCallDriver(DeviceExtension->SonyPC10DeviceObject,Irp);
Example 1: Executing a 1394 request.
Copyright © 1999, Dr. Dobb's Journal