TdiBuildInternalDeviceControlIrp
PIRP
TdiBuildInternalDeviceControlIrp (
IN CCHAR IrpSubFunction,
IN PDEVICE_OBJECT DeviceObject,
IN PFILE_OBJECT FileObject,
IN PKEVENT Event,
IN PIO_STATUS_BLOCK IoStatusBlock
);
TdiBuildInternalDeviceControlIrp allocates an IRP for advice control request. The client calls TdiBuildInternalDeviceControlIrp if it does not receive an IRP from a higher network layer. After it returns, the client calls another macro from the TDI library to set up an IRP to contain a request message for the TDI driver.
Parameters
IrpSubFunction
Specifies a code identifying the client request for the TDI driver. TdiBuildInternalDeviceControlIrp sets the IRP minor function code member in the current IRP stack location to IrpSubFunction. The following codes are defined:
Name | Code |
TDI_ASSOCIATE_ADDRESS | 0x01 |
TDI_DISASSOCIATE_ADDRESS | 0x02 |
TDI_CONNECT | 0x03 |
TDI_LISTEN | 0x04 |
TDI_ACCEPT | 0x05 |
TDI_DISCONNECT | 0x06 |
TDI_SEND | 0x07 |
TDI_RECEIVE | 0x08 |
TDI_SEND_DATAGRAM | 0x09 |
TDI_RECEIVE_DATAGRAM | 0x0A |
TDI_SET_EVENT_HANDLER | 0x0B |
TDI_QUERY_INFORMATION | 0x0C |
TDI_SET_INFORMATION | 0x0D |
TDI_ACTION | 0x0E |
DeviceObject
Points to the device object that describes the TDI driver.
FileObject
Points to an address or connection endpoint file object.
Event
Points to the client completion function the I/O subsystem can call when I/O is complete.
IoStatusBlock
Points to the I/O status block at which the TDI driver sets the completion status of the I/O request.
Return Value
TdiBuildInternalDeviceControlIrp returns a pointer to the IRP.
See Also
IoAllocateDeviceIoControl