TdiBuildDisassociateAddress

VOID
TdiBuildDisassociateAddress (
IN PIRP Irp,
IN PDEVICE_OBJECT DevObj,
IN PFILE_OBJECT FileObj,
IN PVOID CompRoutine,
IN PVOID Contxt
);

TdiBuildDisassociateAddress sets up an internal device control IRP for a TDI_DISASSOCIATE_ADDRESS request to the underlying transport in which a local-node client has already associated an address and a connection endpoint.

Parameters

Irp

Points to a client-supplied IRP, either originating in a higher level network component or allocated with TdiBuildInternalDeviceControlIrp.

DevObj

Points to the device object created by the next lower TDI transport driver.

FileObj

Points to a file object representing the connection endpoint. The client previously made a successful request, set up with TdiBuildAssociateAddress, to the transport to set up an association between this connection and a local-node address.

CompRoutine

Specifies the entry point of a client-supplied IoCompletion routine or NULL. The I/O Manager calls this routine when the given IRP is completed, unless the client sets this parameter to NULL.

Contxt

Points to a client-determined context. This client-supplied pointer is passed in to the IoCompletion routine when it is called with the completed IRP. Contxt should be NULL if CompRoutine is NULL.

Comments

TdiBuildDisassociateAddress sets IRP_MJ_INTERNAL_DEVICE_CONTROL as the MajorFunction and TDI_DISASSOCIATE_ADDRESS as the MinorFunction codes in the transport's I/O stack location of the given IRP.

A kernel-mode client makes this request to disassociate a connection endpoint for an inactive connection from the associated address object, whether that client initiated the disconnection from its remote-node peer or vice versa.

If this request is successful, the client can reassociate the connection endpoint with another local-node address or the local-node address with another connection endpoint by setting up another IRP for the underlying transport with TdiBuildAssociateAddress.

See Also

TdiBuildAssociateAddress, TdiBuildDisconnect, TdiBuildInternalDeviceControlIrp, TDI_DISASSOCIATE_ADDRESS