home *** CD-ROM | disk | FTP | other *** search
- /* WS2SPI.H -- definitions to be used with the WinSock service provider.
- *
- * 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_
- #define _WINSOCK2SPI_
-
- /*
- * Ensure structures are packed consistently.
- */
-
- #include <pshpack4.h>
-
- /*
- * Pull in WINSOCK2.H if necessary
- */
-
- #ifndef _WINSOCK2API_
- #include <winsock2.h>
- #endif /* _WINSOCK2API_ */
-
- #define WSPDESCRIPTION_LEN 255
-
- typedef struct WSPData {
- WORD wVersion;
- WORD wHighVersion;
- WCHAR szDescription[WSPDESCRIPTION_LEN+1];
- } WSPDATA, FAR * LPWSPDATA;
-
- typedef struct _WSATHREADID {
- HANDLE ThreadHandle;
- DWORD 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 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 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 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 dwContext,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWPUFDISSET)(
- SOCKET s,
- fd_set FAR * set
- );
-
- 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,
- LPDWORD lpdwContext,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWPUQUERYSOCKETHANDLECONTEXT)(
- SOCKET s,
- LPDWORD lpContext,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWPUQUEUEAPC)(
- LPWSATHREADID lpThreadId,
- LPWSAUSERAPC lpfnUserApc,
- DWORD 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
- );
-
- /*
- * 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(
- WORD wVersionRequested,
- LPWSPDATA lpWSPData,
- LPWSAPROTOCOL_INFOW lpProtocolInfo,
- WSPUPCALLTABLE UpcallTable,
- 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(
- LPINT lpiProtocols,
- LPWSAPROTOCOL_INFOW lpProtocolBuffer,
- LPDWORD lpdwBufferLength,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSCENUMPROTOCOLS)(
- LPINT lpiProtocols,
- LPWSAPROTOCOL_INFOW lpProtocolBuffer,
- LPDWORD lpdwBufferLength,
- LPINT lpErrno
- );
-
- int
- WSPAPI
- WSCDeinstallProvider(
- LPGUID lpProviderId,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSCDEINSTALLPROVIDER)(
- LPGUID lpProviderId,
- LPINT lpErrno
- );
-
- int
- WSPAPI
- WSCInstallProvider(
- LPGUID lpProviderId,
- const WCHAR FAR * lpszProviderDllPath,
- const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
- DWORD dwNumberOfEntries,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSCINSTALLPROVIDER)(
- LPGUID lpProviderId,
- const WCHAR FAR * lpszProviderDllPath,
- const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
- DWORD dwNumberOfEntries,
- LPINT lpErrno
- );
-
- int
- WSPAPI
- WSCGetProviderPath(
- LPGUID lpProviderId,
- WCHAR FAR * lpszProviderDllPath,
- LPINT lpProviderDllPathLen,
- LPINT lpErrno
- );
-
- typedef
- int
- (WSPAPI * LPWSCGETPROVIDERPATH)(
- LPGUID lpProviderId,
- WCHAR FAR * lpszProviderDllPath,
- LPINT lpProviderDllPathLen,
- LPINT lpErrno
- );
-
- /*
- * The following upcall function prototypes are only used by WinSock 2 DLL and
- * should not be used by any service providers.
- */
-
- BOOL
- WSPAPI
- WPUCloseEvent(
- WSAEVENT hEvent,
- LPINT lpErrno
- );
-
- int
- WSPAPI
- WPUCloseSocketHandle(
- SOCKET s,
- LPINT lpErrno
- );
-
- WSAEVENT
- WSPAPI
- WPUCreateEvent(
- LPINT lpErrno
- );
-
- SOCKET
- WSPAPI
- WPUCreateSocketHandle(
- DWORD dwCatalogEntryId,
- DWORD dwContext,
- LPINT lpErrno
- );
-
- int
- WSPAPI
- WPUFDIsSet(
- SOCKET s,
- fd_set FAR * set
- );
-
- int
- WSPAPI
- WPUGetProviderPath(
- LPGUID lpProviderId,
- WCHAR FAR * lpszProviderDllPath,
- LPINT lpProviderDllPathLen,
- LPINT lpErrno
- );
-
- SOCKET
- WSPAPI
- WPUModifyIFSHandle(
- DWORD dwCatalogEntryId,
- SOCKET ProposedHandle,
- LPINT lpErrno
- );
-
- BOOL
- WSPAPI
- WPUPostMessage(
- HWND hWnd,
- UINT Msg,
- WPARAM wParam,
- LPARAM lParam
- );
-
- int
- WSPAPI
- WPUQueryBlockingCallback(
- DWORD dwCatalogEntryId,
- LPBLOCKINGCALLBACK FAR * lplpfnCallback,
- LPDWORD lpdwContext,
- LPINT lpErrno
- );
-
- int
- WSPAPI
- WPUQuerySocketHandleContext(
- SOCKET s,
- LPDWORD lpContext,
- LPINT lpErrno
- );
-
- int
- WSPAPI
- WPUQueueApc(
- LPWSATHREADID lpThreadId,
- LPWSAUSERAPC lpfnUserApc,
- DWORD dwContext,
- LPINT lpErrno
- );
-
- BOOL
- WSPAPI
- WPUResetEvent(
- WSAEVENT hEvent,
- LPINT lpErrno
- );
-
- BOOL
- WSPAPI
- WPUSetEvent(
- WSAEVENT hEvent,
- LPINT lpErrno
- );
-
- /*
- * Installing and uninstalling name space providers.
- */
-
- INT
- WSPAPI
- WSCInstallNameSpace (
- LPWSTR lpszIdentifier,
- LPWSTR lpszPathName,
- DWORD dwNameSpace,
- DWORD dwVersion,
- LPGUID lpProviderId
- );
-
- typedef
- INT
- (WSPAPI * LPWSCINSTALLNAMESPACE)(
- LPWSTR lpszIdentifier,
- LPWSTR lpszPathName,
- DWORD dwNameSpace,
- DWORD dwVersion,
- LPGUID lpProviderId
- );
-
- INT
- WSPAPI
- WSCUnInstallNameSpace (
- LPGUID lpProviderId
- );
-
- typedef
- INT
- (WSPAPI * LPWSCUNINSTALLNAMESPACE)(
- LPGUID lpProviderId
- );
-
- INT
- WSPAPI
- WSCEnableNSProvider (
- LPGUID lpProviderId,
- 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
-
-
- #include <poppack.h>
-
-
- #endif /* _WINSOCK2SPI_ */
-
-