| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the w64 mingw-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*/ |