Delen via


TDI-transporten gebruiken

Het Winsock Kernel-subsysteem (WSK) biedt ondersteuning voor het gebruik van TDI-transporten . Voor het gebruik van TDI-transporten via de WSK Network Programming Interface (NPI) moet een WSK-toepassing de combinatie van adresfamilie, sockettype en protocol voor elk van de TDI-transporten die worden gebruikt, toewijzen aan de bijbehorende apparaatnaam van die TDI-transporten. Een WSK-toepassing wijst combinaties van adresfamilie, sockettype en protocol toe aan apparaatnamen van TDI-transporten met behulp van de WSK_TDI_DEVICENAME_MAPPING clientbesturingsbewerking.

In het volgende codevoorbeeld ziet u hoe een WSK-toepassing combinaties van adresfamilie, sockettype en protocol kan toewijzen aan apparaatnamen van TDI-transporten.

// 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;
}

Een WSK-toepassing moet combinaties van adresfamilie, sockettype en protocol toewijzen aan apparaatnamen van TDI-transporten voordat er sockets worden gemaakt. Nadat de WSK-toepassing de combinaties van adresfamilie, sockettype en protocol heeft toegewezen aan apparaatnamen van TDI-transporten, kan de toepassing vervolgens nieuwe sockets maken die gebruikmaken van de toegewezen TDI-transporten.

Opmerking TDI wordt niet ondersteund in Microsoft Windows-versies na Windows Vista. Gebruik in plaats daarvan Windows Filtering Platform of Winsock Kernel.