VOID
TdiBuildReceive (
IN PIRP Irp,
IN PDEVICE_OBJECT DeviceObject,
IN PFILE_OBJECT FileObject,
IN PVOID CompletionRoutine,
IN PVOID Context,
IN PMDL MdlAddress,
IN ULONG ReceiveLength
);
TdiBuildReceive builds an IRP containing a TDI_RECEIVE request message. It sets up the request message in the minor function code member of the I/O stack location and sets IRP_MJ_INTERNAL_DEVICE_CONTROL as a major function code.
Parameters
Irp
Points to the I/O stack location for the kernel-mode client IRP. The current stack location must point to the location in which TdiBuildReceive places the parameter list. IRP members related to the receive request are:
IRP Component | Meaning |
IoStatus.Status | Specifies the final status of the receive request. |
IoStatus.Information | Contains the number of data bytes the internal driver receive function writes for the client. |
IrpSp->MajorFunction | Specifies IRP_MJ_INTERNAL_DEVICE_CONTROL. |
IrpSp->MinorFunction | Specifies TDI_RECEIVE. |
IrpSp->FileObject | Points to a connection endpoint file object. |
IrpSp->Parameters | Points to a TDI_REQUEST_KERNEL_RECEIVE structure. |
DeviceObject
Points to the device object that describes the TDI driver.
FileObject
Points to a connection endpoint file object.
CompletionRoutine
Points to the client completion function the I/O subsystem can call when I/O is complete. This parameter must be NULL if the I/O subsystem calls no completion function.
Context
Points to the context the client associates with its completion function.
MdlAddress
Points to a chain of MDLs describing the receive buffer for the client.
ReceiveLength
Specifies the length, in bytes, of the receive buffer.
See Also