Struct km::irp::IO_STACK_LOCATION [] [src]

pub struct IO_STACK_LOCATION {
    pub MajorFunction: u8,
    pub MinorFunction: u8,
    pub Flags: u8,
    pub Control: u8,
    pub Parameters: [PVOID; 4],
    pub DeviceObject: PDEVICE_OBJECT,
    pub FileObject: PFILE_OBJECT,
    pub CompletionRoutine: PIO_COMPLETION_ROUTINE,
    pub Context: PVOID,
}

I/O Stack Locations.

Fields

MajorFunction

The IRP major function code indicating the type of I/O operation to be performed.

MinorFunction

A subfunction code for MajorFunction.

Flags

Request-type-specific values (see DEVICE_FLAGS).

Control
Parameters

A union that depends on the major and minor IRP function code values contained in MajorFunction and MinorFunction.

DeviceObject

A pointer to the driver-created DEVICE_OBJECT structure representing the target physical, logical, or virtual device for which this driver is to handle the IRP.

FileObject

A pointer to a FILE_OBJECT structure that represents the file object, if any, that is associated with DeviceObject pointer.

CompletionRoutine

The following routine is invoked depending on the flags in the above Flags field.

Context

The following is used to store the address of the context parameter that should be passed to the CompletionRoutine.

Methods

impl IO_STACK_LOCATION

fn ParametersRead(&mut self) -> &mut _IO_STACK_LOCATION_READ

Access parameters for IRP_MJ_READ.