PageRenderTime 27ms CodeModel.GetById 28ms RepoModel.GetById 0ms app.codeStats 0ms

/mingw-w64-headers/include/msdrm.h

https://gitlab.com/ubuntu-trusty/mingw-w64
C Header | 672 lines | 581 code | 86 blank | 5 comment | 0 complexity | 02d910e4d11e6b579a3a551b6cd2aa18 MD5 | raw file
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _INC_MSDRM
  7. #define _INC_MSDRM
  8. #include <msdrmdefs.h>
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. HRESULT WINAPI DRMCreateClientSession(
  13. DRMCALLBACK pfnCallback,
  14. UINT uCallbackVersion,
  15. PWSTR wszGroupIDProviderType,
  16. PWSTR wszGroupID,
  17. DRMHSESSION *phClient
  18. );
  19. HRESULT WINAPI DRMAcquireIssuanceLicenseTemplate(
  20. DRMHSESSION hClient,
  21. UINT uFlags,
  22. VOID *pvReserved,
  23. UINT cReserved,
  24. PWSTR *pwszReserved,
  25. PWSTR wszURL,
  26. VOID *pvContext
  27. );
  28. HRESULT WINAPI DRMActivate(
  29. DRMHSESSION hClient,
  30. UINT uFlags,
  31. UINT uLangID,
  32. DRM_ACTSERV_INFO *pActServInfo,
  33. VOID *pvContext,
  34. HWND hParentWnd
  35. );
  36. HRESULT WINAPI DRMGetServiceLocation(
  37. DRMHSESSION hClient,
  38. UINT uServiceType,
  39. UINT uServiceLocation,
  40. PWSTR wszIssuanceLicense,
  41. UINT *puServiceURLLength,
  42. PWSTR wszServiceURL
  43. );
  44. HRESULT WINAPI DRMIsActivated(
  45. DRMHSESSION hClient,
  46. UINT uFlags,
  47. DRM_ACTSERV_INFO *pActServInfo
  48. );
  49. HRESULT WINAPI DRMCheckSecurity(
  50. DRMENVHANDLE hEnv,
  51. UINT cLevel
  52. );
  53. HRESULT WINAPI DRMCloseSession(
  54. DRMHSESSION hSession
  55. );
  56. HRESULT WINAPI DRMCreateLicenseStorageSession(
  57. DRMENVHANDLE hEnv,
  58. DRMHANDLE hDefaultLibrary,
  59. DRMHSESSION hClient,
  60. UINT uFlags,
  61. PWSTR wszIssuanceLicense,
  62. DRMHSESSION *phLicenseStorage
  63. );
  64. HRESULT WINAPI DRMDuplicateSession(
  65. DRMHSESSION hSessionIn,
  66. DRMHSESSION *phSessionOut
  67. );
  68. HRESULT WINAPI DRMGetClientVersion(
  69. DRM_CLIENT_VERSION_INFO *pDRMClientVersionInfo
  70. );
  71. HRESULT WINAPI DRMGetEnvironmentInfo(
  72. DRMENVHANDLE handle,
  73. PWSTR wszAttribute,
  74. DRMENCODINGTYPE *peEncoding,
  75. UINT *pcBuffer,
  76. BYTE *pbBuffer
  77. );
  78. HRESULT WINAPI DRMGetIntervalTime(
  79. DRMPUBHANDLE hIssuanceLicense,
  80. UINT *pcDays
  81. );
  82. HRESULT WINAPI DRMGetOwnerLicense(
  83. DRMPUBHANDLE hIssuanceLicense,
  84. UINT *puLength,
  85. PWSTR wszOwnerLicense
  86. );
  87. HRESULT WINAPI DRMGetProcAddress(
  88. DRMHANDLE hLibrary,
  89. PWSTR wszProcName,
  90. FARPROC *ppfnProcAddress
  91. );
  92. HRESULT WINAPI DRMGetSecurityProvider(
  93. UINT uFlags,
  94. UINT *puTypeLen,
  95. PWSTR wszType,
  96. UINT *puPathLen,
  97. PWSTR wszPath
  98. );
  99. HRESULT WINAPI DRMInitEnvironment(
  100. DRMSECURITYPROVIDERTYPE eSecurityProviderType,
  101. DRMSPECTYPE eSpecification,
  102. PWSTR wszSecurityProvider,
  103. PWSTR wszManifestCredentials,
  104. PWSTR wszMachineCredentials,
  105. DRMENVHANDLE *phEnv,
  106. DRMHANDLE *phDefaultLibrary
  107. );
  108. HRESULT WINAPI DRMLoadLibrary(
  109. DRMENVHANDLE hEnv,
  110. DRMSPECTYPE eSpecification,
  111. PWSTR wszLibraryProvider,
  112. PWSTR wszCredentials,
  113. DRMHANDLE *phLibrary
  114. );
  115. HRESULT WINAPI DRMRegisterContent(
  116. WINBOOL fRegister
  117. );
  118. HRESULT WINAPI DRMRegisterRevocationList(
  119. DRMENVHANDLE hEnv,
  120. PWSTR wszRevocationList
  121. );
  122. HRESULT WINAPI DRMRepair(void);
  123. HRESULT WINAPI DRMSetIntervalTime(
  124. DRMPUBHANDLE hIssuanceLicense,
  125. UINT cDays
  126. );
  127. HRESULT WINAPI DRMSetGlobalOptions(
  128. DRMGLOBALOPTIONS eGlobalOptions,
  129. LPVOID pvdata,
  130. DWORD dwlen
  131. );
  132. HRESULT WINAPI DRMAddRightWithUser(
  133. DRMPUBHANDLE hIssuanceLicense,
  134. DRMPUBHANDLE hRight,
  135. DRMPUBHANDLE hUser
  136. );
  137. HRESULT WINAPI DRMClearAllRights(
  138. DRMPUBHANDLE hIssuanceLicense
  139. );
  140. HRESULT WINAPI DRMCreateIssuanceLicense(
  141. SYSTEMTIME *pstTimeFrom,
  142. SYSTEMTIME *pstTimeUntil,
  143. PWSTR wszReferralInfoName,
  144. PWSTR wszReferralInfoURL,
  145. DRMPUBHANDLE hOwner,
  146. PWSTR wszIssuanceLicense,
  147. DRMHANDLE hBoundLicense,
  148. DRMPUBHANDLE *phIssuanceLicense
  149. );
  150. HRESULT WINAPI DRMCreateRight(
  151. PWSTR wszRightName,
  152. SYSTEMTIME *pstFrom,
  153. SYSTEMTIME *pstUntil,
  154. UINT cExtendedInfo,
  155. PWSTR *pwszExtendedInfoName,
  156. PWSTR *pwszExtendedInfoValue,
  157. DRMPUBHANDLE *phRight
  158. );
  159. HRESULT WINAPI DRMCreateUser(
  160. PWSTR wszUserName,
  161. PWSTR wszUserId,
  162. PWSTR wszUserIdType,
  163. DRMPUBHANDLE *phUser
  164. );
  165. HRESULT WINAPI DRMGetApplicationSpecificData(
  166. DRMPUBHANDLE hIssuanceLicense,
  167. UINT uIndex,
  168. UINT *puNameLength,
  169. PWSTR wszName,
  170. UINT *puValueLength,
  171. PWSTR wszValue
  172. );
  173. HRESULT WINAPI DRMGetIssuanceLicenseInfo(
  174. DRMPUBHANDLE hIssuanceLicense,
  175. SYSTEMTIME *pstTimeFrom,
  176. SYSTEMTIME *pstTimeUntil,
  177. UINT uFlags,
  178. UINT *puDistributionPointNameLength,
  179. PWSTR wszDistributionPointName,
  180. UINT *puDistributionPointURLLength,
  181. PWSTR wszDistributionPointURL,
  182. DRMPUBHANDLE *phOwner,
  183. WINBOOL *pfOfficial
  184. );
  185. HRESULT WINAPI DRMGetIssuanceLicenseTemplate(
  186. DRMPUBHANDLE hIssuanceLicense,
  187. UINT *puIssuanceLicenseTemplateLength,
  188. PWSTR wszIssuanceLicenseTemplate
  189. );
  190. HRESULT WINAPI DRMGetMetaData(
  191. DRMPUBHANDLE hIssuanceLicense,
  192. UINT *puContentIdLength,
  193. PWSTR wszContentId,
  194. UINT *puContentIdTypeLength,
  195. PWSTR wszContentIdType,
  196. UINT *puSKUIdLength,
  197. PWSTR wszSKUId,
  198. UINT *puSKUIdTypeLength,
  199. PWSTR wszSKUIdType,
  200. UINT *puContentTypeLength,
  201. PWSTR wszContentType,
  202. UINT *puContentNameLength,
  203. PWSTR wszContentName
  204. );
  205. HRESULT WINAPI DRMGetNameAndDescription(
  206. DRMPUBHANDLE hIssuanceLicense,
  207. UINT uIndex,
  208. UINT *pulcid,
  209. UINT *puNameLength,
  210. PWSTR wszName,
  211. UINT *puDescriptionLength,
  212. PWSTR wszDescription
  213. );
  214. HRESULT WINAPI DRMGetRevocationPoint(
  215. DRMPUBHANDLE hIssuanceLicense,
  216. UINT *puIdLength,
  217. PWSTR wszId,
  218. UINT *puIdTypeLength,
  219. PWSTR wszIdType,
  220. UINT *puURLLength,
  221. PWSTR wszURL,
  222. SYSTEMTIME *pstFrequency,
  223. UINT *puNameLength,
  224. PWSTR wszName,
  225. UINT *puPublicKeyLength,
  226. PWSTR wszPublicKey
  227. );
  228. HRESULT WINAPI DRMGetRightExtendedInfo(
  229. DRMPUBHANDLE hRight,
  230. UINT uIndex,
  231. UINT *puExtendedInfoNameLength,
  232. PWSTR wszExtendedInfoName,
  233. UINT *puExtendedInfoValueLength,
  234. PWSTR wszExtendedInfoValue
  235. );
  236. HRESULT WINAPI DRMGetRightInfo(
  237. DRMPUBHANDLE hRight,
  238. UINT *puRightNameLength,
  239. PWSTR wszRightName,
  240. SYSTEMTIME *pstFrom,
  241. SYSTEMTIME *pstUntil
  242. );
  243. HRESULT WINAPI DRMGetSignedIssuanceLicense(
  244. DRMENVHANDLE hEnv,
  245. DRMPUBHANDLE hIssuanceLicense,
  246. UINT uFlags,
  247. BYTE *pbSymKey,
  248. UINT cbSymKey,
  249. PWSTR wszSymKeyType,
  250. PWSTR wszClientLicensorCertificate,
  251. DRMCALLBACK pfnCallback,
  252. PWSTR wszURL,
  253. VOID *pvContext
  254. );
  255. HRESULT WINAPI DRMGetUsagePolicy(
  256. DRMPUBHANDLE hIssuanceLicense,
  257. UINT uIndex,
  258. DRM_USAGEPOLICY_TYPE *peUsagePolicyType,
  259. WINBOOL *pfExclusion,
  260. UINT *puNameLength,
  261. PWSTR wszName,
  262. UINT *puMinVersionLength,
  263. PWSTR wszMinVersion,
  264. UINT *puMaxVersionLength,
  265. PWSTR wszMaxVersion,
  266. UINT *puPublicKeyLength,
  267. PWSTR wszPublicKey,
  268. UINT *puDigestAlgorithmLength,
  269. PWSTR wszDigestAlgorithm,
  270. UINT *pcbDigest,
  271. BYTE *pbDigest
  272. );
  273. HRESULT WINAPI DRMGetUserInfo(
  274. DRMPUBHANDLE hUser,
  275. UINT *puUserNameLength,
  276. PWSTR wszUserName,
  277. UINT *puUserIdLength,
  278. PWSTR wszUserId,
  279. UINT *puUserIdTypeLength,
  280. PWSTR wszUserIdType
  281. );
  282. HRESULT WINAPI DRMGetUserRights(
  283. DRMPUBHANDLE hIssuanceLicense,
  284. DRMPUBHANDLE hUser,
  285. UINT uIndex,
  286. DRMPUBHANDLE *phRight
  287. );
  288. HRESULT WINAPI DRMGetUsers(
  289. DRMPUBHANDLE hIssuanceLicense,
  290. UINT uIndex,
  291. DRMPUBHANDLE *phUser
  292. );
  293. HRESULT WINAPI DRMSetApplicationSpecificData(
  294. DRMPUBHANDLE hIssuanceLicense,
  295. WINBOOL fDelete,
  296. PWSTR wszName,
  297. PWSTR wszValue
  298. );
  299. HRESULT WINAPI DRMSetMetaData(
  300. DRMPUBHANDLE hIssuanceLicense,
  301. PWSTR wszContentId,
  302. PWSTR wszContentIdType,
  303. PWSTR wszSKUId,
  304. PWSTR wszSKUIdType,
  305. PWSTR wszContentType,
  306. PWSTR wszContentName
  307. );
  308. HRESULT WINAPI DRMSetNameAndDescription(
  309. DRMPUBHANDLE hIssuanceLicense,
  310. WINBOOL fDelete,
  311. UINT lcid,
  312. PWSTR wszName,
  313. PWSTR wszDescription
  314. );
  315. HRESULT WINAPI DRMSetRevocationPoint(
  316. DRMPUBHANDLE hIssuanceLicense,
  317. WINBOOL fDelete,
  318. PWSTR wszId,
  319. PWSTR wszIdType,
  320. PWSTR wszURL,
  321. SYSTEMTIME *pstFrequency,
  322. PWSTR wszName,
  323. PWSTR wszPublicKey
  324. );
  325. HRESULT WINAPI DRMSetUsagePolicy(
  326. DRMPUBHANDLE hIssuanceLicense,
  327. DRM_USAGEPOLICY_TYPE eUsagePolicyType,
  328. WINBOOL fDelete,
  329. WINBOOL fExclusion,
  330. PWSTR wszName,
  331. PWSTR wszMinVersion,
  332. PWSTR wszMaxVersion,
  333. PWSTR wszPublicKey,
  334. PWSTR wszDigestAlgorithm,
  335. BYTE *pbDigest,
  336. UINT cbDigest
  337. );
  338. HRESULT WINAPI DRMCloseEnvironmentHandle(
  339. DRMENVHANDLE hEnv
  340. );
  341. HRESULT WINAPI DRMCloseHandle(
  342. DRMHANDLE handle
  343. );
  344. HRESULT WINAPI DRMClosePubHandle(
  345. DRMPUBHANDLE hPub
  346. );
  347. HRESULT WINAPI DRMCloseQueryHandle(
  348. DRMQUERYHANDLE hQuery
  349. );
  350. HRESULT WINAPI DRMDuplicateEnvironmentHandle(
  351. DRMENVHANDLE hToCopy,
  352. DRMENVHANDLE *phCopy
  353. );
  354. HRESULT WINAPI DRMDuplicateHandle(
  355. DRMHANDLE hToCopy,
  356. DRMHANDLE *phCopy
  357. );
  358. HRESULT WINAPI DRMDuplicatePubHandle(
  359. DRMPUBHANDLE hPubIn,
  360. DRMPUBHANDLE *phPubOut
  361. );
  362. HRESULT WINAPI DRMGetUnboundLicenseAttribute(
  363. DRMQUERYHANDLE hQueryRoot,
  364. PWSTR wszAttributeType,
  365. UINT iWhich,
  366. DRMENCODINGTYPE *peEncoding,
  367. UINT *pcBuffer,
  368. BYTE *pbBuffer
  369. );
  370. HRESULT WINAPI DRMGetUnboundLicenseAttributeCount(
  371. DRMQUERYHANDLE hQueryRoot,
  372. PWSTR wszAttributeType,
  373. UINT *pcAttributes
  374. );
  375. HRESULT WINAPI DRMGetUnboundLicenseObject(
  376. DRMQUERYHANDLE hQueryRoot,
  377. PWSTR wszSubObjectType,
  378. UINT iIndex,
  379. DRMQUERYHANDLE *phSubQuery
  380. );
  381. HRESULT WINAPI DRMGetUnboundLicenseObjectCount(
  382. DRMQUERYHANDLE hQueryRoot,
  383. PWSTR wszSubObjectType,
  384. UINT *pcSubObjects
  385. );
  386. HRESULT WINAPI DRMParseUnboundLicense(
  387. PWSTR wszCertificate,
  388. DRMQUERYHANDLE *phQueryRoot
  389. );
  390. HRESULT WINAPI DRMCreateBoundLicense(
  391. DRMENVHANDLE hEnv,
  392. DRMBOUNDLICENSEPARAMS *pParams,
  393. PWSTR wszLicenseChain,
  394. DRMHANDLE *phBoundLicense,
  395. DRMHANDLE *phErrorLog
  396. );
  397. HRESULT WINAPI DRMCreateEnablingPrincipal(
  398. DRMENVHANDLE hEnv,
  399. DRMHANDLE hLibrary,
  400. PWSTR wszObject,
  401. DRMID *pidPrincipal,
  402. PWSTR wszCredentials,
  403. DRMHANDLE *pHEnablingPrincipal
  404. );
  405. HRESULT WINAPI DRMGetBoundLicenseAttribute(
  406. DRMHANDLE hQueryRoot,
  407. PWSTR wszAttribute,
  408. UINT iWhich,
  409. DRMENCODINGTYPE *peEncoding,
  410. UINT *pcBuffer,
  411. BYTE *pbBuffer
  412. );
  413. HRESULT WINAPI DRMGetBoundLicenseAttributeCount(
  414. DRMHANDLE hQueryRoot,
  415. PWSTR wszAttribute,
  416. UINT *pcAttributes
  417. );
  418. HRESULT WINAPI DRMGetBoundLicenseObject(
  419. DRMHANDLE hQueryRoot,
  420. PWSTR wszSubObjectType,
  421. UINT iWhich,
  422. DRMHANDLE *phSubObject
  423. );
  424. HRESULT WINAPI DRMGetBoundLicenseObjectCount(
  425. DRMHANDLE hQueryRoot,
  426. PWSTR wszSubObjectType,
  427. UINT *pcSubObject
  428. );
  429. HRESULT WINAPI DRMAcquireAdvisories(
  430. DRMHSESSION hLicenseStorage,
  431. PWSTR wszLicense,
  432. PWSTR wszURL,
  433. VOID *pvContext
  434. );
  435. HRESULT WINAPI DRMAcquireLicense(
  436. DRMHSESSION hSession,
  437. UINT uFlags,
  438. PWSTR wszGroupIdentityCredential,
  439. PWSTR wszRequestedRights,
  440. PWSTR wszCustomData,
  441. PWSTR wszURL,
  442. VOID *pvContext
  443. );
  444. HRESULT WINAPI DRMAddLicense(
  445. DRMHSESSION hLicenseStorage,
  446. UINT uFlags,
  447. PWSTR wszLicense
  448. );
  449. HRESULT WINAPI DRMConstructCertificateChain(
  450. UINT cCertificates,
  451. PWSTR *rgwszCertificates,
  452. UINT *pcChain,
  453. PWSTR wszChain
  454. );
  455. HRESULT WINAPI DRMDeconstructCertificateChain(
  456. PWSTR wszChain,
  457. UINT iWhich,
  458. UINT *pcCert,
  459. PWSTR wszCert
  460. );
  461. HRESULT WINAPI DRMDeleteLicense(
  462. DRMHSESSION hSession,
  463. PWSTR wszLicenseId
  464. );
  465. HRESULT WINAPI DRMEnumerateLicense(
  466. DRMHSESSION hSession,
  467. UINT uFlags,
  468. UINT uIndex,
  469. WINBOOL *pfSharedFlag,
  470. UINT *puCertificateDataLen,
  471. PWSTR wszCertificateData
  472. );
  473. HRESULT WINAPI DRMGetCertificateChainCount(
  474. PWSTR wszChain,
  475. UINT *pcCertCount
  476. );
  477. HRESULT WINAPI DRMAttest(
  478. DRMHANDLE hEnablingPrincipal,
  479. PWSTR wszData,
  480. DRMATTESTTYPE eType,
  481. UINT *pcStrLen,
  482. PWSTR wszAttestedBlob
  483. );
  484. HRESULT WINAPI DRMCreateEnablingBitsDecryptor(
  485. DRMHANDLE hBoundLicense,
  486. PWSTR wszRight,
  487. DRMHANDLE hAuxLib,
  488. PWSTR wszAuxPlug,
  489. DRMHANDLE *phDecryptor
  490. );
  491. HRESULT WINAPI DRMCreateEnablingBitsEncryptor(
  492. DRMHANDLE hBoundLicense,
  493. PWSTR wszRight,
  494. DRMHANDLE hAuxLib,
  495. PWSTR wszAuxPlug,
  496. DRMHANDLE *phEncryptor
  497. );
  498. HRESULT WINAPI DRMDecrypt(
  499. DRMHANDLE hCryptoProvider,
  500. UINT iPosition,
  501. UINT cNumInBytes,
  502. BYTE *pbInData,
  503. UINT *pcNumOutBytes,
  504. BYTE *pbOutData
  505. );
  506. HRESULT WINAPI DRMEncrypt(
  507. DRMHANDLE hCryptoProvider,
  508. UINT iPosition,
  509. UINT cNumInBytes,
  510. BYTE *pbInData,
  511. UINT *pcNumOutBytes,
  512. BYTE *pbOutData
  513. );
  514. HRESULT WINAPI DRMVerify(
  515. PWSTR wszData,
  516. UINT *pcStrLenAttestedData,
  517. PWSTR wszAttestedData,
  518. DRMATTESTTYPE *peType,
  519. UINT *pcPrincipalChain,
  520. PWSTR wszPrincipalChain,
  521. UINT *pcManifestChain,
  522. PWSTR wszManifestChain
  523. );
  524. HRESULT WINAPI DRMDecode(
  525. PWSTR wszAlgID,
  526. PWSTR wszEncodedString,
  527. UINT *puDecodedDataLen,
  528. BYTE *pbDecodedData
  529. );
  530. HRESULT WINAPI DRMEncode(
  531. PWSTR wszAlgID,
  532. UINT uDataLen,
  533. BYTE *pbDecodedData,
  534. UINT *puEncodedStringLen,
  535. PWSTR wszEncodedString
  536. );
  537. HRESULT WINAPI DRMGetInfo(
  538. DRMHANDLE handle,
  539. PWSTR wszAttribute,
  540. DRMENCODINGTYPE *peEncoding,
  541. UINT *pcBuffer,
  542. BYTE *pbBuffer
  543. );
  544. HRESULT WINAPI DRMGetTime(
  545. DRMENVHANDLE hEnv,
  546. DRMTIMETYPE eTimerIdType,
  547. SYSTEMTIME *poTimeObject
  548. );
  549. #if (_WIN32_WINNT >= 0x0600)
  550. HRESULT WINAPI DRMIsWindowProtected(
  551. HWND hwnd,
  552. WINBOOL *pfProtected
  553. );
  554. HRESULT WINAPI DRMRegisterProtectedWindow(
  555. DRMENVHANDLE hEnv,
  556. HWND hwnd
  557. );
  558. HRESULT WINAPI DRMAcquireIssuanceLicenseTemplate(
  559. DRMHSESSION hClient,
  560. UINT uFlags,
  561. VOID *pvReserved,
  562. UINT cReserved,
  563. PWSTR *pwszReserved,
  564. PWSTR wszURL,
  565. VOID *pvContext
  566. );
  567. #endif /*(_WIN32_WINNT >= 0x0600)*/
  568. #if (_WIN32_WINNT >= 0x0601)
  569. HRESULT WINAPI DRMGetSignedIssuanceLicenseEx(
  570. DRMENVHANDLE hEnv,
  571. DRMPUBHANDLE hIssuanceLicense,
  572. UINT uFlags,
  573. BYTE *pbSymKey,
  574. UINT cbSymKey,
  575. PWSTR wszSymKeyType,
  576. VOID *pvReserved,
  577. DRMHANDLE hEnablingPrincipal,
  578. DRMHANDLE hBoundLicense,
  579. DRMCALLBACK pfnCallback,
  580. VOID *pvContext
  581. );
  582. #endif /*(_WIN32_WINNT >= 0x0601)*/
  583. #ifdef __cplusplus
  584. }
  585. #endif
  586. #endif /*_INC_MSDRM*/