1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 use shared
::winerror
::HRESULT
;
7 use shared
::wtypes
::BSTR
;
8 use um
::oaidl
::{IDispatch, IDispatchVtbl}
;
9 use um
::wbemdisp
::{ISWbemObject, ISWbemServices}
;
10 // extern RPC_IF_HANDLE __MIDL_itf_wbemads_0000_0000_v0_0_c_ifspec;
11 // extern RPC_IF_HANDLE __MIDL_itf_wbemads_0000_0000_v0_0_s_ifspec;
12 // EXTERN_C const IID LIBID_WMIEXTENSIONLib;
13 // EXTERN_C const IID IID_IWMIExtension;
14 DEFINE_GUID
!{IID_IWMIExtension
,
15 0xadc1f06e, 0x5c7e, 0x11d2, 0x8b, 0x74, 0x00, 0x10, 0x4b, 0x2a, 0xfb, 0x41}
16 RIDL
!{#[uuid(0xadc1f06e, 0x5c7e, 0x11d2, 0x8b, 0x74, 0x00, 0x10, 0x4b, 0x2a, 0xfb, 0x41)]
17 interface
IWMIExtension(IWMIExtensionVtbl
): IDispatch(IDispatchVtbl
) {
19 strWMIObjectPath
: *mut BSTR
,
22 objWMIObject
: *mut *mut ISWbemObject
,
25 objWMIServices
: *mut *mut ISWbemServices
,
28 DEFINE_GUID
!{CLSID_WMIExtension
,
29 0xf0975afe, 0x5c7f, 0x11d2, 0x8b, 0x74, 0x00, 0x10, 0x4b, 0x2a, 0xfb, 0x41}
30 // class DECLSPEC_UUID("f0975afe-5c7f-11d2-8b74-00104b2afb41")
32 // extern RPC_IF_HANDLE __MIDL_itf_wbemads_0000_0002_v0_0_c_ifspec;
33 // extern RPC_IF_HANDLE __MIDL_itf_wbemads_0000_0002_v0_0_s_ifspec;
34 // unsigned long __RPC_USER BSTR_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * );
35 // unsigned char * __RPC_USER BSTR_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
36 // unsigned char * __RPC_USER BSTR_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
37 // void __RPC_USER BSTR_UserFree( __RPC__in unsigned long *, __RPC__in BSTR * );
38 // unsigned long __RPC_USER BSTR_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * );
39 // unsigned char * __RPC_USER BSTR_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
40 // unsigned char * __RPC_USER BSTR_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
41 // void __RPC_USER BSTR_UserFree64( __RPC__in unsigned long *, __RPC__in BSTR * );