123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _INC_MSDRM
- #define _INC_MSDRM
- #include <msdrmdefs.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- HRESULT WINAPI DRMCreateClientSession(
- DRMCALLBACK pfnCallback,
- UINT uCallbackVersion,
- PWSTR wszGroupIDProviderType,
- PWSTR wszGroupID,
- DRMHSESSION *phClient
- );
- HRESULT WINAPI DRMAcquireIssuanceLicenseTemplate(
- DRMHSESSION hClient,
- UINT uFlags,
- VOID *pvReserved,
- UINT cReserved,
- PWSTR *pwszReserved,
- PWSTR wszURL,
- VOID *pvContext
- );
- HRESULT WINAPI DRMActivate(
- DRMHSESSION hClient,
- UINT uFlags,
- UINT uLangID,
- DRM_ACTSERV_INFO *pActServInfo,
- VOID *pvContext,
- HWND hParentWnd
- );
- HRESULT WINAPI DRMGetServiceLocation(
- DRMHSESSION hClient,
- UINT uServiceType,
- UINT uServiceLocation,
- PWSTR wszIssuanceLicense,
- UINT *puServiceURLLength,
- PWSTR wszServiceURL
- );
- HRESULT WINAPI DRMIsActivated(
- DRMHSESSION hClient,
- UINT uFlags,
- DRM_ACTSERV_INFO *pActServInfo
- );
- HRESULT WINAPI DRMCheckSecurity(
- DRMENVHANDLE hEnv,
- UINT cLevel
- );
- HRESULT WINAPI DRMCloseSession(
- DRMHSESSION hSession
- );
- HRESULT WINAPI DRMCreateLicenseStorageSession(
- DRMENVHANDLE hEnv,
- DRMHANDLE hDefaultLibrary,
- DRMHSESSION hClient,
- UINT uFlags,
- PWSTR wszIssuanceLicense,
- DRMHSESSION *phLicenseStorage
- );
- HRESULT WINAPI DRMDuplicateSession(
- DRMHSESSION hSessionIn,
- DRMHSESSION *phSessionOut
- );
- HRESULT WINAPI DRMGetClientVersion(
- DRM_CLIENT_VERSION_INFO *pDRMClientVersionInfo
- );
- HRESULT WINAPI DRMGetEnvironmentInfo(
- DRMENVHANDLE handle,
- PWSTR wszAttribute,
- DRMENCODINGTYPE *peEncoding,
- UINT *pcBuffer,
- BYTE *pbBuffer
- );
- HRESULT WINAPI DRMGetIntervalTime(
- DRMPUBHANDLE hIssuanceLicense,
- UINT *pcDays
- );
- HRESULT WINAPI DRMGetOwnerLicense(
- DRMPUBHANDLE hIssuanceLicense,
- UINT *puLength,
- PWSTR wszOwnerLicense
- );
- HRESULT WINAPI DRMGetProcAddress(
- DRMHANDLE hLibrary,
- PWSTR wszProcName,
- FARPROC *ppfnProcAddress
- );
- HRESULT WINAPI DRMGetSecurityProvider(
- UINT uFlags,
- UINT *puTypeLen,
- PWSTR wszType,
- UINT *puPathLen,
- PWSTR wszPath
- );
- HRESULT WINAPI DRMInitEnvironment(
- DRMSECURITYPROVIDERTYPE eSecurityProviderType,
- DRMSPECTYPE eSpecification,
- PWSTR wszSecurityProvider,
- PWSTR wszManifestCredentials,
- PWSTR wszMachineCredentials,
- DRMENVHANDLE *phEnv,
- DRMHANDLE *phDefaultLibrary
- );
- HRESULT WINAPI DRMLoadLibrary(
- DRMENVHANDLE hEnv,
- DRMSPECTYPE eSpecification,
- PWSTR wszLibraryProvider,
- PWSTR wszCredentials,
- DRMHANDLE *phLibrary
- );
- HRESULT WINAPI DRMRegisterContent(
- WINBOOL fRegister
- );
- HRESULT WINAPI DRMRegisterRevocationList(
- DRMENVHANDLE hEnv,
- PWSTR wszRevocationList
- );
- HRESULT WINAPI DRMRepair(void);
- HRESULT WINAPI DRMSetIntervalTime(
- DRMPUBHANDLE hIssuanceLicense,
- UINT cDays
- );
- HRESULT WINAPI DRMSetGlobalOptions(
- DRMGLOBALOPTIONS eGlobalOptions,
- LPVOID pvdata,
- DWORD dwlen
- );
- HRESULT WINAPI DRMAddRightWithUser(
- DRMPUBHANDLE hIssuanceLicense,
- DRMPUBHANDLE hRight,
- DRMPUBHANDLE hUser
- );
- HRESULT WINAPI DRMClearAllRights(
- DRMPUBHANDLE hIssuanceLicense
- );
- HRESULT WINAPI DRMCreateIssuanceLicense(
- SYSTEMTIME *pstTimeFrom,
- SYSTEMTIME *pstTimeUntil,
- PWSTR wszReferralInfoName,
- PWSTR wszReferralInfoURL,
- DRMPUBHANDLE hOwner,
- PWSTR wszIssuanceLicense,
- DRMHANDLE hBoundLicense,
- DRMPUBHANDLE *phIssuanceLicense
- );
- HRESULT WINAPI DRMCreateRight(
- PWSTR wszRightName,
- SYSTEMTIME *pstFrom,
- SYSTEMTIME *pstUntil,
- UINT cExtendedInfo,
- PWSTR *pwszExtendedInfoName,
- PWSTR *pwszExtendedInfoValue,
- DRMPUBHANDLE *phRight
- );
- HRESULT WINAPI DRMCreateUser(
- PWSTR wszUserName,
- PWSTR wszUserId,
- PWSTR wszUserIdType,
- DRMPUBHANDLE *phUser
- );
- HRESULT WINAPI DRMGetApplicationSpecificData(
- DRMPUBHANDLE hIssuanceLicense,
- UINT uIndex,
- UINT *puNameLength,
- PWSTR wszName,
- UINT *puValueLength,
- PWSTR wszValue
- );
- HRESULT WINAPI DRMGetIssuanceLicenseInfo(
- DRMPUBHANDLE hIssuanceLicense,
- SYSTEMTIME *pstTimeFrom,
- SYSTEMTIME *pstTimeUntil,
- UINT uFlags,
- UINT *puDistributionPointNameLength,
- PWSTR wszDistributionPointName,
- UINT *puDistributionPointURLLength,
- PWSTR wszDistributionPointURL,
- DRMPUBHANDLE *phOwner,
- WINBOOL *pfOfficial
- );
- HRESULT WINAPI DRMGetIssuanceLicenseTemplate(
- DRMPUBHANDLE hIssuanceLicense,
- UINT *puIssuanceLicenseTemplateLength,
- PWSTR wszIssuanceLicenseTemplate
- );
- HRESULT WINAPI DRMGetMetaData(
- DRMPUBHANDLE hIssuanceLicense,
- UINT *puContentIdLength,
- PWSTR wszContentId,
- UINT *puContentIdTypeLength,
- PWSTR wszContentIdType,
- UINT *puSKUIdLength,
- PWSTR wszSKUId,
- UINT *puSKUIdTypeLength,
- PWSTR wszSKUIdType,
- UINT *puContentTypeLength,
- PWSTR wszContentType,
- UINT *puContentNameLength,
- PWSTR wszContentName
- );
- HRESULT WINAPI DRMGetNameAndDescription(
- DRMPUBHANDLE hIssuanceLicense,
- UINT uIndex,
- UINT *pulcid,
- UINT *puNameLength,
- PWSTR wszName,
- UINT *puDescriptionLength,
- PWSTR wszDescription
- );
- HRESULT WINAPI DRMGetRevocationPoint(
- DRMPUBHANDLE hIssuanceLicense,
- UINT *puIdLength,
- PWSTR wszId,
- UINT *puIdTypeLength,
- PWSTR wszIdType,
- UINT *puURLLength,
- PWSTR wszURL,
- SYSTEMTIME *pstFrequency,
- UINT *puNameLength,
- PWSTR wszName,
- UINT *puPublicKeyLength,
- PWSTR wszPublicKey
- );
- HRESULT WINAPI DRMGetRightExtendedInfo(
- DRMPUBHANDLE hRight,
- UINT uIndex,
- UINT *puExtendedInfoNameLength,
- PWSTR wszExtendedInfoName,
- UINT *puExtendedInfoValueLength,
- PWSTR wszExtendedInfoValue
- );
- HRESULT WINAPI DRMGetRightInfo(
- DRMPUBHANDLE hRight,
- UINT *puRightNameLength,
- PWSTR wszRightName,
- SYSTEMTIME *pstFrom,
- SYSTEMTIME *pstUntil
- );
- HRESULT WINAPI DRMGetSignedIssuanceLicense(
- DRMENVHANDLE hEnv,
- DRMPUBHANDLE hIssuanceLicense,
- UINT uFlags,
- BYTE *pbSymKey,
- UINT cbSymKey,
- PWSTR wszSymKeyType,
- PWSTR wszClientLicensorCertificate,
- DRMCALLBACK pfnCallback,
- PWSTR wszURL,
- VOID *pvContext
- );
- HRESULT WINAPI DRMGetUsagePolicy(
- DRMPUBHANDLE hIssuanceLicense,
- UINT uIndex,
- DRM_USAGEPOLICY_TYPE *peUsagePolicyType,
- WINBOOL *pfExclusion,
- UINT *puNameLength,
- PWSTR wszName,
- UINT *puMinVersionLength,
- PWSTR wszMinVersion,
- UINT *puMaxVersionLength,
- PWSTR wszMaxVersion,
- UINT *puPublicKeyLength,
- PWSTR wszPublicKey,
- UINT *puDigestAlgorithmLength,
- PWSTR wszDigestAlgorithm,
- UINT *pcbDigest,
- BYTE *pbDigest
- );
- HRESULT WINAPI DRMGetUserInfo(
- DRMPUBHANDLE hUser,
- UINT *puUserNameLength,
- PWSTR wszUserName,
- UINT *puUserIdLength,
- PWSTR wszUserId,
- UINT *puUserIdTypeLength,
- PWSTR wszUserIdType
- );
- HRESULT WINAPI DRMGetUserRights(
- DRMPUBHANDLE hIssuanceLicense,
- DRMPUBHANDLE hUser,
- UINT uIndex,
- DRMPUBHANDLE *phRight
- );
- HRESULT WINAPI DRMGetUsers(
- DRMPUBHANDLE hIssuanceLicense,
- UINT uIndex,
- DRMPUBHANDLE *phUser
- );
- HRESULT WINAPI DRMSetApplicationSpecificData(
- DRMPUBHANDLE hIssuanceLicense,
- WINBOOL fDelete,
- PWSTR wszName,
- PWSTR wszValue
- );
- HRESULT WINAPI DRMSetMetaData(
- DRMPUBHANDLE hIssuanceLicense,
- PWSTR wszContentId,
- PWSTR wszContentIdType,
- PWSTR wszSKUId,
- PWSTR wszSKUIdType,
- PWSTR wszContentType,
- PWSTR wszContentName
- );
- HRESULT WINAPI DRMSetNameAndDescription(
- DRMPUBHANDLE hIssuanceLicense,
- WINBOOL fDelete,
- UINT lcid,
- PWSTR wszName,
- PWSTR wszDescription
- );
- HRESULT WINAPI DRMSetRevocationPoint(
- DRMPUBHANDLE hIssuanceLicense,
- WINBOOL fDelete,
- PWSTR wszId,
- PWSTR wszIdType,
- PWSTR wszURL,
- SYSTEMTIME *pstFrequency,
- PWSTR wszName,
- PWSTR wszPublicKey
- );
- HRESULT WINAPI DRMSetUsagePolicy(
- DRMPUBHANDLE hIssuanceLicense,
- DRM_USAGEPOLICY_TYPE eUsagePolicyType,
- WINBOOL fDelete,
- WINBOOL fExclusion,
- PWSTR wszName,
- PWSTR wszMinVersion,
- PWSTR wszMaxVersion,
- PWSTR wszPublicKey,
- PWSTR wszDigestAlgorithm,
- BYTE *pbDigest,
- UINT cbDigest
- );
- HRESULT WINAPI DRMCloseEnvironmentHandle(
- DRMENVHANDLE hEnv
- );
- HRESULT WINAPI DRMCloseHandle(
- DRMHANDLE handle
- );
- HRESULT WINAPI DRMClosePubHandle(
- DRMPUBHANDLE hPub
- );
- HRESULT WINAPI DRMCloseQueryHandle(
- DRMQUERYHANDLE hQuery
- );
- HRESULT WINAPI DRMDuplicateEnvironmentHandle(
- DRMENVHANDLE hToCopy,
- DRMENVHANDLE *phCopy
- );
- HRESULT WINAPI DRMDuplicateHandle(
- DRMHANDLE hToCopy,
- DRMHANDLE *phCopy
- );
- HRESULT WINAPI DRMDuplicatePubHandle(
- DRMPUBHANDLE hPubIn,
- DRMPUBHANDLE *phPubOut
- );
- HRESULT WINAPI DRMGetUnboundLicenseAttribute(
- DRMQUERYHANDLE hQueryRoot,
- PWSTR wszAttributeType,
- UINT iWhich,
- DRMENCODINGTYPE *peEncoding,
- UINT *pcBuffer,
- BYTE *pbBuffer
- );
- HRESULT WINAPI DRMGetUnboundLicenseAttributeCount(
- DRMQUERYHANDLE hQueryRoot,
- PWSTR wszAttributeType,
- UINT *pcAttributes
- );
- HRESULT WINAPI DRMGetUnboundLicenseObject(
- DRMQUERYHANDLE hQueryRoot,
- PWSTR wszSubObjectType,
- UINT iIndex,
- DRMQUERYHANDLE *phSubQuery
- );
- HRESULT WINAPI DRMGetUnboundLicenseObjectCount(
- DRMQUERYHANDLE hQueryRoot,
- PWSTR wszSubObjectType,
- UINT *pcSubObjects
- );
- HRESULT WINAPI DRMParseUnboundLicense(
- PWSTR wszCertificate,
- DRMQUERYHANDLE *phQueryRoot
- );
- HRESULT WINAPI DRMCreateBoundLicense(
- DRMENVHANDLE hEnv,
- DRMBOUNDLICENSEPARAMS *pParams,
- PWSTR wszLicenseChain,
- DRMHANDLE *phBoundLicense,
- DRMHANDLE *phErrorLog
- );
- HRESULT WINAPI DRMCreateEnablingPrincipal(
- DRMENVHANDLE hEnv,
- DRMHANDLE hLibrary,
- PWSTR wszObject,
- DRMID *pidPrincipal,
- PWSTR wszCredentials,
- DRMHANDLE *pHEnablingPrincipal
- );
- HRESULT WINAPI DRMGetBoundLicenseAttribute(
- DRMHANDLE hQueryRoot,
- PWSTR wszAttribute,
- UINT iWhich,
- DRMENCODINGTYPE *peEncoding,
- UINT *pcBuffer,
- BYTE *pbBuffer
- );
- HRESULT WINAPI DRMGetBoundLicenseAttributeCount(
- DRMHANDLE hQueryRoot,
- PWSTR wszAttribute,
- UINT *pcAttributes
- );
- HRESULT WINAPI DRMGetBoundLicenseObject(
- DRMHANDLE hQueryRoot,
- PWSTR wszSubObjectType,
- UINT iWhich,
- DRMHANDLE *phSubObject
- );
- HRESULT WINAPI DRMGetBoundLicenseObjectCount(
- DRMHANDLE hQueryRoot,
- PWSTR wszSubObjectType,
- UINT *pcSubObject
- );
- HRESULT WINAPI DRMAcquireAdvisories(
- DRMHSESSION hLicenseStorage,
- PWSTR wszLicense,
- PWSTR wszURL,
- VOID *pvContext
- );
- HRESULT WINAPI DRMAcquireLicense(
- DRMHSESSION hSession,
- UINT uFlags,
- PWSTR wszGroupIdentityCredential,
- PWSTR wszRequestedRights,
- PWSTR wszCustomData,
- PWSTR wszURL,
- VOID *pvContext
- );
- HRESULT WINAPI DRMAddLicense(
- DRMHSESSION hLicenseStorage,
- UINT uFlags,
- PWSTR wszLicense
- );
- HRESULT WINAPI DRMConstructCertificateChain(
- UINT cCertificates,
- PWSTR *rgwszCertificates,
- UINT *pcChain,
- PWSTR wszChain
- );
- HRESULT WINAPI DRMDeconstructCertificateChain(
- PWSTR wszChain,
- UINT iWhich,
- UINT *pcCert,
- PWSTR wszCert
- );
- HRESULT WINAPI DRMDeleteLicense(
- DRMHSESSION hSession,
- PWSTR wszLicenseId
- );
- HRESULT WINAPI DRMEnumerateLicense(
- DRMHSESSION hSession,
- UINT uFlags,
- UINT uIndex,
- WINBOOL *pfSharedFlag,
- UINT *puCertificateDataLen,
- PWSTR wszCertificateData
- );
- HRESULT WINAPI DRMGetCertificateChainCount(
- PWSTR wszChain,
- UINT *pcCertCount
- );
- HRESULT WINAPI DRMAttest(
- DRMHANDLE hEnablingPrincipal,
- PWSTR wszData,
- DRMATTESTTYPE eType,
- UINT *pcStrLen,
- PWSTR wszAttestedBlob
- );
- HRESULT WINAPI DRMCreateEnablingBitsDecryptor(
- DRMHANDLE hBoundLicense,
- PWSTR wszRight,
- DRMHANDLE hAuxLib,
- PWSTR wszAuxPlug,
- DRMHANDLE *phDecryptor
- );
- HRESULT WINAPI DRMCreateEnablingBitsEncryptor(
- DRMHANDLE hBoundLicense,
- PWSTR wszRight,
- DRMHANDLE hAuxLib,
- PWSTR wszAuxPlug,
- DRMHANDLE *phEncryptor
- );
- HRESULT WINAPI DRMDecrypt(
- DRMHANDLE hCryptoProvider,
- UINT iPosition,
- UINT cNumInBytes,
- BYTE *pbInData,
- UINT *pcNumOutBytes,
- BYTE *pbOutData
- );
- HRESULT WINAPI DRMEncrypt(
- DRMHANDLE hCryptoProvider,
- UINT iPosition,
- UINT cNumInBytes,
- BYTE *pbInData,
- UINT *pcNumOutBytes,
- BYTE *pbOutData
- );
- HRESULT WINAPI DRMVerify(
- PWSTR wszData,
- UINT *pcStrLenAttestedData,
- PWSTR wszAttestedData,
- DRMATTESTTYPE *peType,
- UINT *pcPrincipalChain,
- PWSTR wszPrincipalChain,
- UINT *pcManifestChain,
- PWSTR wszManifestChain
- );
- HRESULT WINAPI DRMDecode(
- PWSTR wszAlgID,
- PWSTR wszEncodedString,
- UINT *puDecodedDataLen,
- BYTE *pbDecodedData
- );
- HRESULT WINAPI DRMEncode(
- PWSTR wszAlgID,
- UINT uDataLen,
- BYTE *pbDecodedData,
- UINT *puEncodedStringLen,
- PWSTR wszEncodedString
- );
- HRESULT WINAPI DRMGetInfo(
- DRMHANDLE handle,
- PWSTR wszAttribute,
- DRMENCODINGTYPE *peEncoding,
- UINT *pcBuffer,
- BYTE *pbBuffer
- );
- HRESULT WINAPI DRMGetTime(
- DRMENVHANDLE hEnv,
- DRMTIMETYPE eTimerIdType,
- SYSTEMTIME *poTimeObject
- );
- #if (_WIN32_WINNT >= 0x0600)
- HRESULT WINAPI DRMIsWindowProtected(
- HWND hwnd,
- WINBOOL *pfProtected
- );
- HRESULT WINAPI DRMRegisterProtectedWindow(
- DRMENVHANDLE hEnv,
- HWND hwnd
- );
- HRESULT WINAPI DRMAcquireIssuanceLicenseTemplate(
- DRMHSESSION hClient,
- UINT uFlags,
- VOID *pvReserved,
- UINT cReserved,
- PWSTR *pwszReserved,
- PWSTR wszURL,
- VOID *pvContext
- );
- #endif /*(_WIN32_WINNT >= 0x0600)*/
- #if (_WIN32_WINNT >= 0x0601)
- HRESULT WINAPI DRMGetSignedIssuanceLicenseEx(
- DRMENVHANDLE hEnv,
- DRMPUBHANDLE hIssuanceLicense,
- UINT uFlags,
- BYTE *pbSymKey,
- UINT cbSymKey,
- PWSTR wszSymKeyType,
- VOID *pvReserved,
- DRMHANDLE hEnablingPrincipal,
- DRMHANDLE hBoundLicense,
- DRMCALLBACK pfnCallback,
- VOID *pvContext
- );
- #endif /*(_WIN32_WINNT >= 0x0601)*/
- #ifdef __cplusplus
- }
- #endif
- #endif /*_INC_MSDRM*/
|