pub trait ICallFrame_Impl: Sized {
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: Option<&ICallFrameWalker>
) -> Result<ICallFrame>;
fn Free(
&self,
pframeargsdest: Option<&ICallFrame>,
pwalkerdestfree: Option<&ICallFrameWalker>,
pwalkercopy: Option<&ICallFrameWalker>,
freeflags: u32,
pwalkerfree: Option<&ICallFrameWalker>,
nullflags: u32
) -> Result<()>;
fn FreeParam(
&self,
iparam: u32,
freeflags: u32,
pwalkerfree: Option<&ICallFrameWalker>,
nullflags: u32
) -> Result<()>;
fn WalkFrame(
&self,
walkwhat: u32,
pwalker: Option<&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: Option<&ICallFrameWalker> ) -> Result<ICallFrame>
fn Free( &self, pframeargsdest: Option<&ICallFrame>, pwalkerdestfree: Option<&ICallFrameWalker>, pwalkercopy: Option<&ICallFrameWalker>, freeflags: u32, pwalkerfree: Option<&ICallFrameWalker>, nullflags: u32 ) -> Result<()>
fn FreeParam( &self, iparam: u32, freeflags: u32, pwalkerfree: Option<&ICallFrameWalker>, nullflags: u32 ) -> Result<()>
fn WalkFrame( &self, walkwhat: u32, pwalker: Option<&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<()>
Object Safety§
This trait is not object safe.