| /** | |
| * 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_MSDRMDEFS | |
| #define _INC_MSDRMDEFS | |
| typedef ULONG DRMHANDLE; | |
| typedef ULONG DRMPUBHANDLE; | |
| typedef ULONG DRMHSESSION; | |
| typedef ULONG DRMENVHANDLE; | |
| typedef ULONG DRMQUERYHANDLE; | |
| typedef enum _DRM_STATUS_MSG { | |
| DRM_MSG_ACTIVATE_MACHINE = 0, | |
| DRM_MSG_ACTIVATE_GROUPIDENTITY, | |
| DRM_MSG_ACQUIRE_LICENSE, | |
| DRM_MSG_ACQUIRE_ISSUANCE_LICENSE_TEMPLATE, | |
| DRM_MSG_ACQUIRE_ADVISORY, | |
| DRM_MSG_SIGN_ISSUANCE_LICENSE, | |
| DRM_MSG_ACQUIRE_CLIENTLICENSOR | |
| } DRM_STATUS_MSG; | |
| typedef enum _DRMGLOBALOPTIONS { | |
| DRMGLOBALOPTIONS_USE_WINHTTP = 0x00, | |
| DRMGLOBALOPTIONS_USE_SERVERSECURITYPROCESSOR = 0x01 | |
| } DRMGLOBALOPTIONS; | |
| typedef enum _DRM_DISTRIBUTION_POINT_INFO { | |
| DRM_DISTRIBUTION_POINT_LICENSE_ACQUISITION = 0, | |
| DRM_DISTRIBUTION_POINT_PUBLISHING, | |
| DRM_DISTRIBUTION_POINT_REFERRAL_INFO | |
| } DRM_DISTRIBUTION_POINT_INFO; | |
| typedef enum _DRM_USAGEPOLICY_TYPE { | |
| DRM_USAGEPOLICY_TYPE_BYNAME = 0, | |
| DRM_USAGEPOLICY_TYPE_BYPUBLICKEY, | |
| DRM_USAGEPOLICY_TYPE_BYDIGEST, | |
| DRM_USAGEPOLICY_TYPE_OSEXCLUSION | |
| } DRM_USAGEPOLICY_TYPE; | |
| typedef enum _DRMATTESTTYPE { | |
| DRMATTESTTYPE_FULLENVIRONMENT = 0, | |
| DRMATTESTTYPE_HASHONLY | |
| } DRMATTESTTYPE; | |
| typedef enum _DRMENCODINGTYPE { | |
| DRMENCODINGTYPE_BASE64 = 0, | |
| DRMENCODINGTYPE_STRING, | |
| DRMENCODINGTYPE_LONG, | |
| DRMENCODINGTYPE_TIME, | |
| DRMENCODINGTYPE_UINT, | |
| DRMENCODINGTYPE_RAW | |
| } DRMENCODINGTYPE; | |
| typedef enum _DRMSECURITYPROVIDERTYPE { | |
| DRMSECURITYPROVIDERTYPE_SOFTWARESECREP = 0 | |
| } DRMSECURITYPROVIDERTYPE; | |
| typedef enum _DRMSPECTYPE { | |
| DRMSPECTYPE_UNKNOWN, | |
| DRMSPECTYPE_FILENAME | |
| } DRMSPECTYPE; | |
| typedef enum _DRMTIMETYPE { | |
| DRMTIMETYPE_SYSTEMUTC = 0, | |
| DRMTIMETYPE_SYSTEMLOCAL | |
| } DRMTIMETYPE; | |
| typedef struct _DRM_ACTSERV_INFO { | |
| UINT uVersion; | |
| PWSTR wszPubKey; | |
| PWSTR wszURL; | |
| } DRM_ACTSERV_INFO; | |
| typedef struct _DRM_CLIENT_VERSION_INFO { | |
| UINT uStructVersion; | |
| DWORD dwVersion[4]; | |
| WCHAR wszHierarchy[256]; | |
| WCHAR wszProductID[256]; | |
| WCHAR wszProductDescription[256]; | |
| } DRM_CLIENT_VERSION_INFO; | |
| typedef struct _DRMID { | |
| UINT uVersion; | |
| WCHAR *wszIDType; | |
| WCHAR *wszID; | |
| } DRMID; | |
| typedef struct _DRMBOUNDLICENSEPARAMS { | |
| UINT uVersion; | |
| DRMHANDLE hEnablingPrincipal; | |
| DRMHANDLE hSecureStore; | |
| PWSTR wszRightsRequested; | |
| PWSTR wszRightsGroup; | |
| DRMID idResource; | |
| UINT cAuthenticatorCount; | |
| DRMHANDLE *rghAuthenticators; | |
| PWSTR wszDefaultEnablingPrincipalCredentials; | |
| DWORD dwFlags; | |
| } DRMBOUNDLICENSEPARAMS; | |
| typedef HRESULT (__stdcall *DRMCALLBACK)( | |
| DRM_STATUS_MSG msg, | |
| HRESULT hr, | |
| VOID *pvParam, | |
| VOID *pvContext | |
| ); | |
| #endif /*_INC_MSDRMDEFS*/ |