Trait ICallFrame_Impl
pub trait ICallFrame_Impl: IUnknownImpl {
Show 19 methods
// Required methods
fn GetInfo(&self, pinfo: *mut CALLFRAMEINFO) -> Result<()>;
fn GetIIDAndMethod(&self, piid: *mut GUID, pimethod: *mut u32) -> Result<()>;
fn GetNames(
&self,
pwszinterface: *mut PWSTR,
pwszmethod: *mut PWSTR,
) -> Result<()>;
fn GetStackLocation(&self) -> *mut c_void;
fn SetStackLocation(&self, pvstack: *const c_void);
fn SetReturnValue(&self, hr: HRESULT);
fn GetReturnValue(&self) -> Result<()>;
fn GetParamInfo(&self, iparam: u32) -> Result<CALLFRAMEPARAMINFO>;
fn SetParam(&self, iparam: u32, pvar: *const VARIANT) -> Result<()>;
fn GetParam(&self, iparam: u32) -> Result<VARIANT>;
fn Copy(
&self,
copycontrol: CALLFRAME_COPY,
pwalker: Ref<'_, ICallFrameWalker>,
) -> Result<ICallFrame>;
fn Free(
&self,
pframeargsdest: Ref<'_, ICallFrame>,
pwalkerdestfree: Ref<'_, ICallFrameWalker>,
pwalkercopy: Ref<'_, ICallFrameWalker>,
freeflags: u32,
pwalkerfree: Ref<'_, ICallFrameWalker>,
nullflags: u32,
) -> Result<()>;
fn FreeParam(
&self,
iparam: u32,
freeflags: u32,
pwalkerfree: Ref<'_, ICallFrameWalker>,
nullflags: u32,
) -> Result<()>;
fn WalkFrame(
&self,
walkwhat: u32,
pwalker: Ref<'_, ICallFrameWalker>,
) -> Result<()>;
fn GetMarshalSizeMax(
&self,
pmshlcontext: *const CALLFRAME_MARSHALCONTEXT,
mshlflags: MSHLFLAGS,
) -> Result<u32>;
fn Marshal(
&self,
pmshlcontext: *const CALLFRAME_MARSHALCONTEXT,
mshlflags: MSHLFLAGS,
pbuffer: *const c_void,
cbbuffer: u32,
pcbbufferused: *mut u32,
pdatarep: *mut u32,
prpcflags: *mut u32,
) -> Result<()>;
fn Unmarshal(
&self,
pbuffer: *const c_void,
cbbuffer: u32,
datarep: u32,
pcontext: *const CALLFRAME_MARSHALCONTEXT,
) -> Result<u32>;
fn ReleaseMarshalData(
&self,
pbuffer: *const c_void,
cbbuffer: u32,
ibfirstrelease: u32,
datarep: u32,
pcontext: *const CALLFRAME_MARSHALCONTEXT,
) -> Result<()>;
fn Invoke(&self, pvreceiver: *const c_void) -> Result<()>;
}
Required Methods§
fn GetInfo(&self, pinfo: *mut CALLFRAMEINFO) -> Result<()>
fn GetIIDAndMethod(&self, piid: *mut GUID, pimethod: *mut u32) -> Result<()>
fn GetNames( &self, pwszinterface: *mut PWSTR, pwszmethod: *mut PWSTR, ) -> Result<()>
fn GetStackLocation(&self) -> *mut c_void
fn SetStackLocation(&self, pvstack: *const c_void)
fn SetReturnValue(&self, hr: HRESULT)
fn GetReturnValue(&self) -> Result<()>
fn GetParamInfo(&self, iparam: u32) -> Result<CALLFRAMEPARAMINFO>
fn SetParam(&self, iparam: u32, pvar: *const VARIANT) -> Result<()>
fn GetParam(&self, iparam: u32) -> Result<VARIANT>
fn Copy( &self, copycontrol: CALLFRAME_COPY, pwalker: Ref<'_, ICallFrameWalker>, ) -> Result<ICallFrame>
fn Free( &self, pframeargsdest: Ref<'_, ICallFrame>, pwalkerdestfree: Ref<'_, ICallFrameWalker>, pwalkercopy: Ref<'_, ICallFrameWalker>, freeflags: u32, pwalkerfree: Ref<'_, ICallFrameWalker>, nullflags: u32, ) -> Result<()>
fn FreeParam( &self, iparam: u32, freeflags: u32, pwalkerfree: Ref<'_, ICallFrameWalker>, nullflags: u32, ) -> Result<()>
fn WalkFrame( &self, walkwhat: u32, pwalker: Ref<'_, ICallFrameWalker>, ) -> Result<()>
fn GetMarshalSizeMax( &self, pmshlcontext: *const CALLFRAME_MARSHALCONTEXT, mshlflags: MSHLFLAGS, ) -> Result<u32>
fn Marshal( &self, pmshlcontext: *const CALLFRAME_MARSHALCONTEXT, mshlflags: MSHLFLAGS, pbuffer: *const c_void, cbbuffer: u32, pcbbufferused: *mut u32, pdatarep: *mut u32, prpcflags: *mut u32, ) -> Result<()>
fn Unmarshal( &self, pbuffer: *const c_void, cbbuffer: u32, datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT, ) -> Result<u32>
fn ReleaseMarshalData( &self, pbuffer: *const c_void, cbbuffer: u32, ibfirstrelease: u32, datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT, ) -> Result<()>
fn Invoke(&self, pvreceiver: *const c_void) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.