WSK_PROVIDER_DISPATCH 结构 (wsk.h)

WSK_PROVIDER_DISPATCH 结构指定 WSK 子系统的调度表,这些函数不特定于特定套接字。

语法

typedef struct _WSK_PROVIDER_DISPATCH {
  USHORT                    Version;
  USHORT                    Reserved;
  PFN_WSK_SOCKET            WskSocket;
  PFN_WSK_SOCKET_CONNECT    WskSocketConnect;
  PFN_WSK_CONTROL_CLIENT    WskControlClient;
  PFN_WSK_GET_ADDRESS_INFO  WskGetAddressInfo;
  PFN_WSK_FREE_ADDRESS_INFO WskFreeAddressInfo;
  PFN_WSK_GET_NAME_INFO     WskGetNameInfo;
} WSK_PROVIDER_DISPATCH, *PWSK_PROVIDER_DISPATCH;

成员

Version

WSK 网络编程接口的版本 (NPI) WSK 子系统将用于附加到 WSK 应用程序。

Reserved

预留给系统使用。

WskSocket

指向 WSK 子系统的 WskSocket 函数的指针。

WskSocketConnect

指向 WSK 子系统的 WskSocketConnect 函数的 指针。

WskControlClient

指向 WSK 子系统的 WskControlClient 函数的指针。

WskGetAddressInfo

指向 WSK 子系统的 WskGetAddressInfo 函数的 指针。

此成员从 Windows 7 开始可用。

WskFreeAddressInfo

指向 WSK 子系统的 WskFreeAddressInfo 函数的 指针。

此成员从 Windows 7 开始可用。

WskGetNameInfo

指向 WSK 子系统的 WskGetNameInfo 函数的指针。

此成员从 Windows 7 开始可用。

注解

当 WSK 应用程序调用 WskCaptureProviderNPI 函数时,WSK 子系统通过 WskProviderNpi 参数指向的 WSK_CLIENT_NPI 结构的 Dispatch 成员返回指向 WSK_PROVIDER_DISPATCH 结构的指针。

Version 成员中包含的主版本号和次版本号使用 MAKE_WSK_VERSION 宏进行编码:

Version = MAKE_WSK_VERSION(Major,Minor);

可以使用 WSK_MAJOR_VERSION 和 WSK_MINOR_VERSION 宏从 Version 成员中提取主版本号和次要版本号:

Major = WSK_MAJOR_VERSION(Version);
Minor = WSK_MINOR_VERSION(Version);

此结构的 Version 成员中包含的次要版本号可能高于 WSK 应用程序在 WSK_CLIENT_DISPATCH 结构的 Version 成员中请求的次要版本号。 这种情况不会给 WSK 应用程序带来问题,因为 WSK NPI 的较高次要版本是较低次要版本的 WSK NPI 的严格超集(如果它们具有相同的主版本号)。 WSK 子系统将指定WSK_PROVIDER_DISPATCH结构的其余成员,以符合结构的 Version 成员中 指示的 WSK NPI 的版本。

有关将 WSK 应用程序附加到 WSK 子系统的详细信息,请参阅 注册 Winsock 内核应用程序

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
标头 wsk.h (包括 Wsk.h)

另请参阅

WSK_CLIENT_DISPATCH

WSK_CLIENT_NPI

WskCaptureProviderNPI

WskControlClient

WskSocket

WskSocketConnect