📄 nspapi.h
字号:
//
// 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -