home *** CD-ROM | disk | FTP | other *** search
- /* WS2SPI.H -- definitions to be used with the WinSock service provider.
- *
- * Copyright (c) 1997-1999 Microsoft Corporation
- *
- * This header file corresponds to version 2.2.x of the WinSock SPI
- * specification.
- *
- * This file includes parts which are Copyright (c) 1982-1986 Regents
- * of the University of California. All rights reserved. The
- * Berkeley Software License Agreement specifies the terms and
- * conditions for redistribution.
- */
-
- #ifndef _WINSOCK2SPI_
- #pragma option push -b -a8 -pc -A- /*P_O_Push*/
- #define _WINSOCK2SPI_
-
- #if _MSC_VER > 1000
- #pragma once
- #endif
-
- /*
- * Ensure structures are packed consistently.
- */
-
- #if !defined(_WIN64)
- #include <pshpack4.h>
- #endif
-
- /*
- * Pull in WINSOCK2.H if necessary
- */
-
- #ifndef _WINSOCK2API_
- #include <winsock2.h>
- #endif /* _WINSOCK2API_ */
-
- #define WSPDESCRIPTION_LEN 255
-
- #define WSS_OPERATION_IN_PROGRESS 0x00000103L
-
- typedef struct WSPData {
- WORD wVersion;
- WORD wHighVersion;
- WCHAR szDescription[WSPDESCRIPTION_LEN+1];
- } WSPDATA, FAR * LPWSPDATA;
-
- typedef struct _WSATHREADID {
- HANDLE ThreadHandle;
- DWORD_PTR Reserved;
- } WSATHREADID, FAR * LPWSATHREADID;
-
- /*
- * SPI function linkage.
- */
-
- #define WSPAPI WSAAPI
-
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /*
- * Pointer to a blocking callback. A pointer to a blocking callback is
- * returned from the WPUQueryBlockingCallback() upcall. Note that this
- * function's signature is not identical to an application's blocking
- * hook function.
- */
-
- typedef
- BOOL
- (CALLBACK FAR * LPBLOCKINGCALLBACK)(
- DWORD_PTR dwContext
- );
-
- /*
- * Pointer to a user APC function. This is used as a parameter to the
- * WPUQueueUserApc() upcall. Note that this function's signature is not
- * identical to an application's completion routine.
- */
-
- typedef
- VOID
- (CALLBACK FAR * LPWSAUSERAPC)(
- DWORD_PTR dwContext
- );
-
- /*
- * Pointers to the individual entries in a service provider's proc table.
- */
-
- typedef
- SOCKET
- (WSPAPI * LPWSPACCEPT)(
- SOCKET s,
- struct sockaddr FAR * addr,
- LPINT addrlen,
- LPCONDITIONPROC lpfnCondition,
- DWORD_PTR dwCallbackData,
- LPINT lpErrno
- );
-
- typedef
- INT
- (WSPAPI * LPWSPADDRESSTOSTRING)(
- LPSOCKADDR lpsaAddress,
- DWORD dwAddressLength,
- LPWSAPROTOCOL_INFOW lpProtocolInfo,
- LPWSTR lpszAddressString,
- LPDWORD lpdwAddressStringLength,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPASYNCSELECT)(
- SOCKET s,
- HWND hWnd,
- unsigned int wMsg,
- long lEvent,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPBIND)(
- SOCKET s,
- const struct sockaddr FAR * name,
- int namelen,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPCANCELBLOCKINGCALL)(
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPCLEANUP)(
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPCLOSESOCKET)(
- SOCKET s,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPCONNECT)(
- SOCKET s,
- const struct sockaddr FAR * name,
- int namelen,
- LPWSABUF lpCallerData,
- LPWSABUF lpCalleeData,
- LPQOS lpSQOS,
- LPQOS lpGQOS,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPDUPLICATESOCKET)(
- SOCKET s,
- DWORD dwProcessId,
- LPWSAPROTOCOL_INFOW lpProtocolInfo,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPENUMNETWORKEVENTS)(
- SOCKET s,
- WSAEVENT hEventObject,
- LPWSANETWORKEVENTS lpNetworkEvents,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPEVENTSELECT)(
- SOCKET s,
- WSAEVENT hEventObject,
- long lNetworkEvents,
- LPINT lpErrno
- );
-
- typedef
- BOOL
- (WSPAPI * LPWSPGETOVERLAPPEDRESULT)(
- SOCKET s,
- LPWSAOVERLAPPED lpOverlapped,
- LPDWORD lpcbTransfer,
- BOOL fWait,
- LPDWORD lpdwFlags,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPGETPEERNAME)(
- SOCKET s,
- struct sockaddr FAR * name,
- LPINT namelen,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPGETSOCKNAME)(
- SOCKET s,
- struct sockaddr FAR * name,
- LPINT namelen,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPGETSOCKOPT)(
- SOCKET s,
- int level,
- int optname,
- char FAR * optval,
- LPINT optlen,
- LPINT lpErrno
- );
-
- typedef
- BOOL
- (WSPAPI * LPWSPGETQOSBYNAME)(
- SOCKET s,
- LPWSABUF lpQOSName,
- LPQOS lpQOS,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPIOCTL)(
- SOCKET s,
- DWORD dwIoControlCode,
- LPVOID lpvInBuffer,
- DWORD cbInBuffer,
- LPVOID lpvOutBuffer,
- DWORD cbOutBuffer,
- LPDWORD lpcbBytesReturned,
- LPWSAOVERLAPPED lpOverlapped,
- LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- LPWSATHREADID lpThreadId,
- LPINT lpErrno
- );
-
- typedef
- SOCKET
- (WSPAPI * LPWSPJOINLEAF)(
- SOCKET s,
- const struct sockaddr FAR * name,
- int namelen,
- LPWSABUF lpCallerData,
- LPWSABUF lpCalleeData,
- LPQOS lpSQOS,
- LPQOS lpGQOS,
- DWORD dwFlags,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPLISTEN)(
- SOCKET s,
- int backlog,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPRECV)(
- SOCKET s,
- LPWSABUF lpBuffers,
- DWORD dwBufferCount,
- LPDWORD lpNumberOfBytesRecvd,
- LPDWORD lpFlags,
- LPWSAOVERLAPPED lpOverlapped,
- LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- LPWSATHREADID lpThreadId,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPRECVDISCONNECT)(
- SOCKET s,
- LPWSABUF lpInboundDisconnectData,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPRECVFROM)(
- SOCKET s,
- LPWSABUF lpBuffers,
- DWORD dwBufferCount,
- LPDWORD lpNumberOfBytesRecvd,
- LPDWORD lpFlags,
- struct sockaddr FAR * lpFrom,
- LPINT lpFromlen,
- LPWSAOVERLAPPED lpOverlapped,
- LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- LPWSATHREADID lpThreadId,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPSELECT)(
- int nfds,
- fd_set FAR * readfds,
- fd_set FAR * writefds,
- fd_set FAR * exceptfds,
- const struct timeval FAR * timeout,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPSEND)(
- SOCKET s,
- LPWSABUF lpBuffers,
- DWORD dwBufferCount,
- LPDWORD lpNumberOfBytesSent,
- DWORD dwFlags,
- LPWSAOVERLAPPED lpOverlapped,
- LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- LPWSATHREADID lpThreadId,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPSENDDISCONNECT)(
- SOCKET s,
- LPWSABUF lpOutboundDisconnectData,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPSENDTO)(
- SOCKET s,
- LPWSABUF lpBuffers,
- DWORD dwBufferCount,
- LPDWORD lpNumberOfBytesSent,
- DWORD dwFlags,
- const struct sockaddr FAR * lpTo,
- int iTolen,
- LPWSAOVERLAPPED lpOverlapped,
- LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- LPWSATHREADID lpThreadId,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPSETSOCKOPT)(
- SOCKET s,
- int level,
- int optname,
- const char FAR * optval,
- int optlen,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSPSHUTDOWN)(
- SOCKET s,
- int how,
- LPINT lpErrno
- );
-
- typedef
- SOCKET
- (WSPAPI * LPWSPSOCKET)(
- int af,
- int type,
- int protocol,
- LPWSAPROTOCOL_INFOW lpProtocolInfo,
- GROUP g,
- DWORD dwFlags,
- LPINT lpErrno
- );
-
- typedef
- INT
- (WSPAPI * LPWSPSTRINGTOADDRESS)(
- LPWSTR AddressString,
- INT AddressFamily,
- LPWSAPROTOCOL_INFOW lpProtocolInfo,
- LPSOCKADDR lpAddress,
- LPINT lpAddressLength,
- LPINT lpErrno
- );
-
- /*
- * A service provider proc table. This structure is returned by value
- * from the service provider's WSPStartup() entrypoint.
- */
-
- typedef struct _WSPPROC_TABLE {
-
- LPWSPACCEPT lpWSPAccept;
- LPWSPADDRESSTOSTRING lpWSPAddressToString;
- LPWSPASYNCSELECT lpWSPAsyncSelect;
- LPWSPBIND lpWSPBind;
- LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall;
- LPWSPCLEANUP lpWSPCleanup;
- LPWSPCLOSESOCKET lpWSPCloseSocket;
- LPWSPCONNECT lpWSPConnect;
- LPWSPDUPLICATESOCKET lpWSPDuplicateSocket;
- LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents;
- LPWSPEVENTSELECT lpWSPEventSelect;
- LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult;
- LPWSPGETPEERNAME lpWSPGetPeerName;
- LPWSPGETSOCKNAME lpWSPGetSockName;
- LPWSPGETSOCKOPT lpWSPGetSockOpt;
- LPWSPGETQOSBYNAME lpWSPGetQOSByName;
- LPWSPIOCTL lpWSPIoctl;
- LPWSPJOINLEAF lpWSPJoinLeaf;
- LPWSPLISTEN lpWSPListen;
- LPWSPRECV lpWSPRecv;
- LPWSPRECVDISCONNECT lpWSPRecvDisconnect;
- LPWSPRECVFROM lpWSPRecvFrom;
- LPWSPSELECT lpWSPSelect;
- LPWSPSEND lpWSPSend;
- LPWSPSENDDISCONNECT lpWSPSendDisconnect;
- LPWSPSENDTO lpWSPSendTo;
- LPWSPSETSOCKOPT lpWSPSetSockOpt;
- LPWSPSHUTDOWN lpWSPShutdown;
- LPWSPSOCKET lpWSPSocket;
- LPWSPSTRINGTOADDRESS lpWSPStringToAddress;
-
- } WSPPROC_TABLE, FAR * LPWSPPROC_TABLE;
-
- /*
- * Pointers to the individual entries in the upcall table.
- */
-
- typedef
- BOOL
- (WSPAPI * LPWPUCLOSEEVENT)(
- WSAEVENT hEvent,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWPUCLOSESOCKETHANDLE)(
- SOCKET s,
- LPINT lpErrno
- );
-
- typedef
- WSAEVENT
- (WSPAPI * LPWPUCREATEEVENT)(
- LPINT lpErrno
- );
-
- typedef
- SOCKET
- (WSPAPI * LPWPUCREATESOCKETHANDLE)(
- DWORD dwCatalogEntryId,
- DWORD_PTR dwContext,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWPUFDISSET)(
- SOCKET s,
- fd_set FAR * fdset
- );
-
- typedef
- int
- (WSPAPI * LPWPUGETPROVIDERPATH)(
- LPGUID lpProviderId,
- WCHAR FAR * lpszProviderDllPath,
- LPINT lpProviderDllPathLen,
- LPINT lpErrno
- );
-
- typedef
- SOCKET
- (WSPAPI * LPWPUMODIFYIFSHANDLE)(
- DWORD dwCatalogEntryId,
- SOCKET ProposedHandle,
- LPINT lpErrno
- );
-
- typedef
- BOOL
- (WSPAPI * LPWPUPOSTMESSAGE)(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam
- );
-
- typedef
- int
- (WSPAPI * LPWPUQUERYBLOCKINGCALLBACK)(
- DWORD dwCatalogEntryId,
- LPBLOCKINGCALLBACK FAR * lplpfnCallback,
- PDWORD_PTR lpdwContext,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWPUQUERYSOCKETHANDLECONTEXT)(
- SOCKET s,
- PDWORD_PTR lpContext,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWPUQUEUEAPC)(
- LPWSATHREADID lpThreadId,
- LPWSAUSERAPC lpfnUserApc,
- DWORD_PTR dwContext,
- LPINT lpErrno
- );
-
- typedef
- BOOL
- (WSPAPI * LPWPURESETEVENT)(
- WSAEVENT hEvent,
- LPINT lpErrno
- );
-
- typedef
- BOOL
- (WSPAPI * LPWPUSETEVENT)(
- WSAEVENT hEvent,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWPUOPENCURRENTTHREAD)(
- LPWSATHREADID lpThreadId,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWPUCLOSETHREAD)(
- LPWSATHREADID lpThreadId,
- LPINT lpErrno
- );
-
-
- // Available only directly from ws2_32.dll
- typedef
- int
- (WSPAPI * LPWPUCOMPLETEOVERLAPPEDREQUEST) (
- IN SOCKET s,
- LPWSAOVERLAPPED lpOverlapped,
- DWORD dwError,
- DWORD cbTransferred,
- LPINT lpErrno
- );
-
- /*
- * The upcall table. This structure is passed by value to the service
- * provider's WSPStartup() entrypoint.
- */
-
- typedef struct _WSPUPCALLTABLE {
-
- LPWPUCLOSEEVENT lpWPUCloseEvent;
- LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
- LPWPUCREATEEVENT lpWPUCreateEvent;
- LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
- LPWPUFDISSET lpWPUFDIsSet;
- LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
- LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
- LPWPUPOSTMESSAGE lpWPUPostMessage;
- LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
- LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
- LPWPUQUEUEAPC lpWPUQueueApc;
- LPWPURESETEVENT lpWPUResetEvent;
- LPWPUSETEVENT lpWPUSetEvent;
- LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
- LPWPUCLOSETHREAD lpWPUCloseThread;
-
- } WSPUPCALLTABLE, FAR * LPWSPUPCALLTABLE;
-
- /*
- * WinSock 2 SPI socket function prototypes
- */
-
- int
- WSPAPI
- WSPStartup(
- IN WORD wVersionRequested,
- OUT LPWSPDATA lpWSPData,
- IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
- IN WSPUPCALLTABLE UpcallTable,
- OUT LPWSPPROC_TABLE lpProcTable
- );
-
- typedef
- int
- (WSPAPI * LPWSPSTARTUP)(
- WORD wVersionRequested,
- LPWSPDATA lpWSPData,
- LPWSAPROTOCOL_INFOW lpProtocolInfo,
- WSPUPCALLTABLE UpcallTable,
- LPWSPPROC_TABLE lpProcTable
- );
-
- /*
- * Installation and configuration entrypoints.
- */
-
- int
- WSPAPI
- WSCEnumProtocols(
- IN LPINT lpiProtocols,
- OUT LPWSAPROTOCOL_INFOW lpProtocolBuffer,
- IN OUT LPDWORD lpdwBufferLength,
- OUT LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSCENUMPROTOCOLS)(
- LPINT lpiProtocols,
- LPWSAPROTOCOL_INFOW lpProtocolBuffer,
- LPDWORD lpdwBufferLength,
- LPINT lpErrno
- );
-
- int
- WSPAPI
- WSCDeinstallProvider(
- IN LPGUID lpProviderId,
- OUT LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSCDEINSTALLPROVIDER)(
- LPGUID lpProviderId,
- LPINT lpErrno
- );
-
- int
- WSPAPI
- WSCInstallProvider(
- IN LPGUID lpProviderId,
- IN const WCHAR FAR * lpszProviderDllPath,
- IN const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
- IN DWORD dwNumberOfEntries,
- OUT LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSCINSTALLPROVIDER)(
- LPGUID lpProviderId,
- const WCHAR FAR * lpszProviderDllPath,
- const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
- DWORD dwNumberOfEntries,
- LPINT lpErrno
- );
-
- int
- WSPAPI
- WSCGetProviderPath(
- IN LPGUID lpProviderId,
- OUT WCHAR FAR * lpszProviderDllPath,
- IN OUT LPINT lpProviderDllPathLen,
- OUT LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSCGETPROVIDERPATH)(
- LPGUID lpProviderId,
- WCHAR FAR * lpszProviderDllPath,
- LPINT lpProviderDllPathLen,
- LPINT lpErrno
- );
-
- int
- WSPAPI
- WSCInstallQOSTemplate (
- IN const LPGUID Guid,
- IN LPWSABUF QosName,
- IN LPQOS Qos
- );
-
- typedef
- int
- (WSPAPI * LPWSCINSTALLQOSTEMPLATE)(
- const LPGUID Guid,
- LPWSABUF QosName,
- LPQOS Qos
- );
-
- int
- WSPAPI
- WSCRemoveQOSTemplate (
- IN const LPGUID Guid,
- IN LPWSABUF QosName
- );
-
- typedef
- int
- (WSPAPI * LPWSCREMOVEQOSTEMPLATE)(
- const LPGUID Guid,
- LPWSABUF QosName
- );
-
- /*
- * The following upcall function prototypes are only used by WinSock 2 DLL and
- * should not be used by any service providers.
- */
-
- BOOL
- WSPAPI
- WPUCloseEvent(
- IN WSAEVENT hEvent,
- OUT LPINT lpErrno
- );
-
- int
- WSPAPI
- WPUCloseSocketHandle(
- IN SOCKET s,
- OUT LPINT lpErrno
- );
-
- WSAEVENT
- WSPAPI
- WPUCreateEvent(
- OUT LPINT lpErrno
- );
-
- SOCKET
- WSPAPI
- WPUCreateSocketHandle(
- IN DWORD dwCatalogEntryId,
- IN DWORD_PTR dwContext,
- OUT LPINT lpErrno
- );
-
- int
- WSPAPI
- WPUFDIsSet(
- IN SOCKET s,
- IN fd_set FAR * fdset
- );
-
- int
- WSPAPI
- WPUGetProviderPath(
- IN LPGUID lpProviderId,
- OUT WCHAR FAR * lpszProviderDllPath,
- IN OUT LPINT lpProviderDllPathLen,
- OUT LPINT lpErrno
- );
-
- SOCKET
- WSPAPI
- WPUModifyIFSHandle(
- IN DWORD dwCatalogEntryId,
- IN SOCKET ProposedHandle,
- OUT LPINT lpErrno
- );
-
- BOOL
- WSPAPI
- WPUPostMessage(
- IN HWND hWnd,
- IN UINT Msg,
- IN WPARAM wParam,
- IN LPARAM lParam
- );
-
- int
- WSPAPI
- WPUQueryBlockingCallback(
- IN DWORD dwCatalogEntryId,
- OUT LPBLOCKINGCALLBACK FAR * lplpfnCallback,
- OUT PDWORD_PTR lpdwContext,
- OUT LPINT lpErrno
- );
-
- int
- WSPAPI
- WPUQuerySocketHandleContext(
- IN SOCKET s,
- OUT PDWORD_PTR lpContext,
- OUT LPINT lpErrno
- );
-
- int
- WSPAPI
- WPUQueueApc(
- IN LPWSATHREADID lpThreadId,
- IN LPWSAUSERAPC lpfnUserApc,
- IN DWORD_PTR dwContext,
- OUT LPINT lpErrno
- );
-
- BOOL
- WSPAPI
- WPUResetEvent(
- IN WSAEVENT hEvent,
- OUT LPINT lpErrno
- );
-
- BOOL
- WSPAPI
- WPUSetEvent(
- IN WSAEVENT hEvent,
- OUT LPINT lpErrno
- );
-
- int
- WSPAPI
- WPUCompleteOverlappedRequest (
- SOCKET s,
- LPWSAOVERLAPPED lpOverlapped,
- DWORD dwError,
- DWORD cbTransferred,
- LPINT lpErrno
- );
-
- /*
- * Installing and uninstalling name space providers.
- */
-
- INT
- WSPAPI
- WSCInstallNameSpace (
- IN LPWSTR lpszIdentifier,
- IN LPWSTR lpszPathName,
- IN DWORD dwNameSpace,
- IN DWORD dwVersion,
- IN LPGUID lpProviderId
- );
-
- typedef
- INT
- (WSPAPI * LPWSCINSTALLNAMESPACE)(
- LPWSTR lpszIdentifier,
- LPWSTR lpszPathName,
- DWORD dwNameSpace,
- DWORD dwVersion,
- LPGUID lpProviderId
- );
-
- INT
- WSPAPI
- WSCUnInstallNameSpace (
- IN LPGUID lpProviderId
- );
-
- typedef
- INT
- (WSPAPI * LPWSCUNINSTALLNAMESPACE)(
- LPGUID lpProviderId
- );
-
- INT
- WSPAPI
- WSCEnableNSProvider (
- IN LPGUID lpProviderId,
- IN BOOL fEnable
- );
-
- typedef
- INT
- (WSPAPI * LPWSCENABLENSPROVIDER)(
- LPGUID lpProviderId,
- BOOL fEnable
- );
-
- /*
- * Pointers to the individual entries in the namespace proc table.
- */
-
- typedef
- INT
- (WSAAPI * LPNSPCLEANUP)(
- LPGUID lpProviderId
- );
-
- typedef
- INT
- (WSAAPI * LPNSPLOOKUPSERVICEBEGIN)(
- LPGUID lpProviderId,
- LPWSAQUERYSETW lpqsRestrictions,
- LPWSASERVICECLASSINFOW lpServiceClassInfo,
- DWORD dwControlFlags,
- LPHANDLE lphLookup
- );
-
- typedef
- INT
- (WSAAPI * LPNSPLOOKUPSERVICENEXT)(
- HANDLE hLookup,
- DWORD dwControlFlags,
- LPDWORD lpdwBufferLength,
- LPWSAQUERYSETW lpqsResults
- );
-
- typedef
- INT
- (WSAAPI * LPNSPLOOKUPSERVICEEND)(
- HANDLE hLookup
- );
-
- typedef
- INT
- (WSAAPI * LPNSPSETSERVICE)(
- LPGUID lpProviderId,
- LPWSASERVICECLASSINFOW lpServiceClassInfo,
- LPWSAQUERYSETW lpqsRegInfo,
- WSAESETSERVICEOP essOperation,
- DWORD dwControlFlags
- );
-
- typedef
- INT
- (WSAAPI * LPNSPINSTALLSERVICECLASS)(
- LPGUID lpProviderId,
- LPWSASERVICECLASSINFOW lpServiceClassInfo
- );
-
- typedef
- INT
- (WSAAPI * LPNSPREMOVESERVICECLASS)(
- LPGUID lpProviderId,
- LPGUID lpServiceClassId
- );
-
- typedef
- INT
- (WSAAPI * LPNSPGETSERVICECLASSINFO)(
- LPGUID lpProviderId,
- LPDWORD lpdwBufSize,
- LPWSASERVICECLASSINFOW lpServiceClassInfo
- );
-
- /*
- * The name space service provider procedure table.
- */
-
- typedef struct _NSP_ROUTINE {
-
- /* Structure version information: */
- DWORD cbSize;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
-
- /* Procedure-pointer table: */
-
- LPNSPCLEANUP NSPCleanup;
- LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
- LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
- LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
- LPNSPSETSERVICE NSPSetService;
- LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
- LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
- LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
-
- } NSP_ROUTINE, FAR * LPNSP_ROUTINE;
-
- /*
- * Startup procedures.
- */
-
- INT
- WSAAPI
- NSPStartup(
- LPGUID lpProviderId,
- LPNSP_ROUTINE lpnspRoutines
- );
-
- typedef
- INT
- (WSAAPI * LPNSPSTARTUP)(
- LPGUID lpProviderId,
- LPNSP_ROUTINE lpnspRoutines
- );
-
-
- #ifdef __cplusplus
- }
- #endif
-
- #if !defined(_WIN64)
- #include <poppack.h>
- #endif
-
- #pragma option pop /*P_O_Pop*/
- #endif /* _WINSOCK2SPI_ */
-
-