Guest User

Untitled

a guest
Sep 7th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.61 KB | None | 0 0
  1. RIDL!{#[uuid(0xdc12a681, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)]
  2. interface IWbemClassObject(IWbemClassObjectVtbl): IUnknown(IUnknownVtbl) {
  3. fn GetQualifierSet(
  4. ppQualSet: *mut *mut IWbemQualifierSet,
  5. ) -> HRESULT,
  6. fn Get(
  7. wszName: LPCWSTR,
  8. lFlags: i32,
  9. pVal: *mut VARIANT,
  10. pType: *mut i32,
  11. plFlavor: *mut i32,
  12. ) -> HRESULT,
  13. fn Put(
  14. wszName: LPCWSTR,
  15. lFlags: i32,
  16. pVal: *const VARIANT,
  17. Type: i32,
  18. ) -> HRESULT,
  19. fn Delete(
  20. wszName: LPCWSTR,
  21. ) -> HRESULT,
  22. fn GetNames(
  23. wszQualifierName: LPCWSTR,
  24. lFlags: i32,
  25. pQualifierVal: *const VARIANT,
  26. pNames: *mut SAFEARRAY,
  27. ) -> HRESULT,
  28. fn BeginEnumeration(
  29. lEnumFlags: i32,
  30. ) -> HRESULT,
  31. fn Next(
  32. lFlags: i32,
  33. strName: *mut BSTR,
  34. pVal: *mut VARIANT,
  35. pType: *mut i32,
  36. plFlavor: *mut i32,
  37. ) -> HRESULT,
  38. fn EndEnumeration(
  39. ) -> HRESULT,
  40. fn GetPropertyQualifierSet(
  41. wszProperty: LPCWSTR,
  42. ppQualSet: *mut *mut IWbemQualifierSet,
  43. ) -> HRESULT,
  44. fn Clone(
  45. ppCopy: *mut *mut IWbemClassObject,
  46. ) -> HRESULT,
  47. fn GetObjectText(
  48. lFlags: i32,
  49. pstrObjectText: *mut BSTR,
  50. ) -> HRESULT,
  51. fn SpawnDerivedClass(
  52. lFlags: i32,
  53. ppNewClass: *mut *mut IWbemClassObject,
  54. ) -> HRESULT,
  55. fn SpawnInstance(
  56. lFlags: i32,
  57. ppNewInstance: *mut *mut IWbemClassObject,
  58. ) -> HRESULT,
  59. fn CompareTo(
  60. lFlags: i32,
  61. pCompareTo: *const IWbemClassObject,
  62. ) -> HRESULT,
  63. fn GetPropertyOrigin(
  64. wszName: LPCWSTR,
  65. pstrClassName: *mut BSTR,
  66. ) -> HRESULT,
  67. fn InheritsFrom(
  68. strAncestor: LPCWSTR,
  69. ) -> HRESULT,
  70. fn GetMethod(
  71. wszName: LPCWSTR,
  72. lFlags: i32,
  73. ppInSignature: *mut *mut IWbemClassObject,
  74. ppOutSignature: *mut *mut IWbemClassObject,
  75. ) -> HRESULT,
  76. fn PutMethod(
  77. wszName: LPCWSTR,
  78. lFlags: i32,
  79. pInSignature: *const IWbemClassObject,
  80. pOutSignature: *const IWbemClassObject,
  81. ) -> HRESULT,
  82. fn DeleteMethod(
  83. wszName: LPCWSTR,
  84. ) -> HRESULT,
  85. fn BeginMethodEnumeration(
  86. lEnumFlags: i32,
  87. ) -> HRESULT,
  88. fn NextMethod(
  89. lFlags: i32,
  90. pstrName: *mut BSTR,
  91. ppInSignature: *mut *mut IWbemClassObject,
  92. ppOutSignature: *mut *mut IWbemClassObject,
  93. ) -> HRESULT,
  94. fn EndMethodEnumeration(
  95. ) -> HRESULT,
  96. fn GetMethodQualifierSet(
  97. wszMethod: LPCWSTR,
  98. ppQualSet: *mut *mut IWbemQualifierSet,
  99. ) -> HRESULT,
  100. fn GetMethodOrigin(
  101. wszMethodName: LPCWSTR,
  102. pstrClassName: *mut BSTR,
  103. ) -> HRESULT,
  104. }}
  105.  
  106. RIDL!{#[uuid(0xdc12a680, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)]
  107. interface IWbemQualifierSet(IWbemQualifierSetVtbl): IUnknown(IUnknownVtbl) {
  108. fn Get(
  109. wszName: LPCWSTR,
  110. lFlags: i32,
  111. pVal: *mut VARIANT,
  112. plFlavor: *mut i32,
  113. ) -> HRESULT,
  114. fn Put(
  115. wszName: LPCWSTR,
  116. pVal: *const VARIANT,
  117. lFlavor: i32,
  118. ) -> HRESULT,
  119. fn Delete(
  120. wszName: LPCWSTR,
  121. ) -> HRESULT,
  122. fn GetNames(
  123. lFlags: i32,
  124. pNames: *mut SAFEARRAY,
  125. ) -> HRESULT,
  126. fn BeginEnumeration(
  127. lFlags: i32,
  128. ) -> HRESULT,
  129. fn Next(
  130. lFlags: i32,
  131. pstrName: *mut BSTR,
  132. pVal: *mut VARIANT,
  133. plFlavor: *mut i32,
  134. ) -> HRESULT,
  135. fn EndEnumeration(
  136. ) -> HRESULT,
  137. }}
  138.  
  139. RIDL!{#[uuid(0x49353c9a, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
  140. interface IWbemObjectAccess(IWbemObjectAccessVtbl): IWbemClassObject(IWbemClassObjectVtbl) {
  141. fn GetPropertyHandle(
  142. wszPropertyName: LPCWSTR,
  143. pType: *mut i32,
  144. plHandle: *mut i32,
  145. ) -> HRESULT,
  146. fn WritePropertyValue(
  147. lHandle: i32,
  148. lNumBytes: i32,
  149. aData: *const u8,
  150. ) -> HRESULT,
  151. fn ReadPropertyValue(
  152. lHandle: i32,
  153. lBufferSize: i32,
  154. plNumBytes: *mut i32,
  155. aData: *mut u8,
  156. ) -> HRESULT,
  157. fn ReadDWORD(
  158. lHandle: i32,
  159. pdw: *mut u32,
  160. ) -> HRESULT,
  161. fn WriteDWORD(
  162. lHandle: i32,
  163. dw: u32,
  164. ) -> HRESULT,
  165. fn ReadQWORD(
  166. lHandle: i32,
  167. pqw: *mut u64,
  168. ) -> HRESULT,
  169. fn WriteQWORD(
  170. lHandle: i32,
  171. pw: u64,
  172. ) -> HRESULT,
  173. fn GetPropertyInfoByHandle(
  174. lHandle: i32,
  175. pstrName: *mut BSTR,
  176. pType: *mut i32,
  177. ) -> HRESULT,
  178. fn Lock(
  179. lFlags: i32,
  180. ) -> HRESULT,
  181. fn Unlock(
  182. lFlags: i32,
  183. ) -> HRESULT,
  184. }}
  185.  
  186. RIDL!{#[uuid(0x9556dc99, 0x828c, 0x11cf, 0xa3, 0x7e, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7)]
  187. interface IWbemServices(IWbemServicesVtbl): IUnknown(IUnknownVtbl) {
  188. fn OpenNamespace(
  189. strNamespace: BSTR,
  190. lFlags: i32,
  191. pCtx: *const IWbemContext,
  192. ppWorkingNamespace: *mut *mut IWbemServices,
  193. ppResult: *mut *mut IWbemCallResult,
  194. ) -> HRESULT,
  195. fn CancelAsyncCall(
  196. pSink: *const IWbemObjectSink,
  197. ) -> HRESULT,
  198. fn QueryObjectSink(
  199. lFlags: i32,
  200. ppResponseHandler: *mut *mut IWbemObjectSink,
  201. ) -> HRESULT,
  202. fn GetObject(
  203. strObjectPath: BSTR,
  204. lFlags: i32,
  205. pCtx: *const IWbemContext,
  206. ppObject: *mut *mut IWbemClassObject,
  207. ppCallResult: *mut *mut IWbemCallResult,
  208. ) -> HRESULT,
  209. fn GetObjectAsync(
  210. strObjectPath: BSTR,
  211. lFlags: i32,
  212. pCtx: *const IWbemContext,
  213. pResponseHandler: *const IWbemObjectSink,
  214. ) -> HRESULT,
  215. fn PutClass(
  216. pObject: *const IWbemClassObject,
  217. lFlags: i32,
  218. pCtx: *const IWbemContext,
  219. ppCallResult: *mut *mut IWbemCallResult,
  220. ) -> HRESULT,
  221. fn PutClassAsync(
  222. pObject: *const IWbemClassObject,
  223. lFlags: i32,
  224. pCtx: *const IWbemContext,
  225. pResponseHandler: *const IWbemObjectSink,
  226. ) -> HRESULT,
  227. fn DeleteClass(
  228. strClass: BSTR,
  229. lFlags: i32,
  230. pCtx: *const IWbemContext,
  231. ppCallResult: *mut *mut IWbemCallResult,
  232. ) -> HRESULT,
  233. fn DeleteClassAsync(
  234. strClass: BSTR,
  235. lFlags: i32,
  236. pCtx: *const IWbemContext,
  237. pResponseHandler: *const IWbemObjectSink,
  238. ) -> HRESULT,
  239. fn CreateClassEnum(
  240. strSuperclass: BSTR,
  241. lFlags: i32,
  242. pCtx: *const IWbemContext,
  243. ppEnum: *mut *mut IEnumWbemClassObject,
  244. ) -> HRESULT,
  245. fn CreateClassEnumAsync(
  246. strSuperclass: BSTR,
  247. lFlags: i32,
  248. pCtx: *const IWbemContext,
  249. pResponseHandler: *const IWbemObjectSink,
  250. ) -> HRESULT,
  251. fn PutInstance(
  252. pInst: *const IWbemClassObject,
  253. lFlags: i32,
  254. pCtx: *const IWbemContext,
  255. ppCallResult: *mut *mut IWbemCallResult,
  256. ) -> HRESULT,
  257. fn PutInstanceAsync(
  258. pInst: *const IWbemClassObject,
  259. lFlags: i32,
  260. pCtx: *const IWbemContext,
  261. pResponseHandler: *const IWbemObjectSink,
  262. ) -> HRESULT,
  263. fn DeleteInstance(
  264. strObjectPath: BSTR,
  265. lFlags: i32,
  266. pCtx: *const IWbemContext,
  267. ppCallResult: *mut *mut IWbemCallResult,
  268. ) -> HRESULT,
  269. fn DeleteInstanceAsync(
  270. strObjectPath: BSTR,
  271. lFlags: i32,
  272. pCtx: *const IWbemContext,
  273. pResponseHandler: *const IWbemObjectSink,
  274. ) -> HRESULT,
  275. fn CreateInstanceEnum(
  276. strFilter: BSTR,
  277. lFlags: i32,
  278. pCtx: *const IWbemContext,
  279. ppEnum: *mut *mut IEnumWbemClassObject,
  280. ) -> HRESULT,
  281. fn CreateInstanceEnumAsync(
  282. strFilter: BSTR,
  283. lFlags: i32,
  284. pCtx: *const IWbemContext,
  285. pResponseHandler: *const IWbemObjectSink,
  286. ) -> HRESULT,
  287. fn ExecQuery(
  288. strQueryLanguage: BSTR,
  289. strQuery: BSTR,
  290. lFlags: i32,
  291. pCtx: *const IWbemContext,
  292. ppEnum: *mut *mut IEnumWbemClassObject,
  293. ) -> HRESULT,
  294. fn ExecQueryAsync(
  295. strQueryLanguage: BSTR,
  296. strQuery: BSTR,
  297. lFlags: i32,
  298. pCtx: *const IWbemContext,
  299. pResponseHandler: *const IWbemObjectSink,
  300. ) -> HRESULT,
  301. fn ExecNotificationQuery(
  302. strQueryLanguage: BSTR,
  303. strQuery: BSTR,
  304. lFlags: i32,
  305. pCtx: *const IWbemContext,
  306. ppEnum: *mut *mut IEnumWbemClassObject,
  307. ) -> HRESULT,
  308. fn ExecNotificationQueryAsync(
  309. strQueryLanguage: BSTR,
  310. strQuery: BSTR,
  311. lFlags: i32,
  312. pCtx: *const IWbemContext,
  313. pResponseHandler: *const IWbemObjectSink,
  314. ) -> HRESULT,
  315. fn ExecMethod(
  316. strObjectPath: BSTR,
  317. strMethodName: BSTR,
  318. lFlags: i32,
  319. pCtx: *const IWbemContext,
  320. pInParams: *const IWbemClassObject,
  321. ppOutParams: *mut *mut IWbemClassObject,
  322. ppCallResult: *mut *mut IWbemCallResult,
  323. ) -> HRESULT,
  324. fn ExecMethodAsync(
  325. strObjectPath: BSTR,
  326. strMethodName: BSTR,
  327. lFlags: i32,
  328. pCtx: *const IWbemContext,
  329. pInParams: *const IWbemClassObject,
  330. pResponseHandler: *const IWbemObjectSink,
  331. ) -> HRESULT,
  332. }}
  333.  
  334. RIDL!{#[uuid(0x44aca674, 0xe8fc, 0x11d0, 0xa0, 0x7c, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
  335. interface IWbemContext(IWbemContextVtbl): IUnknown(IUnknownVtbl) {
  336. fn Clone(
  337. ppNewCopy: *mut *mut IWbemContext,
  338. ) -> HRESULT,
  339. fn GetNames(
  340. lFlags: i32,
  341. pNames: *mut SAFEARRAY,
  342. ) -> HRESULT,
  343. fn BeginEnumeration(
  344. lFlags: i32,
  345. ) -> HRESULT,
  346. fn Next(
  347. lFlags: i32,
  348. pstrName: *mut BSTR,
  349. pValue: *mut VARIANT,
  350. ) -> HRESULT,
  351. fn EndEnumeration(
  352. ) -> HRESULT,
  353. fn SetValue(
  354. wszName: LPCWSTR,
  355. lFlags: i32,
  356. pValue: *const VARIANT,
  357. ) -> HRESULT,
  358. fn GetValue(
  359. wszName: LPCWSTR,
  360. lFlags: i32,
  361. pValue: *mut VARIANT,
  362. ) -> HRESULT,
  363. fn DeleteValue(
  364. wszName: LPCWSTR,
  365. lFlags: i32,
  366. ) -> HRESULT,
  367. fn DeleteAll(
  368. ) -> HRESULT,
  369. }}
  370.  
  371. RIDL!{#[uuid(0x44aca675, 0xe8fc, 0x11d0, 0xa0, 0x7c, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
  372. interface IWbemCallResult(IWbemCallResultVtbl): IUnknown(IUnknownVtbl) {
  373. fn GetResultObject(
  374. lTimeout: i32,
  375. ppResultObject: *mut *mut IWbemClassObject,
  376. ) -> HRESULT,
  377. fn GetResultString(
  378. lTimeout: i32,
  379. pstrResultString: *mut BSTR,
  380. ) -> HRESULT,
  381. fn GetResultServices(
  382. lTimeout: i32,
  383. ppServices: *mut *mut IWbemServices,
  384. ) -> HRESULT,
  385. fn GetCallStatus(
  386. lTimeout: i32,
  387. plStatus: *mut i32,
  388. ) -> HRESULT,
  389. }}
  390.  
  391. RIDL!{#[uuid(0x7c857801, 0x7381, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)]
  392. interface IWbemObjectSink(IWbemObjectSinkVtbl): IUnknown(IUnknownVtbl) {
  393. fn Indicate(
  394. lObjectCount: i32,
  395. apObjArray: *const *const IWbemClassObject,
  396. ) -> HRESULT,
  397. fn SetStatus(
  398. lFlags: i32,
  399. hResult: HRESULT,
  400. strParam: BSTR,
  401. pObjParam: *const IWbemClassObject,
  402. ) -> HRESULT,
  403. }}
  404.  
  405. RIDL!{#[uuid(0x027947e1, 0xd731, 0x11ce, 0xa3, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01)]
  406. interface IEnumWbemClassObject(IEnumWbemClassObjectVtbl): IUnknown(IUnknownVtbl) {
  407. fn Reset(
  408. ) -> HRESULT,
  409. fn Next(
  410. lTimeout: i32,
  411. uCount: u32,
  412. apObjects: *mut *mut IWbemClassObject,
  413. puReturned: *mut u32,
  414. ) -> HRESULT,
  415. fn NextAsync(
  416. uCount: u32,
  417. pSink: *const IWbemObjectSink,
  418. ) -> HRESULT,
  419. fn Clone(
  420. ppEnum: *mut *mut IEnumWbemClassObject,
  421. ) -> HRESULT,
  422. fn Skip(
  423. lTimeout: i32,
  424. nCount: u32,
  425. ) -> HRESULT,
  426. }}
  427.  
  428. RIDL!{#[uuid(0xdc12a687, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)]
  429. interface IWbemLocator(IWbemLocatorVtbl): IUnknown(IUnknownVtbl) {
  430. fn ConnectServer(
  431. strNetworkResource: BSTR,
  432. strUser: BSTR,
  433. strPassword: BSTR,
  434. strLocale: BSTR,
  435. lSecurityFlags: i32,
  436. strAuthority: BSTR,
  437. pCtx: *const IWbemContext,
  438. ppNamespace: *mut *mut IWbemServices,
  439. ) -> HRESULT,
  440. }}
  441.  
  442. RIDL!{#[uuid(0x1cfaba8c, 0x1523, 0x11d1, 0xad, 0x79, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)]
  443. interface IUnsecuredApartment(IUnsecuredApartmentVtbl): IUnknown(IUnknownVtbl) {
  444. fn CreateObjectStub(
  445. pObject: LPUNKNOWN,
  446. ppStub: *mut LPUNKNOWN,
  447. ) -> HRESULT,
  448. }}
  449.  
  450. RIDL!{#[uuid(0x31739d04, 0x3471, 0x4cf4, 0x9a, 0x7c, 0x57, 0xa4, 0x4a, 0xe7, 0x19, 0x56)]
  451. interface IWbemUnsecuredApartment(IWbemUnsecuredApartmentVtbl): IUnsecuredApartment(IUnsecuredApartmentVtbl) {
  452. fn CreateSinkStub(
  453. pSink: *const IWbemObjectSink,
  454. dwFlags: u32,
  455. wszReserved: LPCWSTR,
  456. ppStub: *mut *mut IWbemObjectSink,
  457. ) -> HRESULT,
  458. }}
  459.  
  460. RIDL!{#[uuid(0xeb87e1bc, 0x3233, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
  461. interface IWbemStatusCodeText(IWbemStatusCodeTextVtbl): IUnknown(IUnknownVtbl) {
  462. fn GetErrorCodeText(
  463. hRes: HRESULT,
  464. LocaleId: u32,
  465. lFlags: i32,
  466. MessageText: *mut BSTR,
  467. ) -> HRESULT,
  468. fn GetFacilityCodeText(
  469. hRes: HRESULT,
  470. LocaleId: u32,
  471. lFlags: i32,
  472. MessageText: *mut BSTR,
  473. ) -> HRESULT,
  474. }}
  475.  
  476. RIDL!{#[uuid(0xc49e32c7, 0xbc8b, 0x11d2, 0x85, 0xd4, 0x00, 0x10, 0x5a, 0x1f, 0x83, 0x04)]
  477. interface IWbemBackupRestore(IWbemBackupRestoreVtbl): IUnknown(IUnknownVtbl) {
  478. fn Backup(
  479. strBackupToFile: LPCWSTR,
  480. lFlags: i32,
  481. ) -> HRESULT,
  482. fn Restore(
  483. strRestoreFromFile: LPCWSTR,
  484. lFlags: i32,
  485. ) -> HRESULT,
  486. }}
  487.  
  488. RIDL!{#[uuid(0xa359dec5, 0xe813, 0x4834, 0x8a, 0x2a, 0xba, 0x7f, 0x1d, 0x77, 0x7d, 0x76)]
  489. interface IWbemBackupRestoreEx(IWbemBackupRestoreExVtbl): IWbemBackupRestore(IWbemBackupRestoreVtbl) {
  490. fn Pause(
  491. ) -> HRESULT,
  492. fn Resume(
  493. ) -> HRESULT,
  494. }}
  495.  
  496. RIDL!{#[uuid(0x49353c99, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
  497. interface IWbemRefresher(IWbemRefresherVtbl): IUnknown(IUnknownVtbl) {
  498. fn Refresh(
  499. lFlags: i32,
  500. ) -> HRESULT,
  501. }}
  502.  
  503. RIDL!{#[uuid(0x2705c288, 0x79ae, 0x11d2, 0xb3, 0x48, 0x00, 0x10, 0x5a, 0x1f, 0x81, 0x77)]
  504. interface IWbemHiPerfEnum(IWbemHiPerfEnumVtbl): IUnknown(IUnknownVtbl) {
  505. fn AddObjects(
  506. lFlags: i32,
  507. uNumObjects: u32,
  508. apIds: *const i32,
  509. apObj: *const *const IWbemObjectAccess,
  510. ) -> HRESULT,
  511. fn RemoveObjects(
  512. lFlags: i32,
  513. uNumObjects: u32,
  514. apIds: *const i32,
  515. ) -> HRESULT,
  516. fn GetObjects(
  517. lFlags: i32,
  518. uNumObjects: u32,
  519. apObj: *mut *mut IWbemObjectAccess,
  520. puReturned: *mut u32,
  521. ) -> HRESULT,
  522. fn RemoveAll(
  523. lFlags: i32,
  524. ) -> HRESULT,
  525. }}
  526.  
  527. RIDL!{#[uuid(0x49353c92, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
  528. interface IWbemConfigureRefresher(IWbemConfigureRefresherVtbl): IUnknown(IUnknownVtbl) {
  529. fn AddObjectByPath(
  530. pNamespace: *const IWbemServices,
  531. wszPath: LPCWSTR,
  532. lFlags: i32,
  533. pContext: *const IWbemContext,
  534. ppRefreshable: *mut *mut IWbemClassObject,
  535. plId: *mut i32,
  536. ) -> HRESULT,
  537. fn AddObjectByTemplate(
  538. pNamespace: *const IWbemServices,
  539. pTemplate: *const IWbemClassObject,
  540. lFlags: i32,
  541. pContext: *const IWbemContext,
  542. ppRefreshable: *mut *mut IWbemClassObject,
  543. plId: *mut i32,
  544. ) -> HRESULT,
  545. fn AddRefresher(
  546. pRefresher: *const IWbemRefresher,
  547. lFlags: i32,
  548. plId: *mut i32,
  549. ) -> HRESULT,
  550. fn Remove(
  551. lId: i32,
  552. lFlags: i32,
  553. ) -> HRESULT,
  554. fn AddEnum(
  555. pNamespace: *const IWbemServices,
  556. wszClassName: LPCWSTR,
  557. lFlags: i32,
  558. pContext: *const IWbemContext,
  559. ppEnum: *mut *mut IWbemHiPerfEnum,
  560. plId: *mut i32,
  561. ) -> HRESULT,
  562. }}
  563.  
  564. ENUM!{enum tag_WBEM_GENUS_TYPE {
  565. WBEM_GENUS_CLASS = 1,
  566. WBEM_GENUS_INSTANCE = 2,
  567. }}
  568.  
  569. ENUM!{enum tag_WBEM_CHANGE_FLAG_TYPE {
  570. WBEM_FLAG_CREATE_OR_UPDATE = 0,
  571. WBEM_FLAG_UPDATE_ONLY = 1,
  572. WBEM_FLAG_CREATE_ONLY = 2,
  573. WBEM_FLAG_UPDATE_COMPATIBLE = 0,
  574. WBEM_FLAG_UPDATE_SAFE_MODE = 32,
  575. WBEM_FLAG_UPDATE_FORCE_MODE = 64,
  576. WBEM_MASK_UPDATE_MODE = 96,
  577. WBEM_FLAG_ADVISORY = 65536,
  578. }}
  579.  
  580. ENUM!{enum tag_WBEM_GENERIC_FLAG_TYPE {
  581. WBEM_FLAG_RETURN_IMMEDIATELY = 16,
  582. WBEM_FLAG_RETURN_WBEM_COMPLETE = 0,
  583. WBEM_FLAG_BIDIRECTIONAL = 0,
  584. WBEM_FLAG_FORWARD_ONLY = 32,
  585. WBEM_FLAG_NO_ERROR_OBJECT = 64,
  586. WBEM_FLAG_RETURN_ERROR_OBJECT = 0,
  587. WBEM_FLAG_SEND_STATUS = 128,
  588. WBEM_FLAG_DONT_SEND_STATUS = 0,
  589. WBEM_FLAG_ENSURE_LOCATABLE = 256,
  590. WBEM_FLAG_DIRECT_READ = 512,
  591. WBEM_FLAG_SEND_ONLY_SELECTED = 0,
  592. WBEM_RETURN_WHEN_COMPLETE = 0,
  593. WBEM_RETURN_IMMEDIATELY = 16,
  594. WBEM_MASK_RESERVED_FLAGS = 126976,
  595. WBEM_FLAG_USE_AMENDED_QUALIFIERS = 131072,
  596. WBEM_FLAG_STRONG_VALIDATION = 1048576,
  597. }}
  598.  
  599. ENUM!{enum tag_WBEM_STATUS_TYPE {
  600. WBEM_STATUS_COMPLETE = 0,
  601. WBEM_STATUS_REQUIREMENTS = 1,
  602. WBEM_STATUS_PROGRESS = 2,
  603. WBEM_STATUS_LOGGING_INFORMATION = 256,
  604. WBEM_STATUS_LOGGING_INFORMATION_PROVIDER = 512,
  605. WBEM_STATUS_LOGGING_INFORMATION_HOST = 1024,
  606. WBEM_STATUS_LOGGING_INFORMATION_REPOSITORY = 2048,
  607. WBEM_STATUS_LOGGING_INFORMATION_ESS = 4096,
  608. }}
  609.  
  610. ENUM!{enum tag_WBEM_TIMEOUT_TYPE {
  611. WBEM_NO_WAIT = 0,
  612. WBEM_INFINITE = 0xffffffff,
  613. }}
  614.  
  615. ENUM!{enum tag_WBEM_CONDITION_FLAG_TYPE {
  616. WBEM_FLAG_ALWAYS = 0,
  617. WBEM_FLAG_ONLY_IF_TRUE = 1,
  618. WBEM_FLAG_ONLY_IF_FALSE = 2,
  619. WBEM_FLAG_ONLY_IF_IDENTICAL = 3,
  620. WBEM_MASK_PRIMARY_CONDITION = 3,
  621. WBEM_FLAG_KEYS_ONLY = 4,
  622. WBEM_FLAG_REFS_ONLY = 8,
  623. WBEM_FLAG_LOCAL_ONLY = 16,
  624. WBEM_FLAG_PROPAGATED_ONLY = 32,
  625. WBEM_FLAG_SYSTEM_ONLY = 48,
  626. WBEM_FLAG_NONSYSTEM_ONLY = 64,
  627. WBEM_MASK_CONDITION_ORIGIN = 112,
  628. WBEM_FLAG_CLASS_OVERRIDES_ONLY = 256,
  629. WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES = 512,
  630. WBEM_MASK_CLASS_CONDITION = 768,
  631. }}
  632.  
  633. ENUM!{enum tag_WBEM_FLAVOR_TYPE {
  634. WBEM_FLAVOR_DONT_PROPAGATE = 0,
  635. WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE = 1,
  636. WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS = 2,
  637. WBEM_FLAVOR_MASK_PROPAGATION = 15,
  638. WBEM_FLAVOR_OVERRIDABLE = 0,
  639. WBEM_FLAVOR_NOT_OVERRIDABLE = 16,
  640. WBEM_FLAVOR_MASK_PERMISSIONS = 16,
  641. WBEM_FLAVOR_ORIGIN_LOCAL = 0,
  642. WBEM_FLAVOR_ORIGIN_PROPAGATED = 32,
  643. WBEM_FLAVOR_ORIGIN_SYSTEM = 64,
  644. WBEM_FLAVOR_MASK_ORIGIN = 96,
  645. WBEM_FLAVOR_NOT_AMENDED = 0,
  646. WBEM_FLAVOR_AMENDED = 128,
  647. WBEM_FLAVOR_MASK_AMENDED = 128,
  648. }}
  649.  
  650. ENUM!{enum tag_WBEM_QUERY_FLAG_TYPE {
  651. WBEM_FLAG_DEEP = 0,
  652. WBEM_FLAG_SHALLOW = 1,
  653. WBEM_FLAG_PROTOTYPE = 2,
  654. }}
  655.  
  656. ENUM!{enum tag_WBEM_SECURITY_FLAGS {
  657. WBEM_ENABLE = 1,
  658. WBEM_METHOD_EXECUTE = 2,
  659. WBEM_FULL_WRITE_REP = 4,
  660. WBEM_PARTIAL_WRITE_REP = 8,
  661. WBEM_WRITE_PROVIDER = 16,
  662. WBEM_REMOTE_ACCESS = 32,
  663. WBEM_RIGHT_SUBSCRIBE = 64,
  664. WBEM_RIGHT_PUBLISH = 128,
  665. }}
  666.  
  667. ENUM!{enum tag_WBEM_LIMITATION_FLAG_TYPE {
  668. WBEM_FLAG_EXCLUDE_OBJECT_QUALIFIERS = 16,
  669. WBEM_FLAG_EXCLUDE_PROPERTY_QUALIFIERS = 32,
  670. }}
  671.  
  672. ENUM!{enum tag_WBEM_TEXT_FLAG_TYPE {
  673. WBEM_FLAG_NO_FLAVORS = 1,
  674. }}
  675.  
  676. ENUM!{enum tag_WBEM_COMPARISON_FLAG {
  677. WBEM_COMPARISON_INCLUDE_ALL = 0,
  678. WBEM_FLAG_IGNORE_QUALIFIERS = 1,
  679. WBEM_FLAG_IGNORE_OBJECT_SOURCE = 2,
  680. WBEM_FLAG_IGNORE_DEFAULT_VALUES = 4,
  681. WBEM_FLAG_IGNORE_CLASS = 8,
  682. WBEM_FLAG_IGNORE_CASE = 16,
  683. WBEM_FLAG_IGNORE_FLAVOR = 32,
  684. }}
  685.  
  686. ENUM!{enum tag_WBEM_LOCKING {
  687. WBEM_FLAG_ALLOW_READ = 1,
  688. }}
  689.  
  690. ENUM!{enum tag_CIMTYPE_ENUMERATION {
  691. CIM_ILLEGAL = 4095,
  692. CIM_EMPTY = 0,
  693. CIM_SINT8 = 16,
  694. CIM_UINT8 = 17,
  695. CIM_SINT16 = 2,
  696. CIM_UINT16 = 18,
  697. CIM_SINT32 = 3,
  698. CIM_UINT32 = 19,
  699. CIM_SINT64 = 20,
  700. CIM_UINT64 = 21,
  701. CIM_REAL32 = 4,
  702. CIM_REAL64 = 5,
  703. CIM_BOOLEAN = 11,
  704. CIM_STRING = 8,
  705. CIM_DATETIME = 101,
  706. CIM_REFERENCE = 102,
  707. CIM_CHAR16 = 103,
  708. CIM_OBJECT = 13,
  709. CIM_FLAG_ARRAY = 8192,
  710. }}
  711.  
  712. ENUM!{enum tag_WBEM_BACKUP_RESTORE_FLAGS {
  713. WBEM_FLAG_BACKUP_RESTORE_DEFAULT = 0,
  714. WBEM_FLAG_BACKUP_RESTORE_FORCE_SHUTDOWN = 1,
  715. }}
  716.  
  717. ENUM!{enum tag_WBEM_REFRESHER_FLAGS {
  718. WBEM_FLAG_REFRESH_AUTO_RECONNECT = 0,
  719. WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT = 1,
  720. }}
  721.  
  722. ENUM!{enum tag_WBEM_SHUTDOWN_FLAGS {
  723. WBEM_SHUTDOWN_UNLOAD_COMPONENT = 1,
  724. WBEM_SHUTDOWN_WMI = 2,
  725. WBEM_SHUTDOWN_OS = 3,
  726. }}
  727.  
  728. ENUM!{enum tag_WBEMSTATUS_FORMAT {
  729. WBEMSTATUS_FORMAT_NEWLINE = 0,
  730. WBEMSTATUS_FORMAT_NO_NEWLINE = 1,
  731. }}
  732.  
  733. ENUM!{enum tag_WBEM_LIMITS {
  734. WBEM_MAX_IDENTIFIER = 4096,
  735. WBEM_MAX_QUERY = 16384,
  736. WBEM_MAX_PATH = 8192,
  737. WBEM_MAX_OBJECT_NESTING = 64,
  738. WBEM_MAX_USER_PROPERTIES = 1024,
  739. }}
  740.  
  741. ENUM!{enum tag_WBEMSTATUS {
  742. WBEM_NO_ERROR = 0,
  743. WBEM_S_NO_ERROR = 0,
  744. WBEM_S_SAME = 0,
  745. WBEM_S_FALSE = 1,
  746. WBEM_S_ALREADY_EXISTS = 262145,
  747. WBEM_S_RESET_TO_DEFAULT = 262146,
  748. WBEM_S_DIFFERENT = 262147,
  749. WBEM_S_TIMEDOUT = 262148,
  750. WBEM_S_NO_MORE_DATA = 262149,
  751. WBEM_S_OPERATION_CANCELLED = 262150,
  752. WBEM_S_PENDING = 262151,
  753. WBEM_S_DUPLICATE_OBJECTS = 262152,
  754. WBEM_S_ACCESS_DENIED = 262153,
  755. WBEM_S_PARTIAL_RESULTS = 262160,
  756. WBEM_S_SOURCE_NOT_AVAILABLE = 262167,
  757. WBEM_E_FAILED = 0x80041001,
  758. WBEM_E_NOT_FOUND = 0x80041002,
  759. WBEM_E_ACCESS_DENIED = 0x80041003,
  760. WBEM_E_PROVIDER_FAILURE = 0x80041004,
  761. WBEM_E_TYPE_MISMATCH = 0x80041005,
  762. WBEM_E_OUT_OF_MEMORY = 0x80041006,
  763. WBEM_E_INVALID_CONTEXT = 0x80041007,
  764. WBEM_E_INVALID_PARAMETER = 0x80041008,
  765. WBEM_E_NOT_AVAILABLE = 0x80041009,
  766. WBEM_E_CRITICAL_ERROR = 0x8004100a,
  767. WBEM_E_INVALID_STREAM = 0x8004100b,
  768. WBEM_E_NOT_SUPPORTED = 0x8004100c,
  769. WBEM_E_INVALID_SUPERCLASS = 0x8004100d,
  770. WBEM_E_INVALID_NAMESPACE = 0x8004100e,
  771. WBEM_E_INVALID_OBJECT = 0x8004100f,
  772. WBEM_E_INVALID_CLASS = 0x80041010,
  773. WBEM_E_PROVIDER_NOT_FOUND = 0x80041011,
  774. WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012,
  775. WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013,
  776. WBEM_E_INITIALIZATION_FAILURE = 0x80041014,
  777. WBEM_E_TRANSPORT_FAILURE = 0x80041015,
  778. WBEM_E_INVALID_OPERATION = 0x80041016,
  779. WBEM_E_INVALID_QUERY = 0x80041017,
  780. WBEM_E_INVALID_QUERY_TYPE = 0x80041018,
  781. WBEM_E_ALREADY_EXISTS = 0x80041019,
  782. WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101a,
  783. WBEM_E_PROPAGATED_QUALIFIER = 0x8004101b,
  784. WBEM_E_PROPAGATED_PROPERTY = 0x8004101c,
  785. WBEM_E_UNEXPECTED = 0x8004101d,
  786. WBEM_E_ILLEGAL_OPERATION = 0x8004101e,
  787. WBEM_E_CANNOT_BE_KEY = 0x8004101f,
  788. WBEM_E_INCOMPLETE_CLASS = 0x80041020,
  789. WBEM_E_INVALID_SYNTAX = 0x80041021,
  790. WBEM_E_NONDECORATED_OBJECT = 0x80041022,
  791. WBEM_E_READ_ONLY = 0x80041023,
  792. WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024,
  793. WBEM_E_CLASS_HAS_CHILDREN = 0x80041025,
  794. WBEM_E_CLASS_HAS_INSTANCES = 0x80041026,
  795. WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027,
  796. WBEM_E_ILLEGAL_NULL = 0x80041028,
  797. WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029,
  798. WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102a,
  799. WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102b,
  800. WBEM_E_CANNOT_BE_SINGLETON = 0x8004102c,
  801. WBEM_E_INVALID_CIM_TYPE = 0x8004102d,
  802. WBEM_E_INVALID_METHOD = 0x8004102e,
  803. WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102f,
  804. WBEM_E_SYSTEM_PROPERTY = 0x80041030,
  805. WBEM_E_INVALID_PROPERTY = 0x80041031,
  806. WBEM_E_CALL_CANCELLED = 0x80041032,
  807. WBEM_E_SHUTTING_DOWN = 0x80041033,
  808. WBEM_E_PROPAGATED_METHOD = 0x80041034,
  809. WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035,
  810. WBEM_E_MISSING_PARAMETER_ID = 0x80041036,
  811. WBEM_E_INVALID_PARAMETER_ID = 0x80041037,
  812. WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038,
  813. WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039,
  814. WBEM_E_INVALID_OBJECT_PATH = 0x8004103a,
  815. WBEM_E_OUT_OF_DISK_SPACE = 0x8004103b,
  816. WBEM_E_BUFFER_TOO_SMALL = 0x8004103c,
  817. WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103d,
  818. WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103e,
  819. WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103f,
  820. WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040,
  821. WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041,
  822. WBEM_E_INVALID_QUALIFIER = 0x80041042,
  823. WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043,
  824. WBEM_E_TOO_MUCH_DATA = 0x80041044,
  825. WBEM_E_SERVER_TOO_BUSY = 0x80041045,
  826. WBEM_E_INVALID_FLAVOR = 0x80041046,
  827. WBEM_E_CIRCULAR_REFERENCE = 0x80041047,
  828. WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048,
  829. WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049,
  830. WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050,
  831. WBEM_E_TOO_MANY_PROPERTIES = 0x80041051,
  832. WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052,
  833. WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053,
  834. WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054,
  835. WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055,
  836. WBEM_E_METHOD_DISABLED = 0x80041056,
  837. WBEM_E_REFRESHER_BUSY = 0x80041057,
  838. WBEM_E_UNPARSABLE_QUERY = 0x80041058,
  839. WBEM_E_NOT_EVENT_CLASS = 0x80041059,
  840. WBEM_E_MISSING_GROUP_WITHIN = 0x8004105a,
  841. WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105b,
  842. WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105c,
  843. WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105d,
  844. WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105f,
  845. WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060,
  846. WBEM_E_QUEUE_OVERFLOW = 0x80041061,
  847. WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062,
  848. WBEM_E_INVALID_OPERATOR = 0x80041063,
  849. WBEM_E_LOCAL_CREDENTIALS = 0x80041064,
  850. WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065,
  851. WBEM_E_AMENDED_OBJECT = 0x80041066,
  852. WBEM_E_CLIENT_TOO_SLOW = 0x80041067,
  853. WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068,
  854. WBEM_E_TIMED_OUT = 0x80041069,
  855. WBEM_E_INVALID_ASSOCIATION = 0x8004106a,
  856. WBEM_E_AMBIGUOUS_OPERATION = 0x8004106b,
  857. WBEM_E_QUOTA_VIOLATION = 0x8004106c,
  858. WBEM_E_RESERVED_001 = 0x8004106d,
  859. WBEM_E_RESERVED_002 = 0x8004106e,
  860. WBEM_E_UNSUPPORTED_LOCALE = 0x8004106f,
  861. WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070,
  862. WBEM_E_CONNECTION_FAILED = 0x80041071,
  863. WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072,
  864. WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073,
  865. WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074,
  866. WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075,
  867. WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076,
  868. WBEM_E_RERUN_COMMAND = 0x80041077,
  869. WBEM_E_DATABASE_VER_MISMATCH = 0x80041078,
  870. WBEM_E_VETO_DELETE = 0x80041079,
  871. WBEM_E_VETO_PUT = 0x8004107a,
  872. WBEM_E_INVALID_LOCALE = 0x80041080,
  873. WBEM_E_PROVIDER_SUSPENDED = 0x80041081,
  874. WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082,
  875. WBEM_E_NO_SCHEMA = 0x80041083,
  876. WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084,
  877. WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085,
  878. WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086,
  879. WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087,
  880. WBEM_E_PROVIDER_TIMED_OUT = 0x80041088,
  881. WBEM_E_NO_KEY = 0x80041089,
  882. WBEM_E_PROVIDER_DISABLED = 0x8004108a,
  883. WBEMESS_E_REGISTRATION_TOO_BROAD = 0x80042001,
  884. WBEMESS_E_REGISTRATION_TOO_PRECISE = 0x80042002,
  885. WBEMESS_E_AUTHZ_NOT_PRIVILEGED = 0x80042003,
  886. WBEMMOF_E_EXPECTED_QUALIFIER_NAME = 0x80044001,
  887. WBEMMOF_E_EXPECTED_SEMI = 0x80044002,
  888. WBEMMOF_E_EXPECTED_OPEN_BRACE = 0x80044003,
  889. WBEMMOF_E_EXPECTED_CLOSE_BRACE = 0x80044004,
  890. WBEMMOF_E_EXPECTED_CLOSE_BRACKET = 0x80044005,
  891. WBEMMOF_E_EXPECTED_CLOSE_PAREN = 0x80044006,
  892. WBEMMOF_E_ILLEGAL_CONSTANT_VALUE = 0x80044007,
  893. WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER = 0x80044008,
  894. WBEMMOF_E_EXPECTED_OPEN_PAREN = 0x80044009,
  895. WBEMMOF_E_UNRECOGNIZED_TOKEN = 0x8004400a,
  896. WBEMMOF_E_UNRECOGNIZED_TYPE = 0x8004400b,
  897. WBEMMOF_E_EXPECTED_PROPERTY_NAME = 0x8004400c,
  898. WBEMMOF_E_TYPEDEF_NOT_SUPPORTED = 0x8004400d,
  899. WBEMMOF_E_UNEXPECTED_ALIAS = 0x8004400e,
  900. WBEMMOF_E_UNEXPECTED_ARRAY_INIT = 0x8004400f,
  901. WBEMMOF_E_INVALID_AMENDMENT_SYNTAX = 0x80044010,
  902. WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT = 0x80044011,
  903. WBEMMOF_E_INVALID_PRAGMA = 0x80044012,
  904. WBEMMOF_E_INVALID_NAMESPACE_SYNTAX = 0x80044013,
  905. WBEMMOF_E_EXPECTED_CLASS_NAME = 0x80044014,
  906. WBEMMOF_E_TYPE_MISMATCH = 0x80044015,
  907. WBEMMOF_E_EXPECTED_ALIAS_NAME = 0x80044016,
  908. WBEMMOF_E_INVALID_CLASS_DECLARATION = 0x80044017,
  909. WBEMMOF_E_INVALID_INSTANCE_DECLARATION = 0x80044018,
  910. WBEMMOF_E_EXPECTED_DOLLAR = 0x80044019,
  911. WBEMMOF_E_CIMTYPE_QUALIFIER = 0x8004401a,
  912. WBEMMOF_E_DUPLICATE_PROPERTY = 0x8004401b,
  913. WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION = 0x8004401c,
  914. WBEMMOF_E_OUT_OF_RANGE = 0x8004401d,
  915. WBEMMOF_E_INVALID_FILE = 0x8004401e,
  916. WBEMMOF_E_ALIASES_IN_EMBEDDED = 0x8004401f,
  917. WBEMMOF_E_NULL_ARRAY_ELEM = 0x80044020,
  918. WBEMMOF_E_DUPLICATE_QUALIFIER = 0x80044021,
  919. WBEMMOF_E_EXPECTED_FLAVOR_TYPE = 0x80044022,
  920. WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES = 0x80044023,
  921. WBEMMOF_E_MULTIPLE_ALIASES = 0x80044024,
  922. WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2 = 0x80044025,
  923. WBEMMOF_E_NO_ARRAYS_RETURNED = 0x80044026,
  924. WBEMMOF_E_MUST_BE_IN_OR_OUT = 0x80044027,
  925. WBEMMOF_E_INVALID_FLAGS_SYNTAX = 0x80044028,
  926. WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE = 0x80044029,
  927. WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE = 0x8004402a,
  928. WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE = 0x8004402b,
  929. WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX = 0x8004402c,
  930. WBEMMOF_E_INVALID_QUALIFIER_SYNTAX = 0x8004402d,
  931. WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE = 0x8004402e,
  932. WBEMMOF_E_ERROR_CREATING_TEMP_FILE = 0x8004402f,
  933. WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE = 0x80044030,
  934. WBEMMOF_E_INVALID_DELETECLASS_SYNTAX = 0x80044031,
  935. }}
  936.  
  937. // Implements IWbemLocator
  938. pub struct WbemLocator {
  939. _use_cocreateinstance_to_instantiate: (),
  940. }
  941.  
  942. impl WbemLocator {
  943. #[inline]
  944. pub fn uuidof() -> GUID {
  945. GUID {
  946. Data1: 0x4590f811,
  947. Data2: 0x1d3a,
  948. Data3: 0x11d0,
  949. Data4: [0x89, 0x1f, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24],
  950. }
  951. }
  952. }
  953.  
  954. // Implements IWbemContext
  955. pub struct WbemContext {
  956. _use_cocreateinstance_to_instantiate: (),
  957. }
  958.  
  959. impl WbemContext {
  960. #[inline]
  961. pub fn uuidof() -> GUID {
  962. GUID {
  963. Data1: 0x674b6698,
  964. Data2: 0xee92,
  965. Data3: 0x11d0,
  966. Data4: [0xad, 0x71, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff],
  967. }
  968. }
  969. }
  970.  
  971. // Implements IUnsecuredApartment
  972. // Implements IWbemUnsecuredApartment
  973. pub struct UnsecuredApartment {
  974. _use_cocreateinstance_to_instantiate: (),
  975. }
  976.  
  977. impl UnsecuredApartment {
  978. #[inline]
  979. pub fn uuidof() -> GUID {
  980. GUID {
  981. Data1: 0x49bd2028,
  982. Data2: 0x1523,
  983. Data3: 0x11d1,
  984. Data4: [0xad, 0x79, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff],
  985. }
  986. }
  987. }
  988.  
  989. // Implements IWbemClassObject
  990. pub struct WbemClassObject {
  991. _use_cocreateinstance_to_instantiate: (),
  992. }
  993.  
  994. impl WbemClassObject {
  995. #[inline]
  996. pub fn uuidof() -> GUID {
  997. GUID {
  998. Data1: 0x9a653086,
  999. Data2: 0x174f,
  1000. Data3: 0x11d2,
  1001. Data4: [0xb5, 0xf9, 0x00, 0x10, 0x4b, 0x70, 0x3e, 0xfd],
  1002. }
  1003. }
  1004. }
  1005.  
  1006. // Implements IMofCompiler
  1007. pub struct MofCompiler {
  1008. _use_cocreateinstance_to_instantiate: (),
  1009. }
  1010.  
  1011. impl MofCompiler {
  1012. #[inline]
  1013. pub fn uuidof() -> GUID {
  1014. GUID {
  1015. Data1: 0x6daf9757,
  1016. Data2: 0x2e37,
  1017. Data3: 0x11d2,
  1018. Data4: [0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20],
  1019. }
  1020. }
  1021. }
  1022.  
  1023. RIDL!{#[uuid(0x6daf974e, 0x2e37, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
  1024. interface IMofCompiler(IMofCompilerVtbl): IUnknown(IUnknownVtbl) {
  1025. fn CompileFile(
  1026. FileName: LPCWSTR,
  1027. ServerAndNamespace: LPCWSTR,
  1028. User: LPCWSTR,
  1029. Authority: LPCWSTR,
  1030. Password: LPCWSTR,
  1031. lOptionFlags: i32,
  1032. lClassFlags: i32,
  1033. lInstanceFlags: i32,
  1034. pInfo: *mut tag_CompileStatusInfo,
  1035. ) -> HRESULT,
  1036. fn CompileBuffer(
  1037. BuffSize: i32,
  1038. pBuffer: *const u8,
  1039. ServerAndNamespace: LPCWSTR,
  1040. User: LPCWSTR,
  1041. Authority: LPCWSTR,
  1042. Password: LPCWSTR,
  1043. lOptionFlags: i32,
  1044. lClassFlags: i32,
  1045. lInstanceFlags: i32,
  1046. pInfo: *mut tag_CompileStatusInfo,
  1047. ) -> HRESULT,
  1048. fn CreateBMOF(
  1049. TextFileName: LPCWSTR,
  1050. BMOFFileName: LPCWSTR,
  1051. ServerAndNamespace: LPCWSTR,
  1052. lOptionFlags: i32,
  1053. lClassFlags: i32,
  1054. lInstanceFlags: i32,
  1055. pInfo: *mut tag_CompileStatusInfo,
  1056. ) -> HRESULT,
  1057. }}
  1058.  
  1059. STRUCT!{struct tag_CompileStatusInfo {
  1060. lPhaseError: i32,
  1061. hRes: HRESULT,
  1062. ObjectNum: i32,
  1063. FirstLine: i32,
  1064. LastLine: i32,
  1065. dwOutFlags: u32,
  1066. }}
  1067.  
  1068. // Implements IWbemStatusCodeText
  1069. pub struct WbemStatusCodeText {
  1070. _use_cocreateinstance_to_instantiate: (),
  1071. }
  1072.  
  1073. impl WbemStatusCodeText {
  1074. #[inline]
  1075. pub fn uuidof() -> GUID {
  1076. GUID {
  1077. Data1: 0xeb87e1bd,
  1078. Data2: 0x3233,
  1079. Data3: 0x11d2,
  1080. Data4: [0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20],
  1081. }
  1082. }
  1083. }
  1084.  
  1085. // Implements IWbemBackupRestoreEx
  1086. pub struct WbemBackupRestore {
  1087. _use_cocreateinstance_to_instantiate: (),
  1088. }
  1089.  
  1090. impl WbemBackupRestore {
  1091. #[inline]
  1092. pub fn uuidof() -> GUID {
  1093. GUID {
  1094. Data1: 0xc49e32c6,
  1095. Data2: 0xbc8b,
  1096. Data3: 0x11d2,
  1097. Data4: [0x85, 0xd4, 0x00, 0x10, 0x5a, 0x1f, 0x83, 0x04],
  1098. }
  1099. }
  1100. }
  1101.  
  1102. // Implements IMarshal
  1103. // Implements IWbemRefresher
  1104. // Implements IWbemConfigureRefresher
  1105. pub struct WbemRefresher {
  1106. _use_cocreateinstance_to_instantiate: (),
  1107. }
  1108.  
  1109. impl WbemRefresher {
  1110. #[inline]
  1111. pub fn uuidof() -> GUID {
  1112. GUID {
  1113. Data1: 0xc71566f2,
  1114. Data2: 0x561e,
  1115. Data3: 0x11d1,
  1116. Data4: [0xad, 0x87, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff],
  1117. }
  1118. }
  1119. }
  1120.  
  1121. RIDL!{#[uuid(0x00000003, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)]
  1122. interface IMarshal(IMarshalVtbl): IUnknown(IUnknownVtbl) {
  1123. fn GetUnmarshalClass(
  1124. riid: *const GUID,
  1125. pv: *const c_void,
  1126. dwDestContext: u32,
  1127. pvDestContext: *const c_void,
  1128. mshlflags: u32,
  1129. pCid: *mut GUID,
  1130. ) -> HRESULT,
  1131. fn GetMarshalSizeMax(
  1132. riid: *const GUID,
  1133. pv: *const c_void,
  1134. dwDestContext: u32,
  1135. pvDestContext: *const c_void,
  1136. mshlflags: u32,
  1137. pSize: *mut u32,
  1138. ) -> HRESULT,
  1139. fn MarshalInterface(
  1140. pstm: *const IStream,
  1141. riid: *const GUID,
  1142. pv: *const c_void,
  1143. dwDestContext: u32,
  1144. pvDestContext: *const c_void,
  1145. mshlflags: u32,
  1146. ) -> HRESULT,
  1147. fn UnmarshalInterface(
  1148. pstm: *const IStream,
  1149. riid: *const GUID,
  1150. ppv: *mut *mut c_void,
  1151. ) -> HRESULT,
  1152. fn ReleaseMarshalData(
  1153. pstm: *const IStream,
  1154. ) -> HRESULT,
  1155. fn DisconnectObject(
  1156. dwReserved: u32,
  1157. ) -> HRESULT,
  1158. }}
  1159.  
  1160. RIDL!{#[uuid(0x0000000c, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)]
  1161. interface IStream(IStreamVtbl): ISequentialStream(ISequentialStreamVtbl) {
  1162. fn RemoteSeek(
  1163. dlibMove: _LARGE_INTEGER,
  1164. dwOrigin: u32,
  1165. plibNewPosition: *mut _ULARGE_INTEGER,
  1166. ) -> HRESULT,
  1167. fn SetSize(
  1168. libNewSize: _ULARGE_INTEGER,
  1169. ) -> HRESULT,
  1170. fn RemoteCopyTo(
  1171. pstm: *const IStream,
  1172. cb: _ULARGE_INTEGER,
  1173. pcbRead: *mut _ULARGE_INTEGER,
  1174. pcbWritten: *mut _ULARGE_INTEGER,
  1175. ) -> HRESULT,
  1176. fn Commit(
  1177. grfCommitFlags: u32,
  1178. ) -> HRESULT,
  1179. fn Revert(
  1180. ) -> HRESULT,
  1181. fn LockRegion(
  1182. libOffset: _ULARGE_INTEGER,
  1183. cb: _ULARGE_INTEGER,
  1184. dwLockType: u32,
  1185. ) -> HRESULT,
  1186. fn UnlockRegion(
  1187. libOffset: _ULARGE_INTEGER,
  1188. cb: _ULARGE_INTEGER,
  1189. dwLockType: u32,
  1190. ) -> HRESULT,
  1191. fn Stat(
  1192. pstatstg: *mut tagSTATSTG,
  1193. grfStatFlag: u32,
  1194. ) -> HRESULT,
  1195. fn Clone(
  1196. ppstm: *mut *mut IStream,
  1197. ) -> HRESULT,
  1198. }}
  1199.  
  1200. RIDL!{#[uuid(0x0c733a30, 0x2a1c, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d)]
  1201. interface ISequentialStream(ISequentialStreamVtbl): IUnknown(IUnknownVtbl) {
  1202. fn RemoteRead(
  1203. pv: *mut u8,
  1204. cb: u32,
  1205. pcbRead: *mut u32,
  1206. ) -> HRESULT,
  1207. fn RemoteWrite(
  1208. pv: *const u8,
  1209. cb: u32,
  1210. pcbWritten: *mut u32,
  1211. ) -> HRESULT,
  1212. }}
  1213.  
  1214. STRUCT!{struct _LARGE_INTEGER {
  1215. QuadPart: i64,
  1216. }}
  1217.  
  1218. STRUCT!{struct _ULARGE_INTEGER {
  1219. QuadPart: u64,
  1220. }}
  1221.  
  1222. STRUCT!{struct tagSTATSTG {
  1223. pwcsName: LPCWSTR,
  1224. Type: u32,
  1225. cbSize: _ULARGE_INTEGER,
  1226. mtime: _FILETIME,
  1227. ctime: _FILETIME,
  1228. atime: _FILETIME,
  1229. grfMode: u32,
  1230. grfLocksSupported: u32,
  1231. clsid: GUID,
  1232. grfStateBits: u32,
  1233. reserved: u32,
  1234. }}
  1235.  
  1236. STRUCT!{struct _FILETIME {
  1237. dwLowDateTime: u32,
  1238. dwHighDateTime: u32,
  1239. }}
  1240.  
  1241. // Implements IWbemObjectTextSrc
  1242. pub struct WbemObjectTextSrc {
  1243. _use_cocreateinstance_to_instantiate: (),
  1244. }
  1245.  
  1246. impl WbemObjectTextSrc {
  1247. #[inline]
  1248. pub fn uuidof() -> GUID {
  1249. GUID {
  1250. Data1: 0x8d1c559d,
  1251. Data2: 0x84f0,
  1252. Data3: 0x4bb3,
  1253. Data4: [0xa7, 0xd5, 0x56, 0xa7, 0x43, 0x5a, 0x9b, 0xa6],
  1254. }
  1255. }
  1256. }
  1257.  
  1258. RIDL!{#[uuid(0xbfbf883a, 0xcad7, 0x11d3, 0xa1, 0x1b, 0x00, 0x10, 0x5a, 0x1f, 0x51, 0x5a)]
  1259. interface IWbemObjectTextSrc(IWbemObjectTextSrcVtbl): IUnknown(IUnknownVtbl) {
  1260. fn GetText(
  1261. lFlags: i32,
  1262. pObj: *const IWbemClassObject,
  1263. uObjTextFormat: u32,
  1264. pCtx: *const IWbemContext,
  1265. strText: *mut BSTR,
  1266. ) -> HRESULT,
  1267. fn CreateFromText(
  1268. lFlags: i32,
  1269. strText: BSTR,
  1270. uObjTextFormat: u32,
  1271. pCtx: *const IWbemContext,
  1272. pNewObj: *mut *mut IWbemClassObject,
  1273. ) -> HRESULT,
  1274. }}
Add Comment
Please, Sign In to add comment