|
|
//+--------------------------------------------------------------------------
//
// 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 TLSGetServerScopeFixed( TLS_HANDLE hHandle, LPTSTR *pszScopeName, 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 TLSGetLastErrorFixed( TLS_HANDLE hHandle, 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 );
DWORD WINAPI TLSGetServerNameFixed( TLS_HANDLE hHandle, LPTSTR *pszMachineName, PDWORD pdwErrCode );
#ifdef __cplusplus
} #endif
#endif
|