Uso dei trasporti TDI
Il sottosistema Winsock Kernel (WSK) fornisce supporto per l'uso dei trasporti TDI . Per usare i trasporti TDI tramite l'interfaccia NPI (Network Programming Interface) WSK, un'applicazione WSK deve eseguire il mapping della combinazione di famiglia di indirizzi, tipo di socket e protocollo per ognuno dei trasporti TDI usati per il nome del dispositivo associato di ognuno di questi trasporti TDI. Un'applicazione WSK esegue il mapping delle combinazioni di famiglie di indirizzi, tipo di socket e protocollo ai nomi dei dispositivi dei trasporti TDI usando l'operazione di controllo client WSK_TDI_DEVICENAME_MAPPING .
Nell'esempio di codice seguente viene illustrato come un'applicazione WSK può eseguire il mapping delle combinazioni di famiglie di indirizzi, tipo di socket e protocollo ai nomi dei dispositivi dei trasporti 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;
}
Un'applicazione WSK deve eseguire il mapping delle combinazioni di famiglie di indirizzi, tipo di socket e protocollo ai nomi dei dispositivi dei trasporti TDI prima di creare qualsiasi socket. Dopo che l'applicazione WSK ha eseguito correttamente il mapping delle combinazioni di famiglie di indirizzi, tipo di socket e protocollo ai nomi dei dispositivi dei trasporti TDI, l'applicazione può quindi creare nuovi socket che usano i trasporti TDI mappati.
Nota TDI non sarà supportato nelle versioni di Microsoft Windows dopo Windows Vista. Usare invece Windows Filtering Platform o Winsock Kernel .