Freigeben über


Verwenden von TDI-Transporten

Das Winsock Kernel-Subsystem (WSK) bietet Unterstützung für die Verwendung von TDI-Transporten . Um TDI-Transporte über die WSK Network Programming Interface (NPI) verwenden zu können, muss eine WSK-Anwendung die Kombination aus Adressfamilie, Sockettyp und Protokoll für jeden der verwendeten TDI-Transporte dem zugehörigen Gerätenamen jedes dieser TDI-Transporte zuordnen. Eine WSK-Anwendung ordnet Mithilfe des WSK_TDI_DEVICENAME_MAPPING Clientsteuerungsvorgangs Kombinationen aus Adressfamilie, Sockettyp und Protokoll zu Gerätenamen von TDI-Transporten zu.

Das folgende Codebeispiel zeigt, wie eine WSK-Anwendung Kombinationen aus Adressfamilie, Sockettyp und Protokoll zu Gerätenamen von TDI-Transporten zuordnen kann.

// Number of TDI mappings
#define MAPCOUNT 2

// Array of TDI mappings
const WSK_TDI_MAP TdiMap[MAPCOUNT] =
{
  {SOCK_STREAM, ..., ..., ...},
  {SOCK_DGRAM, ..., ..., ...}
};

// TDI map info structure
const WSK_TDI_MAP_INFO TdiMapInfo =
{
  MAPCOUNT,
  TdiMap
}

// Function to set the TDI map
NTSTATUS
  SetTdiMap(
    PWSK_APP_BINDING_CONTEXT BindingContext
  )
{
  NTSTATUS Status;

  // Perform client control operation
  Status =
    BindingContext->
      WskProviderDispatch->
        WskControlClient(
          BindingContext->WskClient,
          WSK_TDI_DEVICENAME_MAPPING,
          sizeof(WSK_TDI_MAP_INFO),
          &TdiMapInfo,
          0,
          NULL,
          NULL,
          NULL  // No IRP for this control operation
          );

  // Return status of client control operation
  return Status;
}

Eine WSK-Anwendung muss Kombinationen aus Adressfamilie, Sockettyp und Protokoll zu Gerätenamen von TDI-Transporten zuordnen, bevor Sockets erstellt werden. Nachdem die WSK-Anwendung die Kombinationen aus Adressfamilie, Sockettyp und Protokoll den Gerätenamen von TDI-Transporten erfolgreich zugeordnet hat, kann die Anwendung neue Sockets erstellen, die die zugeordneten TDI-Transporte verwenden.

Hinweis TDI wird in Microsoft Windows-Versionen nach Windows Vista nicht mehr unterstützt. Verwenden Sie stattdessen die Windows-Filterplattform oder den Winsock-Kernel .