// 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 shared::basetsd::DWORD_PTR;
use shared::guiddef::GUID;
use shared::minwindef::{DWORD, WORD};
use shared::winerror::HRESULT;
use shared::wtypes::{BSTR, VARIANT_BOOL, VARTYPE};
use um::oaidl::{DISPID, DISPID_UNKNOWN, DISPPARAMS, EXCEPINFO, IDispatch, IDispatchVtb
l, VARIANT};
use um::servprov::IServiceProvider;
use um::unknwnbase::{IUnknown, IUnknownVtbl};
use um::winnt::LCID;
DEFINE_GUID!{IID_IDispatchEx,
0 xa6ef9860, 0 xc720, 0 x11d0, 0 x93, 0 x37, 0 x0, 0 xa0, 0 xc9, 0 xd, 0 xca, 0 xa9}
DEFINE_GUID!{IID_IDispError,
0 xa6ef9861, 0 xc720, 0 x11d0, 0 x93, 0 x37, 0 x0, 0 xa0, 0 xc9, 0 xd, 0 xca, 0 xa9}
DEFINE_GUID!{IID_IVariantChangeType,
0 xa6ef9862, 0 xc720, 0 x11d0, 0 x93, 0 x37, 0 x0, 0 xa0, 0 xc9, 0 xd, 0 xca, 0 xa9}
DEFINE_GUID!{SID_VariantConversion,
0 x1f101481, 0 xbccd, 0 x11d0, 0 x93, 0 x36, 0 x0, 0 xa0, 0 xc9, 0 xd, 0 xca, 0 xa9}
DEFINE_GUID!{SID_GetCaller,
0 x4717cc40, 0 xbcb9, 0 x11d0, 0 x93, 0 x36, 0 x0, 0 xa0, 0 xc9, 0 xd, 0 xca, 0 xa9}
DEFINE_GUID!{SID_ProvideRuntimeContext,
0 x74a5040c, 0 xdd0c, 0 x48f0, 0 xac, 0 x85, 0 x19, 0 x4c, 0 x32, 0 x59, 0 x18, 0 xa}
DEFINE_GUID!{IID_IProvideRuntimeContext,
0 x10e2414a, 0 xec59, 0 x49d2, 0 xbc, 0 x51, 0 x5a, 0 xdd, 0 x2c, 0 x36, 0 xfe, 0 xbc}
DEFINE_GUID!{IID_IObjectIdentity,
0 xca04b7e6, 0 xd21, 0 x11d1, 0 x8c, 0 xc5, 0 x0, 0 xc0, 0 x4f, 0 xc2, 0 xb0, 0 x85}
DEFINE_GUID!{IID_ICanHandleException,
0 xc5598e60, 0 xb307, 0 x11d1, 0 xb2, 0 x7d, 0 x0, 0 x60, 0 x08, 0 xc3, 0 xfb, 0 xfb}
// pub const SID_GetScriptSite = IID_IActiveScriptSite;
pub const fdexNameCaseSensitive: DWORD = 0 x00000001;
pub const fdexNameEnsure: DWORD = 0 x00000002;
pub const fdexNameImplicit: DWORD = 0 x00000004;
pub const fdexNameCaseInsensitive: DWORD = 0 x00000008;
pub const fdexNameInternal: DWORD = 0 x00000010;
pub const fdexNameNoDynamicProperties: DWORD = 0 x00000020;
pub const fdexPropCanGet: DWORD = 0 x00000001;
pub const fdexPropCannotGet: DWORD = 0 x00000002;
pub const fdexPropCanPut: DWORD = 0 x00000004;
pub const fdexPropCannotPut: DWORD = 0 x00000008;
pub const fdexPropCanPutRef: DWORD = 0 x00000010;
pub const fdexPropCannotPutRef: DWORD = 0 x00000020;
pub const fdexPropNoSideEffects: DWORD = 0 x00000040;
pub const fdexPropDynamicType: DWORD = 0 x00000080;
pub const fdexPropCanCall: DWORD = 0 x00000100;
pub const fdexPropCannotCall: DWORD = 0 x00000200;
pub const fdexPropCanConstruct: DWORD = 0 x00000400;
pub const fdexPropCannotConstruct: DWORD = 0 x00000800;
pub const fdexPropCanSourceEvents: DWORD = 0 x00001000;
pub const fdexPropCannotSourceEvents: DWORD = 0 x00002000;
pub const grfdexPropCanAll: DWORD = fdexPropCanGet | fdexPropCanPut | fdexPropCanPutRef
| fdexPropCanCall | fdexPropCanConstruct | fdexPropCanSourceEvents;
pub const grfdexPropCannotAll: DWORD = fdexPropCannotGet | fdexPropCannotPut | fdexPropCannotPutRef
| fdexPropCannotCall | fdexPropCannotConstruct | fdexPropCannotSourceEvents;
pub const grfdexPropExtraAll: DWORD = fdexPropNoSideEffects | fdexPropDynamicType;
pub const grfdexPropAll: DWORD = grfdexPropCanAll | grfdexPropCannotAll | grfdexPropExtraAll;
pub const fdexEnumDefault: DWORD = 0 x00000001;
pub const fdexEnumAll: DWORD = 0 x00000002;
pub const DISPATCH_CONSTRUCT: DWORD = 0 x4000;
pub const DISPID_THIS: DISPID = -613 ;
pub const DISPID_STARTENUM: DISPID = DISPID_UNKNOWN;
// extern RPC_IF_HANDLE __MIDL_itf_dispex_0000_0000_v0_0_c_ifspec;
// extern RPC_IF_HANDLE __MIDL_itf_dispex_0000_0000_v0_0_s_ifspec;
// EXTERN_C const IID IID_IDispatchEx;
RIDL!{#[ uuid(0 xa6ef9860, 0 xc720, 0 x11d0, 0 x93, 0 x37, 0 x00, 0 xa0, 0 xc9, 0 x0d, 0 xca, 0 xa9)]
interface IDispatchEx(IDispatchExVtbl): IDispatch(IDispatchVtbl) {
fn GetDispID(
bstrName: BSTR,
grfdex: DWORD,
pid: *mut DISPID,
) -> HRESULT,
fn InvokeEx(
id: DISPID,
lcid: LCID,
wFlags: WORD,
pdp: *mut DISPPARAMS,
pvarRes: *mut VARIANT,
pei: *mut EXCEPINFO,
pspCaller: *mut IServiceProvider,
) -> HRESULT,
fn DeleteMemberByName(
bstrName: BSTR,
grfdex: DWORD,
) -> HRESULT,
fn DeleteMemberByDispID(
id: DISPID,
) -> HRESULT,
fn GetMemberProperties(
id: DISPID,
grfdexFetch: DWORD,
pgrfdex: *mut DWORD,
) -> HRESULT,
fn GetMemberName(
id: DISPID,
pbstrName: *mut BSTR,
) -> HRESULT,
fn GetNextDispID(
grfdex: DWORD,
id: DISPID,
pid: *mut DISPID,
) -> HRESULT,
fn GetNameSpaceParent(
ppunk: *mut *mut IUnknown,
) -> HRESULT,
}}
// HRESULT STDMETHODCALLTYPE IDispatchEx_RemoteInvokeEx_Proxy(
// IDispatchEx * This,
// DISPID id,
// LCID lcid,
// DWORD dwFlags,
// DISPPARAMS *pdp,
// VARIANT *pvarRes,
// EXCEPINFO *pei,
// IServiceProvider *pspCaller,
// UINT cvarRefArg,
// UINT *rgiRefArg,
// VARIANT *rgvarRefArg);
// void __RPC_STUB IDispatchEx_RemoteInvokeEx_Stub(
// IRpcStubBuffer *This,
// IRpcChannelBuffer *_pRpcChannelBuffer,
// PRPC_MESSAGE _pRpcMessage,
// DWORD *_pdwStubPhase);
// EXTERN_C const IID IID_IDispError;
RIDL!{#[ uuid(0 xa6ef9861, 0 xc720, 0 x11d0, 0 x93, 0 x37, 0 x00, 0 xa0, 0 xc9, 0 x0d, 0 xca, 0 xa9)]
interface IDispError(IDispErrorVtbl): IUnknown(IUnknownVtbl) {
fn QueryErrorInfo(
guidErrorType: GUID,
ppde: *mut *mut IDispError,
) -> HRESULT,
fn GetNext(
ppde: *mut *mut IDispError,
) -> HRESULT,
fn GetHresult(
phr: *mut HRESULT,
) -> HRESULT,
fn GetSource(
pbstrSource: *mut BSTR,
) -> HRESULT,
fn GetHelpInfo(
pbstrFileName: *mut BSTR,
pdwContext: *mut DWORD,
) -> HRESULT,
fn GetDescription(
pbstrDescription: *mut BSTR,
) -> HRESULT,
}}
// EXTERN_C const IID IID_IVariantChangeType;
RIDL!{#[ uuid(0 xa6ef9862, 0 xc720, 0 x11d0, 0 x93, 0 x37, 0 x00, 0 xa0, 0 xc9, 0 x0d, 0 xca, 0 xa9)]
interface IVariantChangeType(IVariantChangeTypeVtbl): IUnknown(IUnknownVtbl) {
fn ChangeType(
pvarDst: *mut VARIANT,
pvarSrc: *mut VARIANT,
lcid: LCID,
vtNew: VARTYPE,
) -> HRESULT,
}}
// EXTERN_C const IID IID_IObjectIdentity;
RIDL!{#[ uuid(0 xca04b7e6, 0 x0d21, 0 x11d1, 0 x8c, 0 xc5, 0 x00, 0 xc0, 0 x4f, 0 xc2, 0 xb0, 0 x85)]
interface IObjectIdentity(IObjectIdentityVtbl): IUnknown(IUnknownVtbl) {
fn IsEqualObject(
punk: *mut IUnknown,
) -> HRESULT,
}}
// EXTERN_C const IID IID_ICanHandleException;
RIDL!{#[ uuid(0 xc5598e60, 0 xb307, 0 x11d1, 0 xb2, 0 x7d, 0 x00, 0 x60, 0 x08, 0 xc3, 0 xfb, 0 xfb)]
interface ICanHandleException(ICanHandleExceptionVtbl): IUnknown(IUnknownVtbl) {
fn CanHandleException(
pExcepInfo: *mut EXCEPINFO,
pvar: *mut VARIANT,
) -> HRESULT,
}}
// EXTERN_C const IID IID_IProvideRuntimeContext;
RIDL!{#[ uuid(0 x10e2414a, 0 xec59, 0 x49d2, 0 xbc, 0 x51, 0 x5a, 0 xdd, 0 x2c, 0 x36, 0 xfe, 0 xbc)]
interface IProvideRuntimeContext(IProvideRuntimeContextVtbl): IUnknown(IUnknownVtbl) {
fn GetCurrentSourceContext(
pdwContext: *mut DWORD_PTR,
pfExecutingGlobalCode: *mut VARIANT_BOOL,
) -> HRESULT,
}}
// extern RPC_IF_HANDLE __MIDL_itf_dispex_0000_0006_v0_0_c_ifspec;
// extern RPC_IF_HANDLE __MIDL_itf_dispex_0000_0006_v0_0_s_ifspec;
// unsigned long __RPC_USER BSTR_UserSize( __RPC__in unsigned long *, unsigned long, __RPC__in BSTR * );
// unsigned char * __RPC_USER BSTR_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
// unsigned char * __RPC_USER BSTR_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
// void __RPC_USER BSTR_UserFree( __RPC__in unsigned long *, __RPC__in BSTR * );
// unsigned long __RPC_USER VARIANT_UserSize( __RPC__in unsigned long *, unsigned long, __RPC__in VARIANT * );
// unsigned char * __RPC_USER VARIANT_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * );
// unsigned char * __RPC_USER VARIANT_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * );
// void __RPC_USER VARIANT_UserFree( __RPC__in unsigned long *, __RPC__in VARIANT * );
// unsigned long __RPC_USER BSTR_UserSize64( __RPC__in unsigned long *, unsigned long, __RPC__in BSTR * );
// unsigned char * __RPC_USER BSTR_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
// unsigned char * __RPC_USER BSTR_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
// void __RPC_USER BSTR_UserFree64( __RPC__in unsigned long *, __RPC__in BSTR * );
// unsigned long __RPC_USER VARIANT_UserSize64( __RPC__in unsigned long *, unsigned long, __RPC__in VARIANT * );
// unsigned char * __RPC_USER VARIANT_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * );
// unsigned char * __RPC_USER VARIANT_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * );
// void __RPC_USER VARIANT_UserFree64( __RPC__in unsigned long *, __RPC__in VARIANT * );
// HRESULT STDMETHODCALLTYPE IDispatchEx_InvokeEx_Proxy(
// IDispatchEx * This,
// DISPID id,
// LCID lcid,
// WORD wFlags,
// DISPPARAMS *pdp,
// VARIANT *pvarRes,
// EXCEPINFO *pei,
// IServiceProvider *pspCaller);
// HRESULT STDMETHODCALLTYPE IDispatchEx_InvokeEx_Stub(
// IDispatchEx * This,
// DISPID id,
// LCID lcid,
// DWORD dwFlags,
// DISPPARAMS *pdp,
// VARIANT *pvarRes,
// EXCEPINFO *pei,
// IServiceProvider *pspCaller,
// UINT cvarRefArg,
// UINT *rgiRefArg,
// VARIANT *rgvarRefArg);
Messung V0.5 in Prozent C=97 H=100 G=98
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-18)
¤
*© Formatika GbR, Deutschland