123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690 |
- /*++
- Copyright (c) 1991-1998 Microsoft Corporation
- Module Name:
- nspapi.h
- Abstract:
- Name Space Provider API prototypes and manifests. See the
- "Windows NT NameSpace Provider Specification" document for
- details.
- Environment:
- User Mode -Win32
- Notes:
- You must include "basetyps.h" first. Some types should
- use definitions from base files rather than redefine here.
- Unfortunately, so such base file exists.
- --*/
- #ifndef _NSPAPI_INCLUDED
- #define _NSPAPI_INCLUDED
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
- #ifndef _tagBLOB_DEFINED
- #define _tagBLOB_DEFINED
- #define _BLOB_DEFINED
- #define _LPBLOB_DEFINED
- typedef struct _BLOB {
- ULONG cbSize ;
- #ifdef MIDL_PASS
- [size_is(cbSize)] BYTE *pBlobData;
- #else // MIDL_PASS
- BYTE *pBlobData ;
- #endif // MIDL_PASS
- } BLOB, *LPBLOB ;
- #endif
- #ifndef GUID_DEFINED
- #define GUID_DEFINED
- typedef struct _GUID
- {
- unsigned long Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[8];
- } GUID;
- #endif /* GUID_DEFINED */
- #ifndef __LPGUID_DEFINED__
- #define __LPGUID_DEFINED__
- typedef GUID *LPGUID;
- #endif
- //
- // Service categories
- //
- #define SERVICE_RESOURCE (0x00000001)
- #define SERVICE_SERVICE (0x00000002)
- #define SERVICE_LOCAL (0x00000004)
- //
- // Operation used when calling SetService()
- //
- #define SERVICE_REGISTER (0x00000001)
- #define SERVICE_DEREGISTER (0x00000002)
- #define SERVICE_FLUSH (0x00000003)
- #define SERVICE_ADD_TYPE (0x00000004)
- #define SERVICE_DELETE_TYPE (0x00000005)
- //
- // Flags that affect the operations above
- //
- #define SERVICE_FLAG_DEFER (0x00000001)
- #define SERVICE_FLAG_HARD (0x00000002)
- //
- // Used as input to GetService() for setting the dwProps parameter
- //
- #define PROP_COMMENT (0x00000001)
- #define PROP_LOCALE (0x00000002)
- #define PROP_DISPLAY_HINT (0x00000004)
- #define PROP_VERSION (0x00000008)
- #define PROP_START_TIME (0x00000010)
- #define PROP_MACHINE (0x00000020)
- #define PROP_ADDRESSES (0x00000100)
- #define PROP_SD (0x00000200)
- #define PROP_ALL (0x80000000)
- //
- // Flags that describe attributes of Service Addresses
- //
- #define SERVICE_ADDRESS_FLAG_RPC_CN (0x00000001)
- #define SERVICE_ADDRESS_FLAG_RPC_DG (0x00000002)
- #define SERVICE_ADDRESS_FLAG_RPC_NB (0x00000004)
- //
- // Name Spaces
- //
- #define NS_DEFAULT (0)
- #define NS_SAP (1)
- #define NS_NDS (2)
- #define NS_PEER_BROWSE (3)
- #define NS_TCPIP_LOCAL (10)
- #define NS_TCPIP_HOSTS (11)
- #define NS_DNS (12)
- #define NS_NETBT (13)
- #define NS_WINS (14)
- #define NS_NBP (20)
- #define NS_MS (30)
- #define NS_STDA (31)
- #define NS_NTDS (32)
- #define NS_X500 (40)
- #define NS_NIS (41)
- #define NS_VNS (50)
- //
- // Name space attributes.
- //
- #define NSTYPE_HIERARCHICAL (0x00000001)
- #define NSTYPE_DYNAMIC (0x00000002)
- #define NSTYPE_ENUMERABLE (0x00000004)
- #define NSTYPE_WORKGROUP (0x00000008)
- //
- // Transport attributes.
- //
- #define XP_CONNECTIONLESS (0x00000001)
- #define XP_GUARANTEED_DELIVERY (0x00000002)
- #define XP_GUARANTEED_ORDER (0x00000004)
- #define XP_MESSAGE_ORIENTED (0x00000008)
- #define XP_PSEUDO_STREAM (0x00000010)
- #define XP_GRACEFUL_CLOSE (0x00000020)
- #define XP_EXPEDITED_DATA (0x00000040)
- #define XP_CONNECT_DATA (0x00000080)
- #define XP_DISCONNECT_DATA (0x00000100)
- #define XP_SUPPORTS_BROADCAST (0x00000200)
- #define XP_SUPPORTS_MULTICAST (0x00000400)
- #define XP_BANDWIDTH_ALLOCATION (0x00000800)
- #define XP_FRAGMENTATION (0x00001000)
- #define XP_ENCRYPTS (0x00002000)
- //
- // Resolution flags for GetAddressByName().
- //
- #define RES_SOFT_SEARCH (0x00000001)
- #define RES_FIND_MULTIPLE (0x00000002)
- #define RES_SERVICE (0x00000004)
- //
- // Well known value names for Service Types
- //
- #define SERVICE_TYPE_VALUE_SAPIDA "SapId"
- #define SERVICE_TYPE_VALUE_SAPIDW L"SapId"
- #define SERVICE_TYPE_VALUE_CONNA "ConnectionOriented"
- #define SERVICE_TYPE_VALUE_CONNW L"ConnectionOriented"
- #define SERVICE_TYPE_VALUE_TCPPORTA "TcpPort"
- #define SERVICE_TYPE_VALUE_TCPPORTW L"TcpPort"
- #define SERVICE_TYPE_VALUE_UDPPORTA "UdpPort"
- #define SERVICE_TYPE_VALUE_UDPPORTW L"UdpPort"
- #ifdef UNICODE
- #define SERVICE_TYPE_VALUE_SAPID SERVICE_TYPE_VALUE_SAPIDW
- #define SERVICE_TYPE_VALUE_CONN SERVICE_TYPE_VALUE_CONNW
- #define SERVICE_TYPE_VALUE_TCPPORT SERVICE_TYPE_VALUE_TCPPORTW
- #define SERVICE_TYPE_VALUE_UDPPORT SERVICE_TYPE_VALUE_UDPPORTW
- #else // not UNICODE
- #define SERVICE_TYPE_VALUE_SAPID SERVICE_TYPE_VALUE_SAPIDA
- #define SERVICE_TYPE_VALUE_CONN SERVICE_TYPE_VALUE_CONNA
- #define SERVICE_TYPE_VALUE_TCPPORT SERVICE_TYPE_VALUE_TCPPORTA
- #define SERVICE_TYPE_VALUE_UDPPORT SERVICE_TYPE_VALUE_UDPPORTA
- #endif
- //
- // status flags returned by SetService
- //
- #define SET_SERVICE_PARTIAL_SUCCESS (0x00000001)
- //
- // Name Space Information
- //
- typedef struct _NS_INFOA {
- DWORD dwNameSpace ;
- DWORD dwNameSpaceFlags ;
- LPSTR lpNameSpace ;
- } NS_INFOA, * PNS_INFOA, FAR * LPNS_INFOA;
- //
- // Name Space Information
- //
- typedef struct _NS_INFOW {
- DWORD dwNameSpace ;
- DWORD dwNameSpaceFlags ;
- LPWSTR lpNameSpace ;
- } NS_INFOW, * PNS_INFOW, FAR * LPNS_INFOW;
- #ifdef UNICODE
- typedef NS_INFOW NS_INFO;
- typedef PNS_INFOW PNS_INFO;
- typedef LPNS_INFOW LPNS_INFO;
- #else
- typedef NS_INFOA NS_INFO;
- typedef PNS_INFOA PNS_INFO;
- typedef LPNS_INFOA LPNS_INFO;
- #endif // UNICODE
- //
- // Service Type Values. The structures are used to define named Service
- // Type specific values. This structure is self relative and has no pointers.
- //
- typedef struct _SERVICE_TYPE_VALUE {
- DWORD dwNameSpace ;
- DWORD dwValueType ;
- DWORD dwValueSize ;
- DWORD dwValueNameOffset ;
- DWORD dwValueOffset ;
- } SERVICE_TYPE_VALUE, *PSERVICE_TYPE_VALUE, FAR *LPSERVICE_TYPE_VALUE ;
- //
- // An absolute version of above. This structure does contain pointers.
- //
- typedef struct _SERVICE_TYPE_VALUE_ABSA {
- DWORD dwNameSpace ;
- DWORD dwValueType ;
- DWORD dwValueSize ;
- LPSTR lpValueName ;
- PVOID lpValue ;
- } SERVICE_TYPE_VALUE_ABSA,
- *PSERVICE_TYPE_VALUE_ABSA,
- FAR *LPSERVICE_TYPE_VALUE_ABSA;
- //
- // An absolute version of above. This structure does contain pointers.
- //
- typedef struct _SERVICE_TYPE_VALUE_ABSW {
- DWORD dwNameSpace ;
- DWORD dwValueType ;
- DWORD dwValueSize ;
- LPWSTR lpValueName ;
- PVOID lpValue ;
- } SERVICE_TYPE_VALUE_ABSW,
- *PSERVICE_TYPE_VALUE_ABSW,
- FAR *LPSERVICE_TYPE_VALUE_ABSW;
- #ifdef UNICODE
- typedef SERVICE_TYPE_VALUE_ABSW SERVICE_TYPE_VALUE_ABS;
- typedef PSERVICE_TYPE_VALUE_ABSW PSERVICE_TYPE_VALUE_ABS;
- typedef LPSERVICE_TYPE_VALUE_ABSW LPSERVICE_TYPE_VALUE_ABS;
- #else
- typedef SERVICE_TYPE_VALUE_ABSA SERVICE_TYPE_VALUE_ABS;
- typedef PSERVICE_TYPE_VALUE_ABSA PSERVICE_TYPE_VALUE_ABS;
- typedef LPSERVICE_TYPE_VALUE_ABSA LPSERVICE_TYPE_VALUE_ABS;
- #endif // UNICODE
- //
- // Service Type Information. Contains the name of the Service Type and
- // and an array of SERVICE_NS_TYPE_VALUE structures. This structure is self
- // relative and has no pointers in it.
- //
- typedef struct _SERVICE_TYPE_INFO {
- DWORD dwTypeNameOffset ;
- DWORD dwValueCount ;
- SERVICE_TYPE_VALUE Values[1] ;
- } SERVICE_TYPE_INFO, *PSERVICE_TYPE_INFO, FAR *LPSERVICE_TYPE_INFO ;
- typedef struct _SERVICE_TYPE_INFO_ABSA {
- LPSTR lpTypeName ;
- DWORD dwValueCount ;
- SERVICE_TYPE_VALUE_ABSA Values[1] ;
- } SERVICE_TYPE_INFO_ABSA,
- *PSERVICE_TYPE_INFO_ABSA,
- FAR *LPSERVICE_TYPE_INFO_ABSA ;
- typedef struct _SERVICE_TYPE_INFO_ABSW {
- LPWSTR lpTypeName ;
- DWORD dwValueCount ;
- SERVICE_TYPE_VALUE_ABSW Values[1] ;
- } SERVICE_TYPE_INFO_ABSW,
- *PSERVICE_TYPE_INFO_ABSW,
- FAR *LPSERVICE_TYPE_INFO_ABSW ;
- #ifdef UNICODE
- typedef SERVICE_TYPE_INFO_ABSW SERVICE_TYPE_INFO_ABS;
- typedef PSERVICE_TYPE_INFO_ABSW PSERVICE_TYPE_INFO_ABS;
- typedef LPSERVICE_TYPE_INFO_ABSW LPSERVICE_TYPE_INFO_ABS;
- #else
- typedef SERVICE_TYPE_INFO_ABSA SERVICE_TYPE_INFO_ABS;
- typedef PSERVICE_TYPE_INFO_ABSA PSERVICE_TYPE_INFO_ABS;
- typedef LPSERVICE_TYPE_INFO_ABSA LPSERVICE_TYPE_INFO_ABS;
- #endif // UNICODE
- //
- // A Single Address definition.
- //
- typedef struct _SERVICE_ADDRESS {
- DWORD dwAddressType ;
- DWORD dwAddressFlags ;
- DWORD dwAddressLength ;
- DWORD dwPrincipalLength ;
- #ifdef MIDL_PASS
- [size_is(dwAddressLength)] BYTE *lpAddress;
- #else // MIDL_PASS
- BYTE *lpAddress ;
- #endif // MIDL_PASS
- #ifdef MIDL_PASS
- [size_is(dwPrincipalLength)] BYTE *lpPrincipal;
- #else // MIDL_PASS
- BYTE *lpPrincipal ;
- #endif // MIDL_PASS
- } SERVICE_ADDRESS, *PSERVICE_ADDRESS, *LPSERVICE_ADDRESS;
- //
- // Addresses used by the service. Contains array of SERVICE_ADDRESS.
- //
- typedef struct _SERVICE_ADDRESSES {
- DWORD dwAddressCount ;
- #ifdef MIDL_PASS
- [size_is(dwAddressCount)] SERVICE_ADDRESS Addressses[*];
- #else // MIDL_PASS
- SERVICE_ADDRESS Addresses[1] ;
- #endif // MIDL_PASS
- } SERVICE_ADDRESSES, *PSERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;
- //
- // Service Information.
- //
- typedef struct _SERVICE_INFOA {
- LPGUID lpServiceType ;
- LPSTR lpServiceName ;
- LPSTR lpComment ;
- LPSTR lpLocale ;
- DWORD dwDisplayHint ;
- DWORD dwVersion ;
- DWORD dwTime ;
- LPSTR lpMachineName ;
- LPSERVICE_ADDRESSES lpServiceAddress ;
- BLOB ServiceSpecificInfo ;
- } SERVICE_INFOA, *PSERVICE_INFOA, FAR * LPSERVICE_INFOA ;
- //
- // Service Information.
- //
- typedef struct _SERVICE_INFOW {
- LPGUID lpServiceType ;
- LPWSTR lpServiceName ;
- LPWSTR lpComment ;
- LPWSTR lpLocale ;
- DWORD dwDisplayHint ;
- DWORD dwVersion ;
- DWORD dwTime ;
- LPWSTR lpMachineName ;
- LPSERVICE_ADDRESSES lpServiceAddress ;
- BLOB ServiceSpecificInfo ;
- } SERVICE_INFOW, *PSERVICE_INFOW, FAR * LPSERVICE_INFOW ;
- #ifdef UNICODE
- typedef SERVICE_INFOW SERVICE_INFO;
- typedef PSERVICE_INFOW PSERVICE_INFO;
- typedef LPSERVICE_INFOW LPSERVICE_INFO;
- #else
- typedef SERVICE_INFOA SERVICE_INFO;
- typedef PSERVICE_INFOA PSERVICE_INFO;
- typedef LPSERVICE_INFOA LPSERVICE_INFO;
- #endif // UNICODE
- //
- // Name Space & Service Information
- //
- typedef struct _NS_SERVICE_INFOA {
- DWORD dwNameSpace ;
- SERVICE_INFOA ServiceInfo ;
- } NS_SERVICE_INFOA, *PNS_SERVICE_INFOA, FAR * LPNS_SERVICE_INFOA ;
- //
- // Name Space & Service Information
- //
- typedef struct _NS_SERVICE_INFOW {
- DWORD dwNameSpace ;
- SERVICE_INFOW ServiceInfo ;
- } NS_SERVICE_INFOW, *PNS_SERVICE_INFOW, FAR * LPNS_SERVICE_INFOW ;
- #ifdef UNICODE
- typedef NS_SERVICE_INFOW NS_SERVICE_INFO;
- typedef PNS_SERVICE_INFOW PNS_SERVICE_INFO;
- typedef LPNS_SERVICE_INFOW LPNS_SERVICE_INFO;
- #else
- typedef NS_SERVICE_INFOA NS_SERVICE_INFO;
- typedef PNS_SERVICE_INFOA PNS_SERVICE_INFO;
- typedef LPNS_SERVICE_INFOA LPNS_SERVICE_INFO;
- #endif // UNICODE
- #ifndef __CSADDR_DEFINED__
- #define __CSADDR_DEFINED__
- //
- // SockAddr Information
- //
- typedef struct _SOCKET_ADDRESS {
- LPSOCKADDR lpSockaddr ;
- INT iSockaddrLength ;
- } SOCKET_ADDRESS, *PSOCKET_ADDRESS, FAR * LPSOCKET_ADDRESS ;
- //
- // CSAddr Information
- //
- typedef struct _CSADDR_INFO {
- SOCKET_ADDRESS LocalAddr ;
- SOCKET_ADDRESS RemoteAddr ;
- INT iSocketType ;
- INT iProtocol ;
- } CSADDR_INFO, *PCSADDR_INFO, FAR * LPCSADDR_INFO ;
- #endif
- //
- // Protocol Information
- //
- typedef struct _PROTOCOL_INFOA {
- DWORD dwServiceFlags ;
- INT iAddressFamily ;
- INT iMaxSockAddr ;
- INT iMinSockAddr ;
- INT iSocketType ;
- INT iProtocol ;
- DWORD dwMessageSize ;
- LPSTR lpProtocol ;
- } PROTOCOL_INFOA, *PPROTOCOL_INFOA, FAR * LPPROTOCOL_INFOA ;
- //
- // Protocol Information
- //
- typedef struct _PROTOCOL_INFOW {
- DWORD dwServiceFlags ;
- INT iAddressFamily ;
- INT iMaxSockAddr ;
- INT iMinSockAddr ;
- INT iSocketType ;
- INT iProtocol ;
- DWORD dwMessageSize ;
- LPWSTR lpProtocol ;
- } PROTOCOL_INFOW, *PPROTOCOL_INFOW, FAR * LPPROTOCOL_INFOW ;
- #ifdef UNICODE
- typedef PROTOCOL_INFOW PROTOCOL_INFO;
- typedef PPROTOCOL_INFOW PPROTOCOL_INFO;
- typedef LPPROTOCOL_INFOW LPPROTOCOL_INFO;
- #else
- typedef PROTOCOL_INFOA PROTOCOL_INFO;
- typedef PPROTOCOL_INFOA PPROTOCOL_INFO;
- typedef LPPROTOCOL_INFOA LPPROTOCOL_INFO;
- #endif // UNICODE
- //
- // NETRESOURCE2 Structure
- //
- typedef struct _NETRESOURCE2A {
- DWORD dwScope ;
- DWORD dwType ;
- DWORD dwUsage ;
- DWORD dwDisplayType ;
- LPSTR lpLocalName ;
- LPSTR lpRemoteName ;
- LPSTR lpComment ;
- NS_INFO ns_info ;
- GUID ServiceType ;
- DWORD dwProtocols ;
- LPINT lpiProtocols ;
- } NETRESOURCE2A, *PNETRESOURCE2A, FAR * LPNETRESOURCE2A ;
- //
- // NETRESOURCE2 Structure
- //
- typedef struct _NETRESOURCE2W {
- DWORD dwScope ;
- DWORD dwType ;
- DWORD dwUsage ;
- DWORD dwDisplayType ;
- LPWSTR lpLocalName ;
- LPWSTR lpRemoteName ;
- LPWSTR lpComment ;
- NS_INFO ns_info ;
- GUID ServiceType ;
- DWORD dwProtocols ;
- LPINT lpiProtocols ;
- } NETRESOURCE2W, *PNETRESOURCE2W, FAR * LPNETRESOURCE2W ;
- #ifdef UNICODE
- typedef NETRESOURCE2W NETRESOURCE2;
- typedef PNETRESOURCE2W PNETRESOURCE2;
- typedef LPNETRESOURCE2W LPNETRESOURCE2;
- #else
- typedef NETRESOURCE2A NETRESOURCE2;
- typedef PNETRESOURCE2A PNETRESOURCE2;
- typedef LPNETRESOURCE2A LPNETRESOURCE2;
- #endif // UNICODE
- typedef DWORD (* LPFN_NSPAPI) (VOID ) ;
- //
- // Structures for using the service routines asynchronously.
- //
- typedef
- VOID
- (*LPSERVICE_CALLBACK_PROC) (
- IN LPARAM lParam,
- IN HANDLE hAsyncTaskHandle
- );
- typedef struct _SERVICE_ASYNC_INFO {
- LPSERVICE_CALLBACK_PROC lpServiceCallbackProc;
- LPARAM lParam;
- HANDLE hAsyncTaskHandle;
- } SERVICE_ASYNC_INFO, *PSERVICE_ASYNC_INFO, FAR * LPSERVICE_ASYNC_INFO;
- //
- // Public NSP API prototypes.
- //
- INT
- APIENTRY
- EnumProtocolsA (
- IN LPINT lpiProtocols,
- IN OUT LPVOID lpProtocolBuffer,
- IN OUT LPDWORD lpdwBufferLength
- );
- //
- // Public NSP API prototypes.
- //
- INT
- APIENTRY
- EnumProtocolsW (
- IN LPINT lpiProtocols,
- IN OUT LPVOID lpProtocolBuffer,
- IN OUT LPDWORD lpdwBufferLength
- );
- #ifdef UNICODE
- #define EnumProtocols EnumProtocolsW
- #else
- #define EnumProtocols EnumProtocolsA
- #endif // !UNICODE
- INT
- APIENTRY
- GetAddressByNameA (
- IN DWORD dwNameSpace,
- IN LPGUID lpServiceType,
- IN LPSTR lpServiceName OPTIONAL,
- IN LPINT lpiProtocols OPTIONAL,
- IN DWORD dwResolution,
- IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo OPTIONAL,
- IN OUT LPVOID lpCsaddrBuffer,
- IN OUT LPDWORD lpdwBufferLength,
- IN OUT LPSTR lpAliasBuffer OPTIONAL,
- IN OUT LPDWORD lpdwAliasBufferLength OPTIONAL
- );
- INT
- APIENTRY
- GetAddressByNameW (
- IN DWORD dwNameSpace,
- IN LPGUID lpServiceType,
- IN LPWSTR lpServiceName OPTIONAL,
- IN LPINT lpiProtocols OPTIONAL,
- IN DWORD dwResolution,
- IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo OPTIONAL,
- IN OUT LPVOID lpCsaddrBuffer,
- IN OUT LPDWORD lpdwBufferLength,
- IN OUT LPWSTR lpAliasBuffer OPTIONAL,
- IN OUT LPDWORD lpdwAliasBufferLength OPTIONAL
- );
- #ifdef UNICODE
- #define GetAddressByName GetAddressByNameW
- #else
- #define GetAddressByName GetAddressByNameA
- #endif // !UNICODE
- INT
- APIENTRY
- GetTypeByNameA (
- IN LPSTR lpServiceName,
- IN OUT LPGUID lpServiceType
- );
- INT
- APIENTRY
- GetTypeByNameW (
- IN LPWSTR lpServiceName,
- IN OUT LPGUID lpServiceType
- );
- #ifdef UNICODE
- #define GetTypeByName GetTypeByNameW
- #else
- #define GetTypeByName GetTypeByNameA
- #endif // !UNICODE
- INT
- APIENTRY
- GetNameByTypeA (
- IN LPGUID lpServiceType,
- IN OUT LPSTR lpServiceName,
- IN DWORD dwNameLength
- );
- INT
- APIENTRY
- GetNameByTypeW (
- IN LPGUID lpServiceType,
- IN OUT LPWSTR lpServiceName,
- IN DWORD dwNameLength
- );
- #ifdef UNICODE
- #define GetNameByType GetNameByTypeW
- #else
- #define GetNameByType GetNameByTypeA
- #endif // !UNICODE
- INT
- APIENTRY
- SetServiceA (
- IN DWORD dwNameSpace,
- IN DWORD dwOperation,
- IN DWORD dwFlags,
- IN LPSERVICE_INFOA lpServiceInfo,
- IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
- IN OUT LPDWORD lpdwStatusFlags
- );
- INT
- APIENTRY
- SetServiceW (
- IN DWORD dwNameSpace,
- IN DWORD dwOperation,
- IN DWORD dwFlags,
- IN LPSERVICE_INFOW lpServiceInfo,
- IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
- IN OUT LPDWORD lpdwStatusFlags
- );
- #ifdef UNICODE
- #define SetService SetServiceW
- #else
- #define SetService SetServiceA
- #endif // !UNICODE
- INT
- APIENTRY
- GetServiceA (
- IN DWORD dwNameSpace,
- IN LPGUID lpGuid,
- IN LPSTR lpServiceName,
- IN DWORD dwProperties,
- IN OUT LPVOID lpBuffer,
- IN OUT LPDWORD lpdwBufferSize,
- IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo
- );
- INT
- APIENTRY
- GetServiceW (
- IN DWORD dwNameSpace,
- IN LPGUID lpGuid,
- IN LPWSTR lpServiceName,
- IN DWORD dwProperties,
- IN OUT LPVOID lpBuffer,
- IN OUT LPDWORD lpdwBufferSize,
- IN LPSERVICE_ASYNC_INFO lpServiceAsyncInfo
- );
- #ifdef UNICODE
- #define GetService GetServiceW
- #else
- #define GetService GetServiceA
- #endif // !UNICODE
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- #endif // _NSPAPI_INCLUDED
|