TdiBuildConnect

VOID
TdiBuildConnect (
IN PIRP Irp,
IN PDEVICE_OBJECT DeviceObject,
IN PFILE_OBJECT FileObject,
IN PVOID CompletionRoutine,
IN PVOID Context,
IN PTIME Time,
IN PTDI_CONNECTION_INFORMATION RequestConnectionInformation,
OUT PTDI_CONNECTION_INFORMATION ReturnConnectionInformation
);

TdiBuildConnect builds an IRP containing a TDI_CONNECT 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 TdiBuildConnect places the parameter list. IRP members related to the connect request are:

IRP Component Meaning
IoStatus.Status Specifies the final status of the connect request.
IrpSp->MajorFunction Specifies IRP_MJ_INTERNAL_DEVICE_
CONTROL.
IrpSp->MinorFunction Specifies TDI_CONNECT.
IrpSp->FileObject Points to a connection endpoint file object.
IrpSp->Parameters Points to a TDI_REQUEST_KERNEL structure with an unused RequestFlags member.
IrpSp->Parameters.RequestSpecific Points to a LARGE_INTEGER structure containing the time–out value for the driver connect function. If this field is NULL, the TDI driver must choose an appropriate time–out.

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.

Time

Points to the time–out value for the internal TDI driver connect function.

RequestConnectionInformation

Points to a TDI_CONNECTION_INFORMATION structure that defines the valid remote node client address to which the local node client will connect.

ReturnConnectionInformation

Points to the caller–defined memory location to which the driver writes a TDI_CONNECTION_INFORMATION structure providing the remote node client address to which the local node client has connected. If the local node client requires no output information or if the TDI driver does not accommodate such information, this parameter is NULL.

See Also

TDI_CONNECT, TDI_CONNECTION_INFORMATION, TDI_REQUEST_KERNEL