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结构的指针。
版本 成员中包含的主要版本号和次要版本号使用 MAKE_WSK_VERSION 宏进行编码:
Version = MAKE_WSK_VERSION(Major,Minor);
可以使用WSK_MAJOR_VERSION和WSK_MINOR_VERSION宏从 版本 成员中提取主要版本号和次要版本号:
Major = WSK_MAJOR_VERSION(Version);
Minor = WSK_MINOR_VERSION(Version);
此结构的 版本 成员中包含的次要版本号可能比 WSK_CLIENT_DISPATCH 结构的 版本 成员中的 WSK 应用程序请求的版本号要高。 这种情况不应导致 WSK 应用程序出现问题,因为 WSK NPI 的次要版本较高是 WSK NPI 次要版本的严格超集(如果它们具有相同的主要版本号)。 WSK 子系统将指定WSK_PROVIDER_DISPATCH结构的其余成员,以符合 版本 结构成员中指示的 WSK NPI 版本。
有关将 WSK 应用程序附加到 WSK 子系统的详细信息,请参阅 注册 Winsock 内核应用程序。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows Vista 和更高版本的 Windows作系统中可用。 |
标头 | wsk.h (包括 Wsk.h) |