Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

144 lines
4.0 KiB

  1. // SceProviderLib.idl : IDL source for sceprov.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (SceProviderLib.tlb) and marshalling code.
  5. import "oaidl.idl";
  6. import "ocidl.idl";
  7. import "wbemcli.idl";
  8. interface IWbemServices;
  9. #define _MIDL_USE_GUIDDEF_
  10. typedef enum tagEnumProptyType
  11. {
  12. SceProperty_Invalid,
  13. SceProperty_Key,
  14. SceProperty_NonKey,
  15. }SceObjectPropertyType;
  16. [
  17. object,
  18. uuid(ab1ff71d-fff7-4162-818f-13d6e30c3110),
  19. helpstring("SCE Provider Path Parser Interface"),
  20. pointer_default(unique)
  21. ]
  22. interface IScePathParser : IUnknown
  23. {
  24. HRESULT ParsePath([in, string] LPCWSTR strObjectPath);
  25. };
  26. [
  27. object,
  28. uuid(f3de3238-15bc-4e65-985a-dac6a95bf902),
  29. helpstring("SCE Provider Query Parser Interface"),
  30. pointer_default(unique)
  31. ]
  32. interface ISceQueryParser : IUnknown
  33. {
  34. HRESULT ParseQuery([in, string] LPCWSTR strQuery, [in, string] LPCWSTR strQueryingPropName);
  35. HRESULT GetClassCount([out] DWORD* pdwCount);
  36. HRESULT GetClassName([in] int iIndex, [out] BSTR* pbstrClassName);
  37. HRESULT GetQueryingPropertyValueCount([out] DWORD* pdwCount);
  38. HRESULT GetQueryingPropertyValue([in] int iIndex, [out] BSTR *pbstrStorePath);
  39. };
  40. [
  41. object,
  42. uuid(615567d6-5c02-4585-a79e-165f6ba247b6),
  43. helpstring("SCE Provider Key Chain Interface"),
  44. pointer_default(unique)
  45. ]
  46. interface ISceKeyChain : IUnknown
  47. {
  48. HRESULT GetNamespace([out] BSTR* pbstrNamespace);
  49. HRESULT GetClassName([out] BSTR* pbstrClassName);
  50. HRESULT GetKeyPropertyCount([out] DWORD* pCount);
  51. HRESULT GetKeyPropertyValue([in, string] LPCWSTR pszKeyPropName, [out] VARIANT* pvarValue);
  52. HRESULT GetKeyPropertyValueByIndex([in] DWORD dwIndex, [out] BSTR* pbstrKeyPropName, [out] VARIANT* pvarValue);
  53. };
  54. [
  55. object,
  56. uuid(91f0e463-9d96-48e6-9a3f-9ee37147afba),
  57. helpstring("SCE Provider Persist Interface"),
  58. pointer_default(unique)
  59. ]
  60. interface IScePersistMgr : IUnknown
  61. {
  62. HRESULT Attach([in] REFIID guid, [in, iid_is(guid)] IUnknown* pObj);
  63. HRESULT Save();
  64. HRESULT Load([in] BSTR bstrStorePath, [in] IWbemObjectSink *pHandler);
  65. HRESULT Delete([in] BSTR bstrStorePath, [in] IWbemObjectSink *pHandler);
  66. };
  67. [
  68. object,
  69. uuid(b7bdaef5-fb63-4027-b329-1025275525c1),
  70. helpstring("SCE Class Object Interface"),
  71. pointer_default(unique)
  72. ]
  73. interface ISceClassObject : IUnknown
  74. {
  75. HRESULT GetPersistPath([out] BSTR* pbstrPath);
  76. HRESULT GetClassName([out] BSTR* pbstrClassName);
  77. HRESULT GetLogPath([out] BSTR* pbstrPath);
  78. HRESULT Validate();
  79. HRESULT Attach([in] IWbemClassObject* pInst);
  80. HRESULT GetClassObject([out] IWbemClassObject** ppInst);
  81. HRESULT GetProperty([in, string] LPCWSTR pszPropName, [out] VARIANT* pValue);
  82. HRESULT GetPropertyCount([in] SceObjectPropertyType type, [out] DWORD* pCount);
  83. HRESULT GetPropertyValue([in] SceObjectPropertyType type, [in] DWORD dwIndex, [out] BSTR* pbstrPropName, [out] VARIANT* pValue);
  84. };
  85. [
  86. uuid(1e5a3c0d-5135-40d3-be86-5655824dacf6),
  87. version(1.0),
  88. helpstring("SCE Provider 1.0 Type Library")
  89. ]
  90. library SceProviderLib
  91. {
  92. importlib("stdole32.tlb");
  93. importlib("stdole2.tlb");
  94. [
  95. uuid(bd7570f7-9f0e-4c6b-b525-e078691b6d0e),
  96. helpstring("Security Configuration Engine Provider")
  97. ]
  98. coclass SceProv
  99. {
  100. [default] interface IWbemServices;
  101. };
  102. [
  103. uuid(c97104f0-ef70-4dfc-b298-907c09021229),
  104. helpstring("SCE Path Parser Class")
  105. ]
  106. coclass ScePathParser
  107. {
  108. [default] interface IScePathParser;
  109. };
  110. [
  111. uuid(533cfe07-c27e-48c7-8458-f035d3276908),
  112. helpstring("SCE Query Parser Class")
  113. ]
  114. coclass SceQueryParser
  115. {
  116. [default] interface ISceQueryParser;
  117. };
  118. [
  119. uuid(eadf850f-e22b-4bc4-a4c7-ac9f823c13fa),
  120. helpstring("SCE Provider Persist Class")
  121. ]
  122. coclass ScePersistMgr
  123. {
  124. [default] interface IScePersistMgr;
  125. };
  126. };