The IRP structure represents an I/O request packet. Drivers can use the following members of the IRP structure.
This is one of the IRP Major Function Codes. Each driver-specific I/O stack location (IO_STACK_LOCATION) for every IRP contains a major function code (IRP_MJ_XXX), which tells the driver what operation it or the underlying device driver should carry out to satisfy the I/O request.
Pointer to the input buffer that contains the data required to perform the operation.
Pointer to the output buffer that contains the data returned by the operation.
This is the completion status, either STATUS_SUCCESS if the requested operation was completed successfully or an informational, warning, or error STATUS_XXX value. For more information, see Using NTSTATUS values.