summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/wbemprov.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/wbemprov.rs')
-rw-r--r--vendor/winapi/src/um/wbemprov.rs302
1 files changed, 302 insertions, 0 deletions
diff --git a/vendor/winapi/src/um/wbemprov.rs b/vendor/winapi/src/um/wbemprov.rs
new file mode 100644
index 0000000..4ba60ee
--- /dev/null
+++ b/vendor/winapi/src/um/wbemprov.rs
@@ -0,0 +1,302 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+use ctypes::{c_long, c_ulong};
+use shared::minwindef::{BYTE, DWORD};
+use shared::winerror::HRESULT;
+use shared::wtypes::BSTR;
+use um::oaidl::{VARIANT};
+use um::unknwnbase::{IUnknown, IUnknownVtbl};
+use um::wbemcli::{
+ IWbemClassObject, IWbemContext, IWbemHiPerfEnum, IWbemObjectAccess, IWbemObjectSink,
+ IWbemObjectSinkVtbl, IWbemRefresher, IWbemServices
+};
+use um::winnt::{LONG, LPCWSTR, LPWSTR, WCHAR};
+pub type WBEM_VARIANT = VARIANT;
+pub type WBEM_WSTR = LPWSTR;
+pub type WBEM_CWSTR = LPCWSTR;
+ENUM!{enum WBEM_PROVIDER_REQUIREMENTS_TYPE {
+ WBEM_REQUIREMENTS_START_POSTFILTER = 0,
+ WBEM_REQUIREMENTS_STOP_POSTFILTER = 1,
+ WBEM_REQUIREMENTS_RECHECK_SUBSCRIPTIONS = 2,
+}}
+// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0000_v0_0_c_ifspec;
+// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0000_v0_0_s_ifspec;
+// EXTERN_C const IID LIBID_WbemProviders_v1;
+// EXTERN_C const IID IID_IWbemPropertyProvider;
+DEFINE_GUID!{IID_IWbemPropertyProvider,
+ 0xce61e841, 0x65bc, 0x11d0, 0xb6, 0xbd, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7}
+RIDL!{#[uuid(0xce61e841, 0x65bc, 0x11d0, 0xb6, 0xbd, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7)]
+interface IWbemPropertyProvider(IWbemPropertyProviderVtbl): IUnknown(IUnknownVtbl) {
+ fn GetProperty(
+ lFlags: c_long,
+ strLocale: BSTR,
+ strClassMapping: BSTR,
+ strInstMapping: BSTR,
+ strPropMapping: BSTR,
+ pvValue: *mut VARIANT,
+ ) -> HRESULT,
+ fn PutProperty(
+ lFlags: c_long,
+ strLocale: BSTR,
+ strClassMapping: BSTR,
+ strInstMapping: BSTR,
+ strPropMapping: BSTR,
+ pvValue: *const VARIANT,
+ ) -> HRESULT,
+}}
+// EXTERN_C const IID IID_IWbemUnboundObjectSink;
+DEFINE_GUID!{IID_IWbemUnboundObjectSink,
+ 0xe246107b, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff}
+RIDL!{#[uuid(0xe246107b, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)]
+interface IWbemUnboundObjectSink(IWbemUnboundObjectSinkVtbl): IUnknown(IUnknownVtbl) {
+ fn IndicateToConsumer(
+ pLogicalConsumer: *mut IWbemClassObject,
+ lNumObjects: c_long,
+ apObjects: *mut *mut IWbemClassObject,
+ ) -> HRESULT,
+}}
+// EXTERN_C const IID IID_IWbemEventProvider;
+DEFINE_GUID!{IID_IWbemEventProvider,
+ 0xe245105b, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff}
+RIDL!{#[uuid(0xe245105b, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)]
+interface IWbemEventProvider(IWbemEventProviderVtbl): IUnknown(IUnknownVtbl) {
+ fn ProvideEvents(
+ pSink: *mut IWbemObjectSink,
+ lFlags: c_long,
+ ) -> HRESULT,
+}}
+// EXTERN_C const IID IID_IWbemEventProviderQuerySink;
+DEFINE_GUID!{IID_IWbemEventProviderQuerySink,
+ 0x580acaf8, 0xfa1c, 0x11d0, 0xad, 0x72, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff}
+RIDL!{#[uuid(0x580acaf8, 0xfa1c, 0x11d0, 0xad, 0x72, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)]
+interface IWbemEventProviderQuerySink(IWbemEventProviderQuerySinkVtbl): IUnknown(IUnknownVtbl) {
+ fn NewQuery(
+ dwId: c_ulong,
+ wszQueryLanguage: WBEM_WSTR,
+ wszQuery: WBEM_WSTR,
+ ) -> HRESULT,
+ fn CancelQuery(
+ dwId: c_ulong,
+ ) -> HRESULT,
+}}
+// EXTERN_C const IID IID_IWbemEventProviderSecurity;
+DEFINE_GUID!{IID_IWbemEventProviderSecurity,
+ 0x631f7d96, 0xd993, 0x11d2, 0xb3, 0x39, 0x00, 0x10, 0x5a, 0x1f, 0x4a, 0xaf}
+RIDL!{#[uuid(0x631f7d96, 0xd993, 0x11d2, 0xb3, 0x39, 0x00, 0x10, 0x5a, 0x1f, 0x4a, 0xaf)]
+interface IWbemEventProviderSecurity(IWbemEventProviderSecurityVtbl): IUnknown(IUnknownVtbl) {
+ fn AccessCheck(
+ wszQueryLanguage: WBEM_CWSTR,
+ wszQuery: WBEM_CWSTR,
+ lSidLength: c_long,
+ pSid: *const BYTE,
+ ) -> HRESULT,
+}}
+// EXTERN_C const IID IID_IWbemEventConsumerProvider;
+DEFINE_GUID!{IID_IWbemEventConsumerProvider,
+ 0xe246107a, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff}
+RIDL!{#[uuid(0xe246107a, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)]
+interface IWbemEventConsumerProvider(IWbemEventConsumerProviderVtbl): IUnknown(IUnknownVtbl) {
+ fn FindConsumer(
+ pLogicalConsumer: *mut IWbemClassObject,
+ ppConsumer: *mut *mut IWbemUnboundObjectSink,
+ ) -> HRESULT,
+}}
+// EXTERN_C const IID IID_IWbemProviderInitSink;
+DEFINE_GUID!{IID_IWbemProviderInitSink,
+ 0x1be41571, 0x91dd, 0x11d1, 0xae, 0xb2, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
+RIDL!{#[uuid(0x1be41571, 0x91dd, 0x11d1, 0xae, 0xb2, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
+interface IWbemProviderInitSink(IWbemProviderInitSinkVtbl): IUnknown(IUnknownVtbl) {
+ fn SetStatus(
+ lStatus: LONG,
+ lFlags: LONG,
+ ) -> HRESULT,
+}}
+// EXTERN_C const IID IID_IWbemProviderInit;
+DEFINE_GUID!{IID_IWbemProviderInit,
+ 0x1be41572, 0x91dd, 0x11d1, 0xae, 0xb2, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
+RIDL!{#[uuid(0x1be41572, 0x91dd, 0x11d1, 0xae, 0xb2, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
+interface IWbemProviderInit(IWbemProviderInitVtbl): IUnknown(IUnknownVtbl) {
+ fn Initialize(
+ wszUser: LPWSTR,
+ lFlags: LONG,
+ wszNamespace: LPWSTR,
+ wszLocale: LPWSTR,
+ pNamespace: *mut IWbemServices,
+ pCtx: *mut IWbemContext,
+ pInitSink: *mut IWbemProviderInitSink,
+ ) -> HRESULT,
+}}
+// EXTERN_C const IID IID_IWbemHiPerfProvider;
+DEFINE_GUID!{IID_IWbemHiPerfProvider,
+ 0x49353c93, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
+RIDL!{#[uuid(0x49353c93, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
+interface IWbemHiPerfProvider(IWbemHiPerfProviderVtbl): IUnknown(IUnknownVtbl) {
+ fn QueryInstances(
+ pNamespace: *mut IWbemServices,
+ wszClass: *mut WCHAR,
+ lFlags: c_long,
+ pCtx: *mut IWbemContext,
+ pSink: *mut IWbemObjectSink,
+ ) -> HRESULT,
+ fn CreateRefresher(
+ pNamespace: *mut IWbemServices,
+ lFlags: c_long,
+ ppRefresher: *mut *mut IWbemRefresher,
+ ) -> HRESULT,
+ fn CreateRefreshableObject(
+ pNamespace: *mut IWbemServices,
+ pTemplate: *mut IWbemObjectAccess,
+ pRefresher: *mut IWbemRefresher,
+ lFlags: c_long,
+ pContext: *mut IWbemContext,
+ ppRefreshable: *mut *mut IWbemObjectAccess,
+ plId: *mut c_long,
+ ) -> HRESULT,
+ fn StopRefreshing(
+ pRefresher: *mut IWbemRefresher,
+ lId: c_long,
+ lFlags: c_long,
+ ) -> HRESULT,
+ fn CreateRefreshableEnum(
+ pNamespace: *mut IWbemServices,
+ wszClass: LPCWSTR,
+ pRefresher: *mut IWbemRefresher,
+ lFlags: c_long,
+ pContext: *mut IWbemContext,
+ pHiPerfEnum: *mut IWbemHiPerfEnum,
+ plId: *mut c_long,
+ ) -> HRESULT,
+ fn GetObjects(
+ pNamespace: *mut IWbemServices,
+ lNumObjects: c_long,
+ apObj: *mut *mut IWbemObjectAccess,
+ lFlags: c_long,
+ pContext: *mut IWbemContext,
+ ) -> HRESULT,
+}}
+// EXTERN_C const IID IID_IWbemDecoupledRegistrar;
+DEFINE_GUID!{IID_IWbemDecoupledRegistrar,
+ 0x1005cbcf, 0xe64f, 0x4646, 0xbc, 0xd3, 0x3a, 0x08, 0x9d, 0x8a, 0x84, 0xb4}
+RIDL!{#[uuid(0x1005cbcf, 0xe64f, 0x4646, 0xbc, 0xd3, 0x3a, 0x08, 0x9d, 0x8a, 0x84, 0xb4)]
+interface IWbemDecoupledRegistrar(IWbemDecoupledRegistrarVtbl): IUnknown(IUnknownVtbl) {
+ fn Register(
+ a_Flags: c_long,
+ a_Context: *mut IWbemContext,
+ a_User: LPCWSTR,
+ a_Locale: LPCWSTR,
+ a_Scope: LPCWSTR,
+ a_Registration: LPCWSTR,
+ pIUnknown: *mut IUnknown,
+ ) -> HRESULT,
+ fn UnRegister() -> HRESULT,
+}}
+DEFINE_GUID!{CLSID_WbemAdministrativeLocator,
+ 0xcb8555cc, 0x9128, 0x11d1, 0xad, 0x9b, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff}
+// class DECLSPEC_UUID("cb8555cc-9128-11d1-ad9b-00c04fd8fdff")
+// WbemAdministrativeLocator;
+DEFINE_GUID!{CLSID_WbemAuthenticatedLocator,
+ 0xcd184336, 0x9128, 0x11d1, 0xad, 0x9b, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff}
+// class DECLSPEC_UUID("cd184336-9128-11d1-ad9b-00c04fd8fdff")
+// WbemAuthenticatedLocator;
+DEFINE_GUID!{CLSID_WbemUnauthenticatedLocator,
+ 0x443E7B79, 0xDE31, 0x11d2, 0xB3, 0x40, 0x00, 0x10, 0x4B, 0xCC, 0x4B, 0x4A}
+// class DECLSPEC_UUID("443E7B79-DE31-11d2-B340-00104BCC4B4A")
+// WbemUnauthenticatedLocator;
+DEFINE_GUID!{CLSID_WbemDecoupledRegistrar,
+ 0x4cfc7932, 0x0f9d, 0x4bef, 0x9c, 0x32, 0x8e, 0xa2, 0xa6, 0xb5, 0x6f, 0xcb}
+// class DECLSPEC_UUID("4cfc7932-0f9d-4bef-9c32-8ea2a6b56fcb")
+// WbemDecoupledRegistrar;
+DEFINE_GUID!{CLSID_WbemDecoupledBasicEventProvider,
+ 0xf5f75737, 0x2843, 0x4f22, 0x93, 0x3d, 0xc7, 0x6a, 0x97, 0xcd, 0xa6, 0x2f}
+// class DECLSPEC_UUID("f5f75737-2843-4f22-933d-c76a97cda62f")
+// WbemDecoupledBasicEventProvider;
+// EXTERN_C const IID IID_IWbemProviderIdentity;
+DEFINE_GUID!{IID_IWbemProviderIdentity,
+ 0x631f7d97, 0xd993, 0x11d2, 0xb3, 0x39, 0x00, 0x10, 0x5a, 0x1f, 0x4a, 0xaf}
+RIDL!{#[uuid(0x631f7d97, 0xd993, 0x11d2, 0xb3, 0x39, 0x00, 0x10, 0x5a, 0x1f, 0x4a, 0xaf)]
+interface IWbemProviderIdentity(IWbemProviderIdentityVtbl): IUnknown(IUnknownVtbl) {
+ fn SetRegistrationObject(
+ lFlags: c_long,
+ pProvReg: *mut IWbemClassObject,
+ ) -> HRESULT,
+}}
+ENUM!{enum WBEM_EXTRA_RETURN_CODES {
+ WBEM_S_INITIALIZED = 0,
+ WBEM_S_LIMITED_SERVICE = 0x43001,
+ WBEM_S_INDIRECTLY_UPDATED = WBEM_S_LIMITED_SERVICE + 1,
+ WBEM_S_SUBJECT_TO_SDS = WBEM_S_INDIRECTLY_UPDATED + 1,
+ WBEM_E_RETRY_LATER = 0x80043001,
+ WBEM_E_RESOURCE_CONTENTION = WBEM_E_RETRY_LATER + 1,
+}}
+ENUM!{enum WBEM_PROVIDER_FLAGS {
+ WBEM_FLAG_OWNER_UPDATE = 0x10000,
+}}
+// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0008_v0_0_c_ifspec;
+// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0008_v0_0_s_ifspec;
+// EXTERN_C const IID IID_IWbemDecoupledBasicEventProvider;
+DEFINE_GUID!{IID_IWbemDecoupledBasicEventProvider,
+ 0x86336d20, 0xca11, 0x4786, 0x9e, 0xf1, 0xbc, 0x8a, 0x94, 0x6b, 0x42, 0xfc}
+RIDL!{#[uuid(0x86336d20, 0xca11, 0x4786, 0x9e, 0xf1, 0xbc, 0x8a, 0x94, 0x6b, 0x42, 0xfc)]
+interface IWbemDecoupledBasicEventProvider(IWbemDecoupledBasicEventProviderVtbl):
+ IWbemDecoupledRegistrar(IWbemDecoupledRegistrarVtbl) {
+ fn GetSink(
+ a_Flags: c_long,
+ a_Context: *mut IWbemContext,
+ a_Sink: *mut *mut IWbemObjectSink,
+ ) -> HRESULT,
+ fn GetService(
+ a_Flags: c_long,
+ a_Context: *mut IWbemContext,
+ a_Service: *mut *mut IWbemServices,
+ ) -> HRESULT,
+}}
+ENUM!{enum WBEM_BATCH_TYPE {
+ WBEM_FLAG_BATCH_IF_NEEDED = 0,
+ WBEM_FLAG_MUST_BATCH = 0x1,
+ WBEM_FLAG_MUST_NOT_BATCH = 0x2,
+}}
+// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0013_v0_0_c_ifspec;
+// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0013_v0_0_s_ifspec;
+// EXTERN_C const IID IID_IWbemEventSink;
+DEFINE_GUID!{IID_IWbemEventSink,
+ 0x3ae0080a, 0x7e3a, 0x4366, 0xbf, 0x89, 0x0f, 0xee, 0xdc, 0x93, 0x16, 0x59}
+RIDL!{#[uuid(0x3ae0080a, 0x7e3a, 0x4366, 0xbf, 0x89, 0x0f, 0xee, 0xdc, 0x93, 0x16, 0x59)]
+interface IWbemEventSink(IWbemEventSinkVtbl): IWbemObjectSink(IWbemObjectSinkVtbl) {
+ fn SetSinkSecurity(
+ lSDLength: c_long,
+ pSD: *mut BYTE,
+ ) -> HRESULT,
+ fn IsActive() -> HRESULT,
+ fn GetRestrictedSink(
+ lNumQueries: c_long,
+ awszQueries: *const LPCWSTR,
+ pCallback: *mut IUnknown,
+ ppSink: *mut *mut IWbemEventSink,
+ ) -> HRESULT,
+ fn SetBatchingParameters(
+ lFlags: LONG,
+ dwMaxBufferSize: DWORD,
+ dwMaxSendLatency: DWORD,
+ ) -> HRESULT,
+}}
+// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0014_v0_0_c_ifspec;
+// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0014_v0_0_s_ifspec;
+// unsigned c_long __RPC_USER BSTR_UserSize( __RPC__in unsigned c_long *, unsigned c_long, __RPC__in BSTR * );
+// unsigned char * __RPC_USER BSTR_UserMarshal( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
+// unsigned char * __RPC_USER BSTR_UserUnmarshal(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
+// void __RPC_USER BSTR_UserFree( __RPC__in unsigned c_long *, __RPC__in BSTR * );
+// unsigned c_long __RPC_USER VARIANT_UserSize( __RPC__in unsigned c_long *, unsigned c_long, __RPC__in VARIANT * );
+// unsigned char * __RPC_USER VARIANT_UserMarshal( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * );
+// unsigned char * __RPC_USER VARIANT_UserUnmarshal(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * );
+// void __RPC_USER VARIANT_UserFree( __RPC__in unsigned c_long *, __RPC__in VARIANT * );
+// unsigned c_long __RPC_USER BSTR_UserSize64( __RPC__in unsigned c_long *, unsigned c_long, __RPC__in BSTR * );
+// unsigned char * __RPC_USER BSTR_UserMarshal64( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
+// unsigned char * __RPC_USER BSTR_UserUnmarshal64(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
+// void __RPC_USER BSTR_UserFree64( __RPC__in unsigned c_long *, __RPC__in BSTR * );
+// unsigned c_long __RPC_USER VARIANT_UserSize64( __RPC__in unsigned c_long *, unsigned c_long, __RPC__in VARIANT * );
+// unsigned char * __RPC_USER VARIANT_UserMarshal64( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * );
+// unsigned char * __RPC_USER VARIANT_UserUnmarshal64(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * );
+// void __RPC_USER VARIANT_UserFree64( __RPC__in unsigned c_long *, __RPC__in VARIANT * );