Compartir a través de


Uso de transportes TDI

El subsistema Winsock Kernel (WSK) proporciona compatibilidad con el uso de transportes TDI . Para usar transportes TDI a través de la Interfaz de programación de red (NPI) de WSK, una aplicación WSK debe asignar la combinación de familia de direcciones, tipo de socket y protocolo para cada uno de los transportes TDI que usa al nombre de dispositivo asociado de cada uno de esos transportes TDI. Una aplicación WSK asigna combinaciones de familia de direcciones, tipo de socket y protocolo a los nombres de dispositivo de transportes TDI mediante la operación de control de cliente de WSK_TDI_DEVICENAME_MAPPING .

En el ejemplo de código siguiente se muestra cómo una aplicación WSK puede asignar combinaciones de familia de direcciones, tipo de socket y protocolo a los nombres de dispositivo de los transportes 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;
}

Una aplicación WSK debe asignar combinaciones de familia de direcciones, tipo de socket y protocolo a los nombres de dispositivo de los transportes TDI antes de crear los sockets. Una vez que la aplicación WSK ha asignado correctamente las combinaciones de la familia de direcciones, el tipo de socket y el protocolo a los nombres de dispositivo de los transportes TDI, la aplicación puede crear nuevos sockets que usen los transportes TDI asignados.

Nota TDI no se admitirá en las versiones de Microsoft Windows después de Windows Vista. Use windows Filtering Platform o Winsock Kernel en su lugar.