Partager via


Utilisation des transports TDI

Le sous-système WSK (Winsock Kernel) prend en charge l’utilisation des transports TDI . Pour utiliser les transports TDI via l’interface de programmation réseau (NPI) WSK, une application WSK doit mapper la combinaison de la famille d’adresses, du type de socket et du protocole pour chacun des transports TDI qu’elle utilise au nom d’appareil associé de chacun de ces transports TDI. Une application WSK mappe des combinaisons de famille d’adresses, de type de socket et de protocole aux noms d’appareils des transports TDI à l’aide de l’opération de contrôle client WSK_TDI_DEVICENAME_MAPPING .

L’exemple de code suivant montre comment une application WSK peut mapper des combinaisons de famille d’adresses, de type de socket et de protocole aux noms d’appareils des transports TDI.

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

Une application WSK doit mapper des combinaisons de famille d’adresses, de type de socket et de protocole aux noms d’appareils des transports TDI avant de créer des sockets. Une fois que l’application WSK a correctement mappé les combinaisons de famille d’adresses, de type de socket et de protocole aux noms d’appareils des transports TDI, l’application peut créer de nouveaux sockets qui utilisent les transports TDI mappés.

Note TDI ne sera pas pris en charge dans les versions de Microsoft Windows après Windows Vista. Utilisez la plateforme de filtrage Windows ou le noyau Winsock à la place.