/** * 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_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*/