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.
Back to Article
Copyright © 1999, Dr. Dobb's Journal