// SceProviderLib.idl : IDL source for sceprov.dll // // This file will be processed by the MIDL tool to // produce the type library (SceProviderLib.tlb) and marshalling code. import "oaidl.idl"; import "ocidl.idl"; import "wbemcli.idl"; interface IWbemServices; #define _MIDL_USE_GUIDDEF_ typedef enum tagEnumProptyType { SceProperty_Invalid, SceProperty_Key, SceProperty_NonKey, }SceObjectPropertyType; [ object, uuid(ab1ff71d-fff7-4162-818f-13d6e30c3110), helpstring("SCE Provider Path Parser Interface"), pointer_default(unique) ] interface IScePathParser : IUnknown { HRESULT ParsePath([in, string] LPCWSTR strObjectPath); }; [ object, uuid(f3de3238-15bc-4e65-985a-dac6a95bf902), helpstring("SCE Provider Query Parser Interface"), pointer_default(unique) ] interface ISceQueryParser : IUnknown { HRESULT ParseQuery([in, string] LPCWSTR strQuery, [in, string] LPCWSTR strQueryingPropName); HRESULT GetClassCount([out] DWORD* pdwCount); HRESULT GetClassName([in] int iIndex, [out] BSTR* pbstrClassName); HRESULT GetQueryingPropertyValueCount([out] DWORD* pdwCount); HRESULT GetQueryingPropertyValue([in] int iIndex, [out] BSTR *pbstrStorePath); }; [ object, uuid(615567d6-5c02-4585-a79e-165f6ba247b6), helpstring("SCE Provider Key Chain Interface"), pointer_default(unique) ] interface ISceKeyChain : IUnknown { HRESULT GetNamespace([out] BSTR* pbstrNamespace); HRESULT GetClassName([out] BSTR* pbstrClassName); HRESULT GetKeyPropertyCount([out] DWORD* pCount); HRESULT GetKeyPropertyValue([in, string] LPCWSTR pszKeyPropName, [out] VARIANT* pvarValue); HRESULT GetKeyPropertyValueByIndex([in] DWORD dwIndex, [out] BSTR* pbstrKeyPropName, [out] VARIANT* pvarValue); }; [ object, uuid(91f0e463-9d96-48e6-9a3f-9ee37147afba), helpstring("SCE Provider Persist Interface"), pointer_default(unique) ] interface IScePersistMgr : IUnknown { HRESULT Attach([in] REFIID guid, [in, iid_is(guid)] IUnknown* pObj); HRESULT Save(); HRESULT Load([in] BSTR bstrStorePath, [in] IWbemObjectSink *pHandler); HRESULT Delete([in] BSTR bstrStorePath, [in] IWbemObjectSink *pHandler); }; [ object, uuid(b7bdaef5-fb63-4027-b329-1025275525c1), helpstring("SCE Class Object Interface"), pointer_default(unique) ] interface ISceClassObject : IUnknown { HRESULT GetPersistPath([out] BSTR* pbstrPath); HRESULT GetClassName([out] BSTR* pbstrClassName); HRESULT GetLogPath([out] BSTR* pbstrPath); HRESULT Validate(); HRESULT Attach([in] IWbemClassObject* pInst); HRESULT GetClassObject([out] IWbemClassObject** ppInst); HRESULT GetProperty([in, string] LPCWSTR pszPropName, [out] VARIANT* pValue); HRESULT GetPropertyCount([in] SceObjectPropertyType type, [out] DWORD* pCount); HRESULT GetPropertyValue([in] SceObjectPropertyType type, [in] DWORD dwIndex, [out] BSTR* pbstrPropName, [out] VARIANT* pValue); }; [ uuid(1e5a3c0d-5135-40d3-be86-5655824dacf6), version(1.0), helpstring("SCE Provider 1.0 Type Library") ] library SceProviderLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); [ uuid(bd7570f7-9f0e-4c6b-b525-e078691b6d0e), helpstring("Security Configuration Engine Provider") ] coclass SceProv { [default] interface IWbemServices; }; [ uuid(c97104f0-ef70-4dfc-b298-907c09021229), helpstring("SCE Path Parser Class") ] coclass ScePathParser { [default] interface IScePathParser; }; [ uuid(533cfe07-c27e-48c7-8458-f035d3276908), helpstring("SCE Query Parser Class") ] coclass SceQueryParser { [default] interface ISceQueryParser; }; [ uuid(eadf850f-e22b-4bc4-a4c7-ac9f823c13fa), helpstring("SCE Provider Persist Class") ] coclass ScePersistMgr { [default] interface IScePersistMgr; }; };