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 .