The IRP structure represents an I/O request packet. Drivers can use the following members of the IRP structure.

  • MajorFunction

    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.

  • InBuffer

    Pointer to the input buffer that contains the data required to perform the operation.

  • OutBuffer

    Pointer to the output buffer that contains the data returned by the operation.

  • Status

    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.