444 lines
9.3 KiB
C
444 lines
9.3 KiB
C
|
//+--------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
// Copyright (C) Microsoft Corporation, 1996-1998
|
||
|
//
|
||
|
// File: tlsapi.h
|
||
|
//
|
||
|
// Contents:
|
||
|
//
|
||
|
// History: 12-09-97 HueiWang Created
|
||
|
//
|
||
|
//---------------------------------------------------------------------------
|
||
|
#ifndef __TLSAPI_H__
|
||
|
#define __TLSAPI_H__
|
||
|
|
||
|
#include "tlsdef.h"
|
||
|
|
||
|
#ifndef WINAPI
|
||
|
#define WINAPI __stdcall
|
||
|
#endif
|
||
|
|
||
|
typedef BYTE* PBYTE;
|
||
|
typedef DWORD* PDWORD;
|
||
|
typedef PBYTE LPBYTE;
|
||
|
typedef PDWORD LPDWORD;
|
||
|
typedef UCHAR* PUCHAR;
|
||
|
|
||
|
//----------------------------------------------------------------------------------
|
||
|
// IssuedLicense related structure
|
||
|
//
|
||
|
typedef struct __LSLicense {
|
||
|
DWORD dwVersion;
|
||
|
DWORD dwLicenseId; // internal tracking number
|
||
|
DWORD dwKeyPackId; // join with License Pack
|
||
|
|
||
|
TCHAR szHWID[GUID_MAX_SIZE];
|
||
|
TCHAR szMachineName[MAXCOMPUTERNAMELENGTH];
|
||
|
TCHAR szUserName[MAXUSERNAMELENGTH];
|
||
|
|
||
|
DWORD dwCertSerialLicense;
|
||
|
DWORD dwLicenseSerialNumber;
|
||
|
DWORD ftIssueDate;
|
||
|
DWORD ftExpireDate;
|
||
|
UCHAR ucLicenseStatus;
|
||
|
} LSLicense, *LPLSLicense;
|
||
|
|
||
|
typedef LSLicense LSLicenseSearchParm;
|
||
|
typedef LSLicenseSearchParm* LPLSLicenseSearchParm;
|
||
|
|
||
|
typedef struct __LSLicenseEx {
|
||
|
DWORD dwVersion;
|
||
|
DWORD dwLicenseId; // internal tracking number
|
||
|
DWORD dwKeyPackId; // join with License Pack
|
||
|
|
||
|
TCHAR szHWID[GUID_MAX_SIZE];
|
||
|
TCHAR szMachineName[MAXCOMPUTERNAMELENGTH];
|
||
|
TCHAR szUserName[MAXUSERNAMELENGTH];
|
||
|
|
||
|
DWORD dwCertSerialLicense;
|
||
|
DWORD dwLicenseSerialNumber;
|
||
|
DWORD ftIssueDate;
|
||
|
DWORD ftExpireDate;
|
||
|
UCHAR ucLicenseStatus;
|
||
|
DWORD dwQuantity;
|
||
|
} LSLicenseEx, *LPLSLicenseEx;
|
||
|
|
||
|
//----------------------------------------------------------------------------------
|
||
|
// Table License Key Pack related structure
|
||
|
//
|
||
|
typedef struct __LSKeyPack {
|
||
|
DWORD dwVersion;
|
||
|
|
||
|
UCHAR ucKeyPackType;
|
||
|
|
||
|
TCHAR szCompanyName[LSERVER_MAX_STRING_SIZE+1];
|
||
|
TCHAR szKeyPackId[LSERVER_MAX_STRING_SIZE+1];
|
||
|
TCHAR szProductName[LSERVER_MAX_STRING_SIZE+1];
|
||
|
TCHAR szProductId[LSERVER_MAX_STRING_SIZE+1];
|
||
|
TCHAR szProductDesc[LSERVER_MAX_STRING_SIZE+1];
|
||
|
|
||
|
WORD wMajorVersion;
|
||
|
WORD wMinorVersion;
|
||
|
DWORD dwPlatformType;
|
||
|
UCHAR ucLicenseType;
|
||
|
DWORD dwLanguageId;
|
||
|
UCHAR ucChannelOfPurchase;
|
||
|
|
||
|
TCHAR szBeginSerialNumber[LSERVER_MAX_STRING_SIZE+1];
|
||
|
|
||
|
DWORD dwTotalLicenseInKeyPack;
|
||
|
DWORD dwProductFlags;
|
||
|
|
||
|
DWORD dwKeyPackId;
|
||
|
UCHAR ucKeyPackStatus;
|
||
|
DWORD dwActivateDate;
|
||
|
DWORD dwExpirationDate;
|
||
|
DWORD dwNumberOfLicenses;
|
||
|
} LSKeyPack, *LPLSKeyPack;
|
||
|
|
||
|
typedef LSKeyPack LSKeyPackSearchParm;
|
||
|
typedef LSKeyPackSearchParm* LPLSKeyPackSearchParm;
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
typedef struct {
|
||
|
DWORD dwLow;
|
||
|
DWORD dwHigh;
|
||
|
} LSRange, *LPLSRange, *PLSRange;
|
||
|
|
||
|
|
||
|
typedef HANDLE TLS_HANDLE;
|
||
|
typedef DWORD CHALLENGE_CONTEXT;
|
||
|
typedef CHALLENGE_CONTEXT* PCHALLENGE_CONTEXT;
|
||
|
|
||
|
typedef BOOL (* TLSENUMERATECALLBACK)(TLS_HANDLE hBinding, LPCTSTR pszServer, HANDLE dwUserData);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
HRESULT FindEnterpriseServer(TLS_HANDLE *phBinding);
|
||
|
|
||
|
HRESULT GetAllEnterpriseServers(WCHAR ***ppszServers, DWORD *pdwCount);
|
||
|
|
||
|
// void *MIDL_user_allocate(DWORD size);
|
||
|
// void MIDL_user_free(void *pointer);
|
||
|
// void * __stdcall MIDL_user_allocate(DWORD);
|
||
|
// void __stdcall MIDL_user_free( void * );
|
||
|
|
||
|
DWORD WINAPI
|
||
|
EnumerateTlsServer(
|
||
|
TLSENUMERATECALLBACK fCallBack,
|
||
|
HANDLE dwUserData,
|
||
|
DWORD dwTimeOut,
|
||
|
BOOL fRegOnly
|
||
|
);
|
||
|
|
||
|
TLS_HANDLE WINAPI
|
||
|
TLSConnectToAnyLsServer(
|
||
|
DWORD dwTimeout
|
||
|
);
|
||
|
|
||
|
TLS_HANDLE WINAPI
|
||
|
TLSConnectToLsServer(
|
||
|
LPTSTR szLsServer
|
||
|
);
|
||
|
|
||
|
void WINAPI
|
||
|
TLSDisconnectFromServer(
|
||
|
TLS_HANDLE hHandle
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSGetVersion (
|
||
|
TLS_HANDLE hHandle,
|
||
|
PDWORD pdwVersion
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSSendServerCertificate(
|
||
|
TLS_HANDLE hHandle,
|
||
|
DWORD cbCert,
|
||
|
PBYTE pbCert,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSGetServerName(
|
||
|
TLS_HANDLE hHandle,
|
||
|
LPTSTR pszMachineName,
|
||
|
PDWORD pcbSize,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSGetServerScope(
|
||
|
TLS_HANDLE hHandle,
|
||
|
LPTSTR pszScopeName,
|
||
|
PDWORD pcbSize,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSGetInfo(
|
||
|
TLS_HANDLE hHandle,
|
||
|
DWORD cbHSCert,
|
||
|
PBYTE pHSCert,
|
||
|
PDWORD pcbLSCert,
|
||
|
PBYTE* ppbLSCert,
|
||
|
DWORD* pcbLSSecretKey,
|
||
|
PBYTE* ppbLSSecretKey,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSIssuePlatformChallenge(
|
||
|
TLS_HANDLE hHandle,
|
||
|
DWORD dwClientInfo,
|
||
|
PCHALLENGE_CONTEXT pChallengeContext,
|
||
|
PDWORD pcbChallengeData,
|
||
|
PBYTE* pChallengeData,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSIssueNewLicense(
|
||
|
TLS_HANDLE hHandle,
|
||
|
CHALLENGE_CONTEXT ChallengeContext,
|
||
|
LICENSEREQUEST* pRequest,
|
||
|
LPTSTR pszMachineName,
|
||
|
LPTSTR pszUserName,
|
||
|
DWORD cbChallengeResponse,
|
||
|
PBYTE pbChallengeResponse,
|
||
|
BOOL bAcceptTemporaryLicense,
|
||
|
PDWORD pcbLicense,
|
||
|
PBYTE* ppbLicense,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSIssueNewLicenseEx(
|
||
|
TLS_HANDLE hHandle,
|
||
|
PDWORD pSupportFlags,
|
||
|
CHALLENGE_CONTEXT ChallengeContext,
|
||
|
LICENSEREQUEST *pRequest,
|
||
|
LPTSTR pMachineName,
|
||
|
LPTSTR pUserName,
|
||
|
DWORD cbChallengeResponse,
|
||
|
PBYTE pbChallengeResponse,
|
||
|
BOOL bAcceptTemporaryLicense,
|
||
|
DWORD dwQuantity,
|
||
|
PDWORD pcbLicense,
|
||
|
PBYTE* ppbLicense,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSIssueNewLicenseExEx(
|
||
|
TLS_HANDLE hHandle,
|
||
|
PDWORD pSupportFlags,
|
||
|
CHALLENGE_CONTEXT ChallengeContext,
|
||
|
LICENSEREQUEST *pRequest,
|
||
|
LPTSTR pMachineName,
|
||
|
LPTSTR pUserName,
|
||
|
DWORD cbChallengeResponse,
|
||
|
PBYTE pbChallengeResponse,
|
||
|
BOOL bAcceptTemporaryLicense,
|
||
|
BOOL bAcceptFewerLicenses,
|
||
|
DWORD *pdwQuantity,
|
||
|
PDWORD pcbLicense,
|
||
|
PBYTE* ppbLicense,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSUpgradeLicense(
|
||
|
TLS_HANDLE hHandle,
|
||
|
LICENSEREQUEST* pRequest,
|
||
|
CHALLENGE_CONTEXT ChallengeContext,
|
||
|
DWORD cbChallengeResponse,
|
||
|
PBYTE pbChallengeResponse,
|
||
|
DWORD cbOldLicense,
|
||
|
PBYTE pbOldLicense,
|
||
|
PDWORD pcbNewLicense,
|
||
|
PBYTE* ppbNewLicense,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSUpgradeLicenseEx(
|
||
|
TLS_HANDLE hHandle,
|
||
|
PDWORD pSupportFlags,
|
||
|
LICENSEREQUEST *pRequest,
|
||
|
CHALLENGE_CONTEXT ChallengeContext,
|
||
|
DWORD cbChallengeResponse,
|
||
|
PBYTE pbChallengeResponse,
|
||
|
DWORD cbOldLicense,
|
||
|
PBYTE pbOldLicense,
|
||
|
DWORD dwQuantity,
|
||
|
PDWORD pcbNewLicense,
|
||
|
PBYTE* ppbNewLicense,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSAllocateConcurrentLicense(
|
||
|
TLS_HANDLE hHandle,
|
||
|
LPTSTR pszHydraServer,
|
||
|
LICENSEREQUEST* pRequest,
|
||
|
LONG* dwQuantity,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSGetLastError(
|
||
|
TLS_HANDLE hHandle,
|
||
|
DWORD cbBufferSize,
|
||
|
LPTSTR pszBuffer,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSKeyPackEnumBegin(
|
||
|
TLS_HANDLE hHandle,
|
||
|
DWORD dwSearchParm,
|
||
|
BOOL bMatchAll,
|
||
|
LPLSKeyPackSearchParm lpSearchParm,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSKeyPackEnumNext(
|
||
|
TLS_HANDLE hHandle,
|
||
|
LPLSKeyPack lpKeyPack,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSKeyPackEnumEnd(
|
||
|
TLS_HANDLE hHandle,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSLicenseEnumBegin(
|
||
|
TLS_HANDLE hHandle,
|
||
|
DWORD dwSearchParm,
|
||
|
BOOL bMatchAll,
|
||
|
LPLSLicenseSearchParm lpSearchParm,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSLicenseEnumNext(
|
||
|
TLS_HANDLE hHandle,
|
||
|
LPLSLicense lpLicense,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSLicenseEnumNextEx(
|
||
|
TLS_HANDLE hHandle,
|
||
|
LPLSLicenseEx lpLicense,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSLicenseEnumEnd(
|
||
|
TLS_HANDLE hHandle,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSGetAvailableLicenses(
|
||
|
TLS_HANDLE hHandle,
|
||
|
DWORD dwSearchParm,
|
||
|
LPLSKeyPack lplsKeyPack,
|
||
|
LPDWORD lpdwAvail,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSGetRevokeKeyPackList(
|
||
|
TLS_HANDLE hHandle,
|
||
|
PDWORD pcbNumberOfRange,
|
||
|
LPLSRange* ppRevokeRange,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSGetRevokeLicenseList(
|
||
|
TLS_HANDLE hHandle,
|
||
|
PDWORD pcbNumberOfRange,
|
||
|
LPLSRange* ppRevokeRange,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
LICENSE_STATUS
|
||
|
TLSGetTSCertificate(
|
||
|
CERT_TYPE CertType,
|
||
|
LPBYTE *ppbCertificate,
|
||
|
LPDWORD pcbCertificate);
|
||
|
|
||
|
LICENSE_STATUS
|
||
|
TLSFreeTSCertificate(
|
||
|
LPBYTE pbCertificate);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSInit();
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSStartDiscovery();
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSStopDiscovery();
|
||
|
|
||
|
void WINAPI
|
||
|
TLSShutdown();
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSInDomain(
|
||
|
BOOL *pfInDomain,
|
||
|
LPWSTR *szDomain);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSMarkLicense(
|
||
|
TLS_HANDLE hHandle,
|
||
|
UCHAR ucFlags,
|
||
|
DWORD cbLicense,
|
||
|
PBYTE pLicense,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSCheckLicenseMark(
|
||
|
TLS_HANDLE hHandle,
|
||
|
DWORD cbLicense,
|
||
|
PBYTE pLicense,
|
||
|
PUCHAR pucFlags,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSGetSupportFlags(
|
||
|
TLS_HANDLE hHandle,
|
||
|
DWORD *pdwSupportFlags
|
||
|
);
|
||
|
|
||
|
DWORD WINAPI
|
||
|
TLSGetServerNameEx(
|
||
|
TLS_HANDLE hHandle,
|
||
|
LPTSTR pszMachineName,
|
||
|
PDWORD pcbSize,
|
||
|
PDWORD pdwErrCode
|
||
|
);
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif
|