All I/O requests are passed to the driver by Microsoft® Windows NT® using the standard IRP structure. For more details of this, refer to the Windows NT Device Driver Kit.
I/O request packets are defined in terms of C structures. The relevant fields are accessed as follows:
IRP.CurrentStackLocation -> MajorFunction | Defines the IRP as an IOCTL. |
IRP.IoStatus | Status codes upon completion of request. |
IRP.CurrentStackLocation -> IoControlCode | The IOCTL function code. |
IoControlCode identifies the function to be performed and IoStatus is the mechanism for returning result codes to the SNALink. The structure IOStatus is defined as follows: