TdiBuildDisassociateAddress macro

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.

Syntax

VOID TdiBuildDisassociateAddress(
  [in] PIRP           Irp,
  [in] PDEVICE_OBJECT DevObj,
  [in] PFILE_OBJECT   FileObj,
  [in] PVOID          CompRoutine,
  [in] PVOID          Contxt
);

Parameters

  • Irp [in]
    Pointer to a client-supplied IRP, either originating in a higher level network component or allocated with TdiBuildInternalDeviceControlIrp.

  • DevObj [in]
    Pointer to the device object created by the underlying TDI transport driver.

  • FileObj [in]
    Pointer 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 [in]
    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 [in]
    Pointer 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 is NULL if CompRoutine is NULL.

Return value

None

Remarks

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.

Note   The TDI feature is deprecated and will be removed in future versions of Microsoft Windows. Depending on how you use TDI, use either the Winsock Kernel (WSK) or Windows Filtering Platform (WFP). For more information about WFP and WSK, see Windows Filtering Platform and Winsock Kernel. For a Windows Core Networking blog entry about WSK and TDI, see Introduction to Winsock Kernel (WSK).

 

Requirements

Target platform

Desktop

Header

Tdikrnl.h (include TdiKrnl.h)

See also

TdiBuildAssociateAddress

TdiBuildDisconnect

TdiBuildInternalDeviceControlIrp

TDI_DISASSOCIATE_ADDRESS

 

 

Send comments about this topic to Microsoft