blob: b4505273b19d2845a96ee1a7ed056d6eb7a5036d [file] [log] [blame]
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait AsyncIDebugApplicationNodeEvents_Impl: Sized {
fn Begin_onAddChild(&self, prddpchild: ::core::option::Option<&IDebugApplicationNode>) -> ::windows::core::Result<()>;
fn Finish_onAddChild(&self) -> ::windows::core::Result<()>;
fn Begin_onRemoveChild(&self, prddpchild: ::core::option::Option<&IDebugApplicationNode>) -> ::windows::core::Result<()>;
fn Finish_onRemoveChild(&self) -> ::windows::core::Result<()>;
fn Begin_onDetach(&self) -> ::windows::core::Result<()>;
fn Finish_onDetach(&self) -> ::windows::core::Result<()>;
fn Begin_onAttach(&self, prddpparent: ::core::option::Option<&IDebugApplicationNode>) -> ::windows::core::Result<()>;
fn Finish_onAttach(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for AsyncIDebugApplicationNodeEvents {}
impl AsyncIDebugApplicationNodeEvents_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: AsyncIDebugApplicationNodeEvents_Impl, const OFFSET: isize>() -> AsyncIDebugApplicationNodeEvents_Vtbl {
unsafe extern "system" fn Begin_onAddChild<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: AsyncIDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prddpchild: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Begin_onAddChild(::windows::core::from_raw_borrowed(&prddpchild)).into()
}
unsafe extern "system" fn Finish_onAddChild<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: AsyncIDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Finish_onAddChild().into()
}
unsafe extern "system" fn Begin_onRemoveChild<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: AsyncIDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prddpchild: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Begin_onRemoveChild(::windows::core::from_raw_borrowed(&prddpchild)).into()
}
unsafe extern "system" fn Finish_onRemoveChild<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: AsyncIDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Finish_onRemoveChild().into()
}
unsafe extern "system" fn Begin_onDetach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: AsyncIDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Begin_onDetach().into()
}
unsafe extern "system" fn Finish_onDetach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: AsyncIDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Finish_onDetach().into()
}
unsafe extern "system" fn Begin_onAttach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: AsyncIDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prddpparent: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Begin_onAttach(::windows::core::from_raw_borrowed(&prddpparent)).into()
}
unsafe extern "system" fn Finish_onAttach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: AsyncIDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Finish_onAttach().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Begin_onAddChild: Begin_onAddChild::<Identity, Impl, OFFSET>,
Finish_onAddChild: Finish_onAddChild::<Identity, Impl, OFFSET>,
Begin_onRemoveChild: Begin_onRemoveChild::<Identity, Impl, OFFSET>,
Finish_onRemoveChild: Finish_onRemoveChild::<Identity, Impl, OFFSET>,
Begin_onDetach: Begin_onDetach::<Identity, Impl, OFFSET>,
Finish_onDetach: Finish_onDetach::<Identity, Impl, OFFSET>,
Begin_onAttach: Begin_onAttach::<Identity, Impl, OFFSET>,
Finish_onAttach: Finish_onAttach::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<AsyncIDebugApplicationNodeEvents as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait DebugBaseEventCallbacks_Impl: Sized + IDebugEventCallbacks_Impl {}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for DebugBaseEventCallbacks {}
#[cfg(feature = "Win32_Foundation")]
impl DebugBaseEventCallbacks_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: DebugBaseEventCallbacks_Impl, const OFFSET: isize>() -> DebugBaseEventCallbacks_Vtbl {
Self { base__: IDebugEventCallbacks_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<DebugBaseEventCallbacks as ::windows::core::ComInterface>::IID || iid == &<IDebugEventCallbacks as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait DebugBaseEventCallbacksWide_Impl: Sized + IDebugEventCallbacksWide_Impl {}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for DebugBaseEventCallbacksWide {}
#[cfg(feature = "Win32_Foundation")]
impl DebugBaseEventCallbacksWide_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: DebugBaseEventCallbacksWide_Impl, const OFFSET: isize>() -> DebugBaseEventCallbacksWide_Vtbl {
Self { base__: IDebugEventCallbacksWide_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<DebugBaseEventCallbacksWide as ::windows::core::ComInterface>::IID || iid == &<IDebugEventCallbacksWide as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScript_Impl: Sized {
fn SetScriptSite(&self, pass: ::core::option::Option<&IActiveScriptSite>) -> ::windows::core::Result<()>;
fn GetScriptSite(&self, riid: *const ::windows::core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn SetScriptState(&self, ss: SCRIPTSTATE) -> ::windows::core::Result<()>;
fn GetScriptState(&self) -> ::windows::core::Result<SCRIPTSTATE>;
fn Close(&self) -> ::windows::core::Result<()>;
fn AddNamedItem(&self, pstrname: &::windows::core::PCWSTR, dwflags: u32) -> ::windows::core::Result<()>;
fn AddTypeLib(&self, rguidtypelib: *const ::windows::core::GUID, dwmajor: u32, dwminor: u32, dwflags: u32) -> ::windows::core::Result<()>;
fn GetScriptDispatch(&self, pstritemname: &::windows::core::PCWSTR) -> ::windows::core::Result<super::super::Com::IDispatch>;
fn GetCurrentScriptThreadID(&self) -> ::windows::core::Result<u32>;
fn GetScriptThreadID(&self, dwwin32threadid: u32) -> ::windows::core::Result<u32>;
fn GetScriptThreadState(&self, stidthread: u32) -> ::windows::core::Result<SCRIPTTHREADSTATE>;
fn InterruptScriptThread(&self, stidthread: u32, pexcepinfo: *const super::super::Com::EXCEPINFO, dwflags: u32) -> ::windows::core::Result<()>;
fn Clone(&self) -> ::windows::core::Result<IActiveScript>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScript {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScript_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>() -> IActiveScript_Vtbl {
unsafe extern "system" fn SetScriptSite<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pass: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScriptSite(::windows::core::from_raw_borrowed(&pass)).into()
}
unsafe extern "system" fn GetScriptSite<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScriptSite(::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppvobject)).into()
}
unsafe extern "system" fn SetScriptState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ss: SCRIPTSTATE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScriptState(::core::mem::transmute_copy(&ss)).into()
}
unsafe extern "system" fn GetScriptState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pssstate: *mut SCRIPTSTATE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScriptState() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pssstate, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Close<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Close().into()
}
unsafe extern "system" fn AddNamedItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrname: ::windows::core::PCWSTR, dwflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddNamedItem(::core::mem::transmute(&pstrname), ::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn AddTypeLib<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rguidtypelib: *const ::windows::core::GUID, dwmajor: u32, dwminor: u32, dwflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddTypeLib(::core::mem::transmute_copy(&rguidtypelib), ::core::mem::transmute_copy(&dwmajor), ::core::mem::transmute_copy(&dwminor), ::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn GetScriptDispatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstritemname: ::windows::core::PCWSTR, ppdisp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScriptDispatch(::core::mem::transmute(&pstritemname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdisp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentScriptThreadID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstidthread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentScriptThreadID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstidthread, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetScriptThreadID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwwin32threadid: u32, pstidthread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScriptThreadID(::core::mem::transmute_copy(&dwwin32threadid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstidthread, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetScriptThreadState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stidthread: u32, pstsstate: *mut SCRIPTTHREADSTATE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScriptThreadState(::core::mem::transmute_copy(&stidthread)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstsstate, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn InterruptScriptThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stidthread: u32, pexcepinfo: *const super::super::Com::EXCEPINFO, dwflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InterruptScriptThread(::core::mem::transmute_copy(&stidthread), ::core::mem::transmute_copy(&pexcepinfo), ::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppscript: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppscript, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetScriptSite: SetScriptSite::<Identity, Impl, OFFSET>,
GetScriptSite: GetScriptSite::<Identity, Impl, OFFSET>,
SetScriptState: SetScriptState::<Identity, Impl, OFFSET>,
GetScriptState: GetScriptState::<Identity, Impl, OFFSET>,
Close: Close::<Identity, Impl, OFFSET>,
AddNamedItem: AddNamedItem::<Identity, Impl, OFFSET>,
AddTypeLib: AddTypeLib::<Identity, Impl, OFFSET>,
GetScriptDispatch: GetScriptDispatch::<Identity, Impl, OFFSET>,
GetCurrentScriptThreadID: GetCurrentScriptThreadID::<Identity, Impl, OFFSET>,
GetScriptThreadID: GetScriptThreadID::<Identity, Impl, OFFSET>,
GetScriptThreadState: GetScriptThreadState::<Identity, Impl, OFFSET>,
InterruptScriptThread: InterruptScriptThread::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScript as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
pub trait IActiveScriptAuthor_Impl: Sized {
fn AddNamedItem(&self, pszname: &::windows::core::PCWSTR, dwflags: u32, pdisp: ::core::option::Option<&super::super::Com::IDispatch>) -> ::windows::core::Result<()>;
fn AddScriptlet(&self, pszdefaultname: &::windows::core::PCWSTR, pszcode: &::windows::core::PCWSTR, pszitemname: &::windows::core::PCWSTR, pszsubitemname: &::windows::core::PCWSTR, pszeventname: &::windows::core::PCWSTR, pszdelimiter: &::windows::core::PCWSTR, dwcookie: u32, dwflags: u32) -> ::windows::core::Result<()>;
fn ParseScriptText(&self, pszcode: &::windows::core::PCWSTR, pszitemname: &::windows::core::PCWSTR, pszdelimiter: &::windows::core::PCWSTR, dwcookie: u32, dwflags: u32) -> ::windows::core::Result<()>;
fn GetScriptTextAttributes(&self, pszcode: &::windows::core::PCWSTR, cch: u32, pszdelimiter: &::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::Result<()>;
fn GetScriptletTextAttributes(&self, pszcode: &::windows::core::PCWSTR, cch: u32, pszdelimiter: &::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::Result<()>;
fn GetRoot(&self) -> ::windows::core::Result<IScriptNode>;
fn GetLanguageFlags(&self) -> ::windows::core::Result<u32>;
fn GetEventHandler(&self, pdisp: ::core::option::Option<&super::super::Com::IDispatch>, pszitem: &::windows::core::PCWSTR, pszsubitem: &::windows::core::PCWSTR, pszevent: &::windows::core::PCWSTR) -> ::windows::core::Result<IScriptEntry>;
fn RemoveNamedItem(&self, pszname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AddTypeLib(&self, rguidtypelib: *const ::windows::core::GUID, dwmajor: u32, dwminor: u32, dwflags: u32) -> ::windows::core::Result<()>;
fn RemoveTypeLib(&self, rguidtypelib: *const ::windows::core::GUID, dwmajor: u32, dwminor: u32) -> ::windows::core::Result<()>;
fn GetChars(&self, frequestedlist: u32) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetInfoFromContext(&self, pszcode: &::windows::core::PCWSTR, cchcode: u32, ichcurrentposition: u32, dwlisttypesrequested: u32, pdwlisttypesprovided: *mut u32, pichlistanchorposition: *mut u32, pichfuncanchorposition: *mut u32, pmemid: *mut i32, picurrentparameter: *mut i32, ppunk: *mut ::core::option::Option<::windows::core::IUnknown>) -> ::windows::core::Result<()>;
fn IsCommitChar(&self, ch: u16) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
impl ::windows::core::RuntimeName for IActiveScriptAuthor {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
impl IActiveScriptAuthor_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>() -> IActiveScriptAuthor_Vtbl {
unsafe extern "system" fn AddNamedItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: ::windows::core::PCWSTR, dwflags: u32, pdisp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddNamedItem(::core::mem::transmute(&pszname), ::core::mem::transmute_copy(&dwflags), ::windows::core::from_raw_borrowed(&pdisp)).into()
}
unsafe extern "system" fn AddScriptlet<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszdefaultname: ::windows::core::PCWSTR, pszcode: ::windows::core::PCWSTR, pszitemname: ::windows::core::PCWSTR, pszsubitemname: ::windows::core::PCWSTR, pszeventname: ::windows::core::PCWSTR, pszdelimiter: ::windows::core::PCWSTR, dwcookie: u32, dwflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddScriptlet(::core::mem::transmute(&pszdefaultname), ::core::mem::transmute(&pszcode), ::core::mem::transmute(&pszitemname), ::core::mem::transmute(&pszsubitemname), ::core::mem::transmute(&pszeventname), ::core::mem::transmute(&pszdelimiter), ::core::mem::transmute_copy(&dwcookie), ::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn ParseScriptText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszcode: ::windows::core::PCWSTR, pszitemname: ::windows::core::PCWSTR, pszdelimiter: ::windows::core::PCWSTR, dwcookie: u32, dwflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ParseScriptText(::core::mem::transmute(&pszcode), ::core::mem::transmute(&pszitemname), ::core::mem::transmute(&pszdelimiter), ::core::mem::transmute_copy(&dwcookie), ::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn GetScriptTextAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszcode: ::windows::core::PCWSTR, cch: u32, pszdelimiter: ::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScriptTextAttributes(::core::mem::transmute(&pszcode), ::core::mem::transmute_copy(&cch), ::core::mem::transmute(&pszdelimiter), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pattr)).into()
}
unsafe extern "system" fn GetScriptletTextAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszcode: ::windows::core::PCWSTR, cch: u32, pszdelimiter: ::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScriptletTextAttributes(::core::mem::transmute(&pszcode), ::core::mem::transmute_copy(&cch), ::core::mem::transmute(&pszdelimiter), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pattr)).into()
}
unsafe extern "system" fn GetRoot<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppsp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRoot() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLanguageFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pgrfasa: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLanguageFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pgrfasa, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventHandler<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdisp: *mut ::core::ffi::c_void, pszitem: ::windows::core::PCWSTR, pszsubitem: ::windows::core::PCWSTR, pszevent: ::windows::core::PCWSTR, ppse: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventHandler(::windows::core::from_raw_borrowed(&pdisp), ::core::mem::transmute(&pszitem), ::core::mem::transmute(&pszsubitem), ::core::mem::transmute(&pszevent)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppse, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveNamedItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveNamedItem(::core::mem::transmute(&pszname)).into()
}
unsafe extern "system" fn AddTypeLib<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rguidtypelib: *const ::windows::core::GUID, dwmajor: u32, dwminor: u32, dwflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddTypeLib(::core::mem::transmute_copy(&rguidtypelib), ::core::mem::transmute_copy(&dwmajor), ::core::mem::transmute_copy(&dwminor), ::core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn RemoveTypeLib<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rguidtypelib: *const ::windows::core::GUID, dwmajor: u32, dwminor: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTypeLib(::core::mem::transmute_copy(&rguidtypelib), ::core::mem::transmute_copy(&dwmajor), ::core::mem::transmute_copy(&dwminor)).into()
}
unsafe extern "system" fn GetChars<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frequestedlist: u32, pbstrchars: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetChars(::core::mem::transmute_copy(&frequestedlist)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrchars, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInfoFromContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszcode: ::windows::core::PCWSTR, cchcode: u32, ichcurrentposition: u32, dwlisttypesrequested: u32, pdwlisttypesprovided: *mut u32, pichlistanchorposition: *mut u32, pichfuncanchorposition: *mut u32, pmemid: *mut i32, picurrentparameter: *mut i32, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetInfoFromContext(::core::mem::transmute(&pszcode), ::core::mem::transmute_copy(&cchcode), ::core::mem::transmute_copy(&ichcurrentposition), ::core::mem::transmute_copy(&dwlisttypesrequested), ::core::mem::transmute_copy(&pdwlisttypesprovided), ::core::mem::transmute_copy(&pichlistanchorposition), ::core::mem::transmute_copy(&pichfuncanchorposition), ::core::mem::transmute_copy(&pmemid), ::core::mem::transmute_copy(&picurrentparameter), ::core::mem::transmute_copy(&ppunk))
.into()
}
unsafe extern "system" fn IsCommitChar<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ch: u16, pfcommit: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsCommitChar(::core::mem::transmute_copy(&ch)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfcommit, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AddNamedItem: AddNamedItem::<Identity, Impl, OFFSET>,
AddScriptlet: AddScriptlet::<Identity, Impl, OFFSET>,
ParseScriptText: ParseScriptText::<Identity, Impl, OFFSET>,
GetScriptTextAttributes: GetScriptTextAttributes::<Identity, Impl, OFFSET>,
GetScriptletTextAttributes: GetScriptletTextAttributes::<Identity, Impl, OFFSET>,
GetRoot: GetRoot::<Identity, Impl, OFFSET>,
GetLanguageFlags: GetLanguageFlags::<Identity, Impl, OFFSET>,
GetEventHandler: GetEventHandler::<Identity, Impl, OFFSET>,
RemoveNamedItem: RemoveNamedItem::<Identity, Impl, OFFSET>,
AddTypeLib: AddTypeLib::<Identity, Impl, OFFSET>,
RemoveTypeLib: RemoveTypeLib::<Identity, Impl, OFFSET>,
GetChars: GetChars::<Identity, Impl, OFFSET>,
GetInfoFromContext: GetInfoFromContext::<Identity, Impl, OFFSET>,
IsCommitChar: IsCommitChar::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptAuthor as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScriptAuthorProcedure_Impl: Sized {
fn ParseProcedureText(&self, pszcode: &::windows::core::PCWSTR, pszformalparams: &::windows::core::PCWSTR, pszprocedurename: &::windows::core::PCWSTR, pszitemname: &::windows::core::PCWSTR, pszdelimiter: &::windows::core::PCWSTR, dwcookie: u32, dwflags: u32, pdispfor: ::core::option::Option<&super::super::Com::IDispatch>) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScriptAuthorProcedure {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScriptAuthorProcedure_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthorProcedure_Impl, const OFFSET: isize>() -> IActiveScriptAuthorProcedure_Vtbl {
unsafe extern "system" fn ParseProcedureText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptAuthorProcedure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszcode: ::windows::core::PCWSTR, pszformalparams: ::windows::core::PCWSTR, pszprocedurename: ::windows::core::PCWSTR, pszitemname: ::windows::core::PCWSTR, pszdelimiter: ::windows::core::PCWSTR, dwcookie: u32, dwflags: u32, pdispfor: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ParseProcedureText(::core::mem::transmute(&pszcode), ::core::mem::transmute(&pszformalparams), ::core::mem::transmute(&pszprocedurename), ::core::mem::transmute(&pszitemname), ::core::mem::transmute(&pszdelimiter), ::core::mem::transmute_copy(&dwcookie), ::core::mem::transmute_copy(&dwflags), ::windows::core::from_raw_borrowed(&pdispfor)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ParseProcedureText: ParseProcedureText::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptAuthorProcedure as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptDebug32_Impl: Sized {
fn GetScriptTextAttributes(&self, pstrcode: &::windows::core::PCWSTR, unumcodechars: u32, pstrdelimiter: &::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::Result<()>;
fn GetScriptletTextAttributes(&self, pstrcode: &::windows::core::PCWSTR, unumcodechars: u32, pstrdelimiter: &::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::Result<()>;
fn EnumCodeContextsOfPosition(&self, dwsourcecontext: u32, ucharacteroffset: u32, unumchars: u32) -> ::windows::core::Result<IEnumDebugCodeContexts>;
}
impl ::windows::core::RuntimeName for IActiveScriptDebug32 {}
impl IActiveScriptDebug32_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptDebug32_Impl, const OFFSET: isize>() -> IActiveScriptDebug32_Vtbl {
unsafe extern "system" fn GetScriptTextAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptDebug32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, unumcodechars: u32, pstrdelimiter: ::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScriptTextAttributes(::core::mem::transmute(&pstrcode), ::core::mem::transmute_copy(&unumcodechars), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pattr)).into()
}
unsafe extern "system" fn GetScriptletTextAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptDebug32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, unumcodechars: u32, pstrdelimiter: ::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScriptletTextAttributes(::core::mem::transmute(&pstrcode), ::core::mem::transmute_copy(&unumcodechars), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pattr)).into()
}
unsafe extern "system" fn EnumCodeContextsOfPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptDebug32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwsourcecontext: u32, ucharacteroffset: u32, unumchars: u32, ppescc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumCodeContextsOfPosition(::core::mem::transmute_copy(&dwsourcecontext), ::core::mem::transmute_copy(&ucharacteroffset), ::core::mem::transmute_copy(&unumchars)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppescc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetScriptTextAttributes: GetScriptTextAttributes::<Identity, Impl, OFFSET>,
GetScriptletTextAttributes: GetScriptletTextAttributes::<Identity, Impl, OFFSET>,
EnumCodeContextsOfPosition: EnumCodeContextsOfPosition::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptDebug32 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptDebug64_Impl: Sized {
fn GetScriptTextAttributes(&self, pstrcode: &::windows::core::PCWSTR, unumcodechars: u32, pstrdelimiter: &::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::Result<()>;
fn GetScriptletTextAttributes(&self, pstrcode: &::windows::core::PCWSTR, unumcodechars: u32, pstrdelimiter: &::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::Result<()>;
fn EnumCodeContextsOfPosition(&self, dwsourcecontext: u64, ucharacteroffset: u32, unumchars: u32) -> ::windows::core::Result<IEnumDebugCodeContexts>;
}
impl ::windows::core::RuntimeName for IActiveScriptDebug64 {}
impl IActiveScriptDebug64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptDebug64_Impl, const OFFSET: isize>() -> IActiveScriptDebug64_Vtbl {
unsafe extern "system" fn GetScriptTextAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptDebug64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, unumcodechars: u32, pstrdelimiter: ::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScriptTextAttributes(::core::mem::transmute(&pstrcode), ::core::mem::transmute_copy(&unumcodechars), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pattr)).into()
}
unsafe extern "system" fn GetScriptletTextAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptDebug64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, unumcodechars: u32, pstrdelimiter: ::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScriptletTextAttributes(::core::mem::transmute(&pstrcode), ::core::mem::transmute_copy(&unumcodechars), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pattr)).into()
}
unsafe extern "system" fn EnumCodeContextsOfPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptDebug64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwsourcecontext: u64, ucharacteroffset: u32, unumchars: u32, ppescc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumCodeContextsOfPosition(::core::mem::transmute_copy(&dwsourcecontext), ::core::mem::transmute_copy(&ucharacteroffset), ::core::mem::transmute_copy(&unumchars)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppescc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetScriptTextAttributes: GetScriptTextAttributes::<Identity, Impl, OFFSET>,
GetScriptletTextAttributes: GetScriptletTextAttributes::<Identity, Impl, OFFSET>,
EnumCodeContextsOfPosition: EnumCodeContextsOfPosition::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptDebug64 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptEncode_Impl: Sized {
fn EncodeSection(&self, pchin: &::windows::core::PCWSTR, cchin: u32, pchout: &::windows::core::PWSTR, cchout: u32, pcchret: *mut u32) -> ::windows::core::Result<()>;
fn DecodeScript(&self, pchin: &::windows::core::PCWSTR, cchin: u32, pchout: &::windows::core::PWSTR, cchout: u32, pcchret: *mut u32) -> ::windows::core::Result<()>;
fn GetEncodeProgId(&self, pbstrout: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptEncode {}
impl IActiveScriptEncode_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptEncode_Impl, const OFFSET: isize>() -> IActiveScriptEncode_Vtbl {
unsafe extern "system" fn EncodeSection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptEncode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pchin: ::windows::core::PCWSTR, cchin: u32, pchout: ::windows::core::PWSTR, cchout: u32, pcchret: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EncodeSection(::core::mem::transmute(&pchin), ::core::mem::transmute_copy(&cchin), ::core::mem::transmute(&pchout), ::core::mem::transmute_copy(&cchout), ::core::mem::transmute_copy(&pcchret)).into()
}
unsafe extern "system" fn DecodeScript<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptEncode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pchin: ::windows::core::PCWSTR, cchin: u32, pchout: ::windows::core::PWSTR, cchout: u32, pcchret: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DecodeScript(::core::mem::transmute(&pchin), ::core::mem::transmute_copy(&cchin), ::core::mem::transmute(&pchout), ::core::mem::transmute_copy(&cchout), ::core::mem::transmute_copy(&pcchret)).into()
}
unsafe extern "system" fn GetEncodeProgId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptEncode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrout: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEncodeProgId(::core::mem::transmute_copy(&pbstrout)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
EncodeSection: EncodeSection::<Identity, Impl, OFFSET>,
DecodeScript: DecodeScript::<Identity, Impl, OFFSET>,
GetEncodeProgId: GetEncodeProgId::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptEncode as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScriptError_Impl: Sized {
fn GetExceptionInfo(&self, pexcepinfo: *mut super::super::Com::EXCEPINFO) -> ::windows::core::Result<()>;
fn GetSourcePosition(&self, pdwsourcecontext: *mut u32, pullinenumber: *mut u32, plcharacterposition: *mut i32) -> ::windows::core::Result<()>;
fn GetSourceLineText(&self) -> ::windows::core::Result<::windows::core::BSTR>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScriptError {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScriptError_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptError_Impl, const OFFSET: isize>() -> IActiveScriptError_Vtbl {
unsafe extern "system" fn GetExceptionInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptError_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pexcepinfo: *mut super::super::Com::EXCEPINFO) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionInfo(::core::mem::transmute_copy(&pexcepinfo)).into()
}
unsafe extern "system" fn GetSourcePosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptError_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwsourcecontext: *mut u32, pullinenumber: *mut u32, plcharacterposition: *mut i32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePosition(::core::mem::transmute_copy(&pdwsourcecontext), ::core::mem::transmute_copy(&pullinenumber), ::core::mem::transmute_copy(&plcharacterposition)).into()
}
unsafe extern "system" fn GetSourceLineText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptError_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrsourceline: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSourceLineText() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrsourceline, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetExceptionInfo: GetExceptionInfo::<Identity, Impl, OFFSET>,
GetSourcePosition: GetSourcePosition::<Identity, Impl, OFFSET>,
GetSourceLineText: GetSourceLineText::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptError as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScriptError64_Impl: Sized + IActiveScriptError_Impl {
fn GetSourcePosition64(&self, pdwsourcecontext: *mut u64, pullinenumber: *mut u32, plcharacterposition: *mut i32) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScriptError64 {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScriptError64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptError64_Impl, const OFFSET: isize>() -> IActiveScriptError64_Vtbl {
unsafe extern "system" fn GetSourcePosition64<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptError64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwsourcecontext: *mut u64, pullinenumber: *mut u32, plcharacterposition: *mut i32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePosition64(::core::mem::transmute_copy(&pdwsourcecontext), ::core::mem::transmute_copy(&pullinenumber), ::core::mem::transmute_copy(&plcharacterposition)).into()
}
Self { base__: IActiveScriptError_Vtbl::new::<Identity, Impl, OFFSET>(), GetSourcePosition64: GetSourcePosition64::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptError64 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptError as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScriptErrorDebug_Impl: Sized + IActiveScriptError_Impl {
fn GetDocumentContext(&self) -> ::windows::core::Result<IDebugDocumentContext>;
fn GetStackFrame(&self) -> ::windows::core::Result<IDebugStackFrame>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScriptErrorDebug {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScriptErrorDebug_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptErrorDebug_Impl, const OFFSET: isize>() -> IActiveScriptErrorDebug_Vtbl {
unsafe extern "system" fn GetDocumentContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptErrorDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppssc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDocumentContext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppssc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackFrame<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptErrorDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdsf: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStackFrame() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdsf, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IActiveScriptError_Vtbl::new::<Identity, Impl, OFFSET>(),
GetDocumentContext: GetDocumentContext::<Identity, Impl, OFFSET>,
GetStackFrame: GetStackFrame::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptErrorDebug as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptError as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptErrorDebug110_Impl: Sized {
fn GetExceptionThrownKind(&self) -> ::windows::core::Result<SCRIPT_ERROR_DEBUG_EXCEPTION_THROWN_KIND>;
}
impl ::windows::core::RuntimeName for IActiveScriptErrorDebug110 {}
impl IActiveScriptErrorDebug110_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptErrorDebug110_Impl, const OFFSET: isize>() -> IActiveScriptErrorDebug110_Vtbl {
unsafe extern "system" fn GetExceptionThrownKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptErrorDebug110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pexceptionkind: *mut SCRIPT_ERROR_DEBUG_EXCEPTION_THROWN_KIND) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExceptionThrownKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pexceptionkind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetExceptionThrownKind: GetExceptionThrownKind::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptErrorDebug110 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptGarbageCollector_Impl: Sized {
fn CollectGarbage(&self, scriptgctype: SCRIPTGCTYPE) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptGarbageCollector {}
impl IActiveScriptGarbageCollector_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptGarbageCollector_Impl, const OFFSET: isize>() -> IActiveScriptGarbageCollector_Vtbl {
unsafe extern "system" fn CollectGarbage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptGarbageCollector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scriptgctype: SCRIPTGCTYPE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CollectGarbage(::core::mem::transmute_copy(&scriptgctype)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CollectGarbage: CollectGarbage::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptGarbageCollector as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptHostEncode_Impl: Sized {
fn EncodeScriptHostFile(&self, bstrinfile: &::windows::core::BSTR, pbstroutfile: *mut ::windows::core::BSTR, cflags: u32, bstrdefaultlang: &::windows::core::BSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptHostEncode {}
impl IActiveScriptHostEncode_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptHostEncode_Impl, const OFFSET: isize>() -> IActiveScriptHostEncode_Vtbl {
unsafe extern "system" fn EncodeScriptHostFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptHostEncode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrinfile: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstroutfile: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, cflags: u32, bstrdefaultlang: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EncodeScriptHostFile(::core::mem::transmute(&bstrinfile), ::core::mem::transmute_copy(&pbstroutfile), ::core::mem::transmute_copy(&cflags), ::core::mem::transmute(&bstrdefaultlang)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), EncodeScriptHostFile: EncodeScriptHostFile::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptHostEncode as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IActiveScriptParse32_Impl: Sized {
fn InitNew(&self) -> ::windows::core::Result<()>;
fn AddScriptlet(&self, pstrdefaultname: &::windows::core::PCWSTR, pstrcode: &::windows::core::PCWSTR, pstritemname: &::windows::core::PCWSTR, pstrsubitemname: &::windows::core::PCWSTR, pstreventname: &::windows::core::PCWSTR, pstrdelimiter: &::windows::core::PCWSTR, dwsourcecontextcookie: u32, ulstartinglinenumber: u32, dwflags: u32, pbstrname: *mut ::windows::core::BSTR, pexcepinfo: *mut super::super::Com::EXCEPINFO) -> ::windows::core::Result<()>;
fn ParseScriptText(&self, pstrcode: &::windows::core::PCWSTR, pstritemname: &::windows::core::PCWSTR, punkcontext: ::core::option::Option<&::windows::core::IUnknown>, pstrdelimiter: &::windows::core::PCWSTR, dwsourcecontextcookie: u32, ulstartinglinenumber: u32, dwflags: u32, pvarresult: *mut super::super::Com::VARIANT, pexcepinfo: *mut super::super::Com::EXCEPINFO) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IActiveScriptParse32 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IActiveScriptParse32_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParse32_Impl, const OFFSET: isize>() -> IActiveScriptParse32_Vtbl {
unsafe extern "system" fn InitNew<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParse32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitNew().into()
}
unsafe extern "system" fn AddScriptlet<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParse32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrdefaultname: ::windows::core::PCWSTR, pstrcode: ::windows::core::PCWSTR, pstritemname: ::windows::core::PCWSTR, pstrsubitemname: ::windows::core::PCWSTR, pstreventname: ::windows::core::PCWSTR, pstrdelimiter: ::windows::core::PCWSTR, dwsourcecontextcookie: u32, ulstartinglinenumber: u32, dwflags: u32, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pexcepinfo: *mut super::super::Com::EXCEPINFO) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddScriptlet(::core::mem::transmute(&pstrdefaultname), ::core::mem::transmute(&pstrcode), ::core::mem::transmute(&pstritemname), ::core::mem::transmute(&pstrsubitemname), ::core::mem::transmute(&pstreventname), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwsourcecontextcookie), ::core::mem::transmute_copy(&ulstartinglinenumber), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pbstrname), ::core::mem::transmute_copy(&pexcepinfo))
.into()
}
unsafe extern "system" fn ParseScriptText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParse32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, pstritemname: ::windows::core::PCWSTR, punkcontext: *mut ::core::ffi::c_void, pstrdelimiter: ::windows::core::PCWSTR, dwsourcecontextcookie: u32, ulstartinglinenumber: u32, dwflags: u32, pvarresult: *mut super::super::Com::VARIANT, pexcepinfo: *mut super::super::Com::EXCEPINFO) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ParseScriptText(::core::mem::transmute(&pstrcode), ::core::mem::transmute(&pstritemname), ::windows::core::from_raw_borrowed(&punkcontext), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwsourcecontextcookie), ::core::mem::transmute_copy(&ulstartinglinenumber), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pvarresult), ::core::mem::transmute_copy(&pexcepinfo)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
InitNew: InitNew::<Identity, Impl, OFFSET>,
AddScriptlet: AddScriptlet::<Identity, Impl, OFFSET>,
ParseScriptText: ParseScriptText::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptParse32 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IActiveScriptParse64_Impl: Sized {
fn InitNew(&self) -> ::windows::core::Result<()>;
fn AddScriptlet(&self, pstrdefaultname: &::windows::core::PCWSTR, pstrcode: &::windows::core::PCWSTR, pstritemname: &::windows::core::PCWSTR, pstrsubitemname: &::windows::core::PCWSTR, pstreventname: &::windows::core::PCWSTR, pstrdelimiter: &::windows::core::PCWSTR, dwsourcecontextcookie: u64, ulstartinglinenumber: u32, dwflags: u32, pbstrname: *mut ::windows::core::BSTR, pexcepinfo: *mut super::super::Com::EXCEPINFO) -> ::windows::core::Result<()>;
fn ParseScriptText(&self, pstrcode: &::windows::core::PCWSTR, pstritemname: &::windows::core::PCWSTR, punkcontext: ::core::option::Option<&::windows::core::IUnknown>, pstrdelimiter: &::windows::core::PCWSTR, dwsourcecontextcookie: u64, ulstartinglinenumber: u32, dwflags: u32, pvarresult: *mut super::super::Com::VARIANT, pexcepinfo: *mut super::super::Com::EXCEPINFO) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IActiveScriptParse64 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IActiveScriptParse64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParse64_Impl, const OFFSET: isize>() -> IActiveScriptParse64_Vtbl {
unsafe extern "system" fn InitNew<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParse64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitNew().into()
}
unsafe extern "system" fn AddScriptlet<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParse64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrdefaultname: ::windows::core::PCWSTR, pstrcode: ::windows::core::PCWSTR, pstritemname: ::windows::core::PCWSTR, pstrsubitemname: ::windows::core::PCWSTR, pstreventname: ::windows::core::PCWSTR, pstrdelimiter: ::windows::core::PCWSTR, dwsourcecontextcookie: u64, ulstartinglinenumber: u32, dwflags: u32, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pexcepinfo: *mut super::super::Com::EXCEPINFO) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddScriptlet(::core::mem::transmute(&pstrdefaultname), ::core::mem::transmute(&pstrcode), ::core::mem::transmute(&pstritemname), ::core::mem::transmute(&pstrsubitemname), ::core::mem::transmute(&pstreventname), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwsourcecontextcookie), ::core::mem::transmute_copy(&ulstartinglinenumber), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pbstrname), ::core::mem::transmute_copy(&pexcepinfo))
.into()
}
unsafe extern "system" fn ParseScriptText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParse64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, pstritemname: ::windows::core::PCWSTR, punkcontext: *mut ::core::ffi::c_void, pstrdelimiter: ::windows::core::PCWSTR, dwsourcecontextcookie: u64, ulstartinglinenumber: u32, dwflags: u32, pvarresult: *mut super::super::Com::VARIANT, pexcepinfo: *mut super::super::Com::EXCEPINFO) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ParseScriptText(::core::mem::transmute(&pstrcode), ::core::mem::transmute(&pstritemname), ::windows::core::from_raw_borrowed(&punkcontext), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwsourcecontextcookie), ::core::mem::transmute_copy(&ulstartinglinenumber), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pvarresult), ::core::mem::transmute_copy(&pexcepinfo)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
InitNew: InitNew::<Identity, Impl, OFFSET>,
AddScriptlet: AddScriptlet::<Identity, Impl, OFFSET>,
ParseScriptText: ParseScriptText::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptParse64 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScriptParseProcedure2_32_Impl: Sized + IActiveScriptParseProcedure32_Impl {}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScriptParseProcedure2_32 {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScriptParseProcedure2_32_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParseProcedure2_32_Impl, const OFFSET: isize>() -> IActiveScriptParseProcedure2_32_Vtbl {
Self { base__: IActiveScriptParseProcedure32_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptParseProcedure2_32 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptParseProcedure32 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScriptParseProcedure2_64_Impl: Sized + IActiveScriptParseProcedure64_Impl {}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScriptParseProcedure2_64 {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScriptParseProcedure2_64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParseProcedure2_64_Impl, const OFFSET: isize>() -> IActiveScriptParseProcedure2_64_Vtbl {
Self { base__: IActiveScriptParseProcedure64_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptParseProcedure2_64 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptParseProcedure64 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScriptParseProcedure32_Impl: Sized {
fn ParseProcedureText(&self, pstrcode: &::windows::core::PCWSTR, pstrformalparams: &::windows::core::PCWSTR, pstrprocedurename: &::windows::core::PCWSTR, pstritemname: &::windows::core::PCWSTR, punkcontext: ::core::option::Option<&::windows::core::IUnknown>, pstrdelimiter: &::windows::core::PCWSTR, dwsourcecontextcookie: u32, ulstartinglinenumber: u32, dwflags: u32) -> ::windows::core::Result<super::super::Com::IDispatch>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScriptParseProcedure32 {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScriptParseProcedure32_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParseProcedure32_Impl, const OFFSET: isize>() -> IActiveScriptParseProcedure32_Vtbl {
unsafe extern "system" fn ParseProcedureText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParseProcedure32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, pstrformalparams: ::windows::core::PCWSTR, pstrprocedurename: ::windows::core::PCWSTR, pstritemname: ::windows::core::PCWSTR, punkcontext: *mut ::core::ffi::c_void, pstrdelimiter: ::windows::core::PCWSTR, dwsourcecontextcookie: u32, ulstartinglinenumber: u32, dwflags: u32, ppdisp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ParseProcedureText(::core::mem::transmute(&pstrcode), ::core::mem::transmute(&pstrformalparams), ::core::mem::transmute(&pstrprocedurename), ::core::mem::transmute(&pstritemname), ::windows::core::from_raw_borrowed(&punkcontext), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwsourcecontextcookie), ::core::mem::transmute_copy(&ulstartinglinenumber), ::core::mem::transmute_copy(&dwflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdisp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ParseProcedureText: ParseProcedureText::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptParseProcedure32 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScriptParseProcedure64_Impl: Sized {
fn ParseProcedureText(&self, pstrcode: &::windows::core::PCWSTR, pstrformalparams: &::windows::core::PCWSTR, pstrprocedurename: &::windows::core::PCWSTR, pstritemname: &::windows::core::PCWSTR, punkcontext: ::core::option::Option<&::windows::core::IUnknown>, pstrdelimiter: &::windows::core::PCWSTR, dwsourcecontextcookie: u64, ulstartinglinenumber: u32, dwflags: u32) -> ::windows::core::Result<super::super::Com::IDispatch>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScriptParseProcedure64 {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScriptParseProcedure64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParseProcedure64_Impl, const OFFSET: isize>() -> IActiveScriptParseProcedure64_Vtbl {
unsafe extern "system" fn ParseProcedureText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParseProcedure64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, pstrformalparams: ::windows::core::PCWSTR, pstrprocedurename: ::windows::core::PCWSTR, pstritemname: ::windows::core::PCWSTR, punkcontext: *mut ::core::ffi::c_void, pstrdelimiter: ::windows::core::PCWSTR, dwsourcecontextcookie: u64, ulstartinglinenumber: u32, dwflags: u32, ppdisp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ParseProcedureText(::core::mem::transmute(&pstrcode), ::core::mem::transmute(&pstrformalparams), ::core::mem::transmute(&pstrprocedurename), ::core::mem::transmute(&pstritemname), ::windows::core::from_raw_borrowed(&punkcontext), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwsourcecontextcookie), ::core::mem::transmute_copy(&ulstartinglinenumber), ::core::mem::transmute_copy(&dwflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdisp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ParseProcedureText: ParseProcedureText::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptParseProcedure64 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScriptParseProcedureOld32_Impl: Sized {
fn ParseProcedureText(&self, pstrcode: &::windows::core::PCWSTR, pstrformalparams: &::windows::core::PCWSTR, pstritemname: &::windows::core::PCWSTR, punkcontext: ::core::option::Option<&::windows::core::IUnknown>, pstrdelimiter: &::windows::core::PCWSTR, dwsourcecontextcookie: u32, ulstartinglinenumber: u32, dwflags: u32) -> ::windows::core::Result<super::super::Com::IDispatch>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScriptParseProcedureOld32 {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScriptParseProcedureOld32_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParseProcedureOld32_Impl, const OFFSET: isize>() -> IActiveScriptParseProcedureOld32_Vtbl {
unsafe extern "system" fn ParseProcedureText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParseProcedureOld32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, pstrformalparams: ::windows::core::PCWSTR, pstritemname: ::windows::core::PCWSTR, punkcontext: *mut ::core::ffi::c_void, pstrdelimiter: ::windows::core::PCWSTR, dwsourcecontextcookie: u32, ulstartinglinenumber: u32, dwflags: u32, ppdisp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ParseProcedureText(::core::mem::transmute(&pstrcode), ::core::mem::transmute(&pstrformalparams), ::core::mem::transmute(&pstritemname), ::windows::core::from_raw_borrowed(&punkcontext), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwsourcecontextcookie), ::core::mem::transmute_copy(&ulstartinglinenumber), ::core::mem::transmute_copy(&dwflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdisp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ParseProcedureText: ParseProcedureText::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptParseProcedureOld32 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScriptParseProcedureOld64_Impl: Sized {
fn ParseProcedureText(&self, pstrcode: &::windows::core::PCWSTR, pstrformalparams: &::windows::core::PCWSTR, pstritemname: &::windows::core::PCWSTR, punkcontext: ::core::option::Option<&::windows::core::IUnknown>, pstrdelimiter: &::windows::core::PCWSTR, dwsourcecontextcookie: u64, ulstartinglinenumber: u32, dwflags: u32) -> ::windows::core::Result<super::super::Com::IDispatch>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScriptParseProcedureOld64 {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScriptParseProcedureOld64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParseProcedureOld64_Impl, const OFFSET: isize>() -> IActiveScriptParseProcedureOld64_Vtbl {
unsafe extern "system" fn ParseProcedureText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptParseProcedureOld64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, pstrformalparams: ::windows::core::PCWSTR, pstritemname: ::windows::core::PCWSTR, punkcontext: *mut ::core::ffi::c_void, pstrdelimiter: ::windows::core::PCWSTR, dwsourcecontextcookie: u64, ulstartinglinenumber: u32, dwflags: u32, ppdisp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ParseProcedureText(::core::mem::transmute(&pstrcode), ::core::mem::transmute(&pstrformalparams), ::core::mem::transmute(&pstritemname), ::windows::core::from_raw_borrowed(&punkcontext), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwsourcecontextcookie), ::core::mem::transmute_copy(&ulstartinglinenumber), ::core::mem::transmute_copy(&dwflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdisp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ParseProcedureText: ParseProcedureText::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptParseProcedureOld64 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptProfilerCallback_Impl: Sized {
fn Initialize(&self, dwcontext: u32) -> ::windows::core::Result<()>;
fn Shutdown(&self, hrreason: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
fn ScriptCompiled(&self, scriptid: i32, r#type: PROFILER_SCRIPT_TYPE, pidebugdocumentcontext: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
fn FunctionCompiled(&self, functionid: i32, scriptid: i32, pwszfunctionname: &::windows::core::PCWSTR, pwszfunctionnamehint: &::windows::core::PCWSTR, pidebugdocumentcontext: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
fn OnFunctionEnter(&self, scriptid: i32, functionid: i32) -> ::windows::core::Result<()>;
fn OnFunctionExit(&self, scriptid: i32, functionid: i32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptProfilerCallback {}
impl IActiveScriptProfilerCallback_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback_Impl, const OFFSET: isize>() -> IActiveScriptProfilerCallback_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcontext: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&dwcontext)).into()
}
unsafe extern "system" fn Shutdown<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hrreason: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Shutdown(::core::mem::transmute_copy(&hrreason)).into()
}
unsafe extern "system" fn ScriptCompiled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scriptid: i32, r#type: PROFILER_SCRIPT_TYPE, pidebugdocumentcontext: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ScriptCompiled(::core::mem::transmute_copy(&scriptid), ::core::mem::transmute_copy(&r#type), ::windows::core::from_raw_borrowed(&pidebugdocumentcontext)).into()
}
unsafe extern "system" fn FunctionCompiled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, functionid: i32, scriptid: i32, pwszfunctionname: ::windows::core::PCWSTR, pwszfunctionnamehint: ::windows::core::PCWSTR, pidebugdocumentcontext: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FunctionCompiled(::core::mem::transmute_copy(&functionid), ::core::mem::transmute_copy(&scriptid), ::core::mem::transmute(&pwszfunctionname), ::core::mem::transmute(&pwszfunctionnamehint), ::windows::core::from_raw_borrowed(&pidebugdocumentcontext)).into()
}
unsafe extern "system" fn OnFunctionEnter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scriptid: i32, functionid: i32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnFunctionEnter(::core::mem::transmute_copy(&scriptid), ::core::mem::transmute_copy(&functionid)).into()
}
unsafe extern "system" fn OnFunctionExit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scriptid: i32, functionid: i32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnFunctionExit(::core::mem::transmute_copy(&scriptid), ::core::mem::transmute_copy(&functionid)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, Impl, OFFSET>,
Shutdown: Shutdown::<Identity, Impl, OFFSET>,
ScriptCompiled: ScriptCompiled::<Identity, Impl, OFFSET>,
FunctionCompiled: FunctionCompiled::<Identity, Impl, OFFSET>,
OnFunctionEnter: OnFunctionEnter::<Identity, Impl, OFFSET>,
OnFunctionExit: OnFunctionExit::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptProfilerCallback as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptProfilerCallback2_Impl: Sized + IActiveScriptProfilerCallback_Impl {
fn OnFunctionEnterByName(&self, pwszfunctionname: &::windows::core::PCWSTR, r#type: PROFILER_SCRIPT_TYPE) -> ::windows::core::Result<()>;
fn OnFunctionExitByName(&self, pwszfunctionname: &::windows::core::PCWSTR, r#type: PROFILER_SCRIPT_TYPE) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptProfilerCallback2 {}
impl IActiveScriptProfilerCallback2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback2_Impl, const OFFSET: isize>() -> IActiveScriptProfilerCallback2_Vtbl {
unsafe extern "system" fn OnFunctionEnterByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszfunctionname: ::windows::core::PCWSTR, r#type: PROFILER_SCRIPT_TYPE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnFunctionEnterByName(::core::mem::transmute(&pwszfunctionname), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn OnFunctionExitByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszfunctionname: ::windows::core::PCWSTR, r#type: PROFILER_SCRIPT_TYPE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnFunctionExitByName(::core::mem::transmute(&pwszfunctionname), ::core::mem::transmute_copy(&r#type)).into()
}
Self {
base__: IActiveScriptProfilerCallback_Vtbl::new::<Identity, Impl, OFFSET>(),
OnFunctionEnterByName: OnFunctionEnterByName::<Identity, Impl, OFFSET>,
OnFunctionExitByName: OnFunctionExitByName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptProfilerCallback2 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerCallback as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptProfilerCallback3_Impl: Sized + IActiveScriptProfilerCallback2_Impl {
fn SetWebWorkerId(&self, webworkerid: u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptProfilerCallback3 {}
impl IActiveScriptProfilerCallback3_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback3_Impl, const OFFSET: isize>() -> IActiveScriptProfilerCallback3_Vtbl {
unsafe extern "system" fn SetWebWorkerId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerCallback3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, webworkerid: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetWebWorkerId(::core::mem::transmute_copy(&webworkerid)).into()
}
Self { base__: IActiveScriptProfilerCallback2_Vtbl::new::<Identity, Impl, OFFSET>(), SetWebWorkerId: SetWebWorkerId::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptProfilerCallback3 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerCallback as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerCallback2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptProfilerControl_Impl: Sized {
fn StartProfiling(&self, clsidprofilerobject: *const ::windows::core::GUID, dweventmask: u32, dwcontext: u32) -> ::windows::core::Result<()>;
fn SetProfilerEventMask(&self, dweventmask: u32) -> ::windows::core::Result<()>;
fn StopProfiling(&self, hrshutdownreason: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptProfilerControl {}
impl IActiveScriptProfilerControl_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl_Impl, const OFFSET: isize>() -> IActiveScriptProfilerControl_Vtbl {
unsafe extern "system" fn StartProfiling<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, clsidprofilerobject: *const ::windows::core::GUID, dweventmask: u32, dwcontext: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProfiling(::core::mem::transmute_copy(&clsidprofilerobject), ::core::mem::transmute_copy(&dweventmask), ::core::mem::transmute_copy(&dwcontext)).into()
}
unsafe extern "system" fn SetProfilerEventMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dweventmask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProfilerEventMask(::core::mem::transmute_copy(&dweventmask)).into()
}
unsafe extern "system" fn StopProfiling<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hrshutdownreason: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StopProfiling(::core::mem::transmute_copy(&hrshutdownreason)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
StartProfiling: StartProfiling::<Identity, Impl, OFFSET>,
SetProfilerEventMask: SetProfilerEventMask::<Identity, Impl, OFFSET>,
StopProfiling: StopProfiling::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptProfilerControl as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptProfilerControl2_Impl: Sized + IActiveScriptProfilerControl_Impl {
fn CompleteProfilerStart(&self) -> ::windows::core::Result<()>;
fn PrepareProfilerStop(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptProfilerControl2 {}
impl IActiveScriptProfilerControl2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl2_Impl, const OFFSET: isize>() -> IActiveScriptProfilerControl2_Vtbl {
unsafe extern "system" fn CompleteProfilerStart<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CompleteProfilerStart().into()
}
unsafe extern "system" fn PrepareProfilerStop<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PrepareProfilerStop().into()
}
Self {
base__: IActiveScriptProfilerControl_Vtbl::new::<Identity, Impl, OFFSET>(),
CompleteProfilerStart: CompleteProfilerStart::<Identity, Impl, OFFSET>,
PrepareProfilerStop: PrepareProfilerStop::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptProfilerControl2 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerControl as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptProfilerControl3_Impl: Sized + IActiveScriptProfilerControl2_Impl {
fn EnumHeap(&self) -> ::windows::core::Result<IActiveScriptProfilerHeapEnum>;
}
impl ::windows::core::RuntimeName for IActiveScriptProfilerControl3 {}
impl IActiveScriptProfilerControl3_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl3_Impl, const OFFSET: isize>() -> IActiveScriptProfilerControl3_Vtbl {
unsafe extern "system" fn EnumHeap<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumHeap() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IActiveScriptProfilerControl2_Vtbl::new::<Identity, Impl, OFFSET>(), EnumHeap: EnumHeap::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptProfilerControl3 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerControl as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerControl2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptProfilerControl4_Impl: Sized + IActiveScriptProfilerControl3_Impl {
fn SummarizeHeap(&self, heapsummary: *mut PROFILER_HEAP_SUMMARY) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptProfilerControl4 {}
impl IActiveScriptProfilerControl4_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl4_Impl, const OFFSET: isize>() -> IActiveScriptProfilerControl4_Vtbl {
unsafe extern "system" fn SummarizeHeap<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, heapsummary: *mut PROFILER_HEAP_SUMMARY) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SummarizeHeap(::core::mem::transmute_copy(&heapsummary)).into()
}
Self { base__: IActiveScriptProfilerControl3_Vtbl::new::<Identity, Impl, OFFSET>(), SummarizeHeap: SummarizeHeap::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptProfilerControl4 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerControl as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerControl2 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerControl3 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptProfilerControl5_Impl: Sized + IActiveScriptProfilerControl4_Impl {
fn EnumHeap2(&self, enumflags: PROFILER_HEAP_ENUM_FLAGS) -> ::windows::core::Result<IActiveScriptProfilerHeapEnum>;
}
impl ::windows::core::RuntimeName for IActiveScriptProfilerControl5 {}
impl IActiveScriptProfilerControl5_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl5_Impl, const OFFSET: isize>() -> IActiveScriptProfilerControl5_Vtbl {
unsafe extern "system" fn EnumHeap2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enumflags: PROFILER_HEAP_ENUM_FLAGS, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumHeap2(::core::mem::transmute_copy(&enumflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IActiveScriptProfilerControl4_Vtbl::new::<Identity, Impl, OFFSET>(), EnumHeap2: EnumHeap2::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptProfilerControl5 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerControl as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerControl2 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerControl3 as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptProfilerControl4 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptProfilerHeapEnum_Impl: Sized {
fn Next(&self, celt: u32, heapobjects: *mut *mut PROFILER_HEAP_OBJECT, pceltfetched: *mut u32) -> ::windows::core::Result<()>;
fn GetOptionalInfo(&self, heapobject: *const PROFILER_HEAP_OBJECT, celt: u32, optionalinfo: *mut PROFILER_HEAP_OBJECT_OPTIONAL_INFO) -> ::windows::core::Result<()>;
fn FreeObjectAndOptionalInfo(&self, celt: u32, heapobjects: *const *const PROFILER_HEAP_OBJECT) -> ::windows::core::Result<()>;
fn GetNameIdMap(&self, pnamelist: *mut *mut *mut ::windows::core::PWSTR, pcelt: *mut u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptProfilerHeapEnum {}
impl IActiveScriptProfilerHeapEnum_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerHeapEnum_Impl, const OFFSET: isize>() -> IActiveScriptProfilerHeapEnum_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerHeapEnum_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, heapobjects: *mut *mut PROFILER_HEAP_OBJECT, pceltfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&heapobjects), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn GetOptionalInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerHeapEnum_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, heapobject: *const PROFILER_HEAP_OBJECT, celt: u32, optionalinfo: *mut PROFILER_HEAP_OBJECT_OPTIONAL_INFO) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOptionalInfo(::core::mem::transmute_copy(&heapobject), ::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&optionalinfo)).into()
}
unsafe extern "system" fn FreeObjectAndOptionalInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerHeapEnum_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, heapobjects: *const *const PROFILER_HEAP_OBJECT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FreeObjectAndOptionalInfo(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&heapobjects)).into()
}
unsafe extern "system" fn GetNameIdMap<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProfilerHeapEnum_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pnamelist: *mut *mut *mut ::windows::core::PWSTR, pcelt: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameIdMap(::core::mem::transmute_copy(&pnamelist), ::core::mem::transmute_copy(&pcelt)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
GetOptionalInfo: GetOptionalInfo::<Identity, Impl, OFFSET>,
FreeObjectAndOptionalInfo: FreeObjectAndOptionalInfo::<Identity, Impl, OFFSET>,
GetNameIdMap: GetNameIdMap::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptProfilerHeapEnum as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IActiveScriptProperty_Impl: Sized {
fn GetProperty(&self, dwproperty: u32, pvarindex: *const super::super::Com::VARIANT) -> ::windows::core::Result<super::super::Com::VARIANT>;
fn SetProperty(&self, dwproperty: u32, pvarindex: *const super::super::Com::VARIANT, pvarvalue: *const super::super::Com::VARIANT) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IActiveScriptProperty {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IActiveScriptProperty_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProperty_Impl, const OFFSET: isize>() -> IActiveScriptProperty_Vtbl {
unsafe extern "system" fn GetProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwproperty: u32, pvarindex: *const super::super::Com::VARIANT, pvarvalue: *mut super::super::Com::VARIANT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProperty(::core::mem::transmute_copy(&dwproperty), ::core::mem::transmute_copy(&pvarindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvarvalue, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwproperty: u32, pvarindex: *const super::super::Com::VARIANT, pvarvalue: *const super::super::Com::VARIANT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProperty(::core::mem::transmute_copy(&dwproperty), ::core::mem::transmute_copy(&pvarindex), ::core::mem::transmute_copy(&pvarvalue)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetProperty: GetProperty::<Identity, Impl, OFFSET>,
SetProperty: SetProperty::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptProperty as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptSIPInfo_Impl: Sized {
fn GetSIPOID(&self) -> ::windows::core::Result<::windows::core::GUID>;
}
impl ::windows::core::RuntimeName for IActiveScriptSIPInfo {}
impl IActiveScriptSIPInfo_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSIPInfo_Impl, const OFFSET: isize>() -> IActiveScriptSIPInfo_Vtbl {
unsafe extern "system" fn GetSIPOID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSIPInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, poid_sip: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSIPOID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(poid_sip, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetSIPOID: GetSIPOID::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptSIPInfo as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IActiveScriptSite_Impl: Sized {
fn GetLCID(&self) -> ::windows::core::Result<u32>;
fn GetItemInfo(&self, pstrname: &::windows::core::PCWSTR, dwreturnmask: u32, ppiunkitem: *mut ::core::option::Option<::windows::core::IUnknown>, ppti: *mut ::core::option::Option<super::super::Com::ITypeInfo>) -> ::windows::core::Result<()>;
fn GetDocVersionString(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn OnScriptTerminate(&self, pvarresult: *const super::super::Com::VARIANT, pexcepinfo: *const super::super::Com::EXCEPINFO) -> ::windows::core::Result<()>;
fn OnStateChange(&self, ssscriptstate: SCRIPTSTATE) -> ::windows::core::Result<()>;
fn OnScriptError(&self, pscripterror: ::core::option::Option<&IActiveScriptError>) -> ::windows::core::Result<()>;
fn OnEnterScript(&self) -> ::windows::core::Result<()>;
fn OnLeaveScript(&self) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IActiveScriptSite {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IActiveScriptSite_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSite_Impl, const OFFSET: isize>() -> IActiveScriptSite_Vtbl {
unsafe extern "system" fn GetLCID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSite_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLCID() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plcid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSite_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrname: ::windows::core::PCWSTR, dwreturnmask: u32, ppiunkitem: *mut *mut ::core::ffi::c_void, ppti: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetItemInfo(::core::mem::transmute(&pstrname), ::core::mem::transmute_copy(&dwreturnmask), ::core::mem::transmute_copy(&ppiunkitem), ::core::mem::transmute_copy(&ppti)).into()
}
unsafe extern "system" fn GetDocVersionString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSite_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrversion: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDocVersionString() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrversion, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OnScriptTerminate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSite_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarresult: *const super::super::Com::VARIANT, pexcepinfo: *const super::super::Com::EXCEPINFO) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnScriptTerminate(::core::mem::transmute_copy(&pvarresult), ::core::mem::transmute_copy(&pexcepinfo)).into()
}
unsafe extern "system" fn OnStateChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSite_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ssscriptstate: SCRIPTSTATE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnStateChange(::core::mem::transmute_copy(&ssscriptstate)).into()
}
unsafe extern "system" fn OnScriptError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSite_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pscripterror: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnScriptError(::windows::core::from_raw_borrowed(&pscripterror)).into()
}
unsafe extern "system" fn OnEnterScript<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSite_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnEnterScript().into()
}
unsafe extern "system" fn OnLeaveScript<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSite_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnLeaveScript().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetLCID: GetLCID::<Identity, Impl, OFFSET>,
GetItemInfo: GetItemInfo::<Identity, Impl, OFFSET>,
GetDocVersionString: GetDocVersionString::<Identity, Impl, OFFSET>,
OnScriptTerminate: OnScriptTerminate::<Identity, Impl, OFFSET>,
OnStateChange: OnStateChange::<Identity, Impl, OFFSET>,
OnScriptError: OnScriptError::<Identity, Impl, OFFSET>,
OnEnterScript: OnEnterScript::<Identity, Impl, OFFSET>,
OnLeaveScript: OnLeaveScript::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptSite as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IActiveScriptSiteDebug32_Impl: Sized {
fn GetDocumentContextFromPosition(&self, dwsourcecontext: u32, ucharacteroffset: u32, unumchars: u32) -> ::windows::core::Result<IDebugDocumentContext>;
fn GetApplication(&self) -> ::windows::core::Result<IDebugApplication32>;
fn GetRootApplicationNode(&self) -> ::windows::core::Result<IDebugApplicationNode>;
fn OnScriptErrorDebug(&self, perrordebug: ::core::option::Option<&IActiveScriptErrorDebug>, pfenterdebugger: *mut super::super::super::Foundation::BOOL, pfcallonscripterrorwhencontinuing: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IActiveScriptSiteDebug32 {}
#[cfg(feature = "Win32_Foundation")]
impl IActiveScriptSiteDebug32_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebug32_Impl, const OFFSET: isize>() -> IActiveScriptSiteDebug32_Vtbl {
unsafe extern "system" fn GetDocumentContextFromPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebug32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwsourcecontext: u32, ucharacteroffset: u32, unumchars: u32, ppsc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDocumentContextFromPosition(::core::mem::transmute_copy(&dwsourcecontext), ::core::mem::transmute_copy(&ucharacteroffset), ::core::mem::transmute_copy(&unumchars)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebug32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppda: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetApplication() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppda, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRootApplicationNode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebug32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdanroot: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRootApplicationNode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdanroot, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OnScriptErrorDebug<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebug32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, perrordebug: *mut ::core::ffi::c_void, pfenterdebugger: *mut super::super::super::Foundation::BOOL, pfcallonscripterrorwhencontinuing: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnScriptErrorDebug(::windows::core::from_raw_borrowed(&perrordebug), ::core::mem::transmute_copy(&pfenterdebugger), ::core::mem::transmute_copy(&pfcallonscripterrorwhencontinuing)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDocumentContextFromPosition: GetDocumentContextFromPosition::<Identity, Impl, OFFSET>,
GetApplication: GetApplication::<Identity, Impl, OFFSET>,
GetRootApplicationNode: GetRootApplicationNode::<Identity, Impl, OFFSET>,
OnScriptErrorDebug: OnScriptErrorDebug::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptSiteDebug32 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IActiveScriptSiteDebug64_Impl: Sized {
fn GetDocumentContextFromPosition(&self, dwsourcecontext: u64, ucharacteroffset: u32, unumchars: u32) -> ::windows::core::Result<IDebugDocumentContext>;
fn GetApplication(&self) -> ::windows::core::Result<IDebugApplication64>;
fn GetRootApplicationNode(&self) -> ::windows::core::Result<IDebugApplicationNode>;
fn OnScriptErrorDebug(&self, perrordebug: ::core::option::Option<&IActiveScriptErrorDebug>, pfenterdebugger: *mut super::super::super::Foundation::BOOL, pfcallonscripterrorwhencontinuing: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IActiveScriptSiteDebug64 {}
#[cfg(feature = "Win32_Foundation")]
impl IActiveScriptSiteDebug64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebug64_Impl, const OFFSET: isize>() -> IActiveScriptSiteDebug64_Vtbl {
unsafe extern "system" fn GetDocumentContextFromPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebug64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwsourcecontext: u64, ucharacteroffset: u32, unumchars: u32, ppsc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDocumentContextFromPosition(::core::mem::transmute_copy(&dwsourcecontext), ::core::mem::transmute_copy(&ucharacteroffset), ::core::mem::transmute_copy(&unumchars)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebug64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppda: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetApplication() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppda, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRootApplicationNode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebug64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdanroot: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRootApplicationNode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdanroot, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OnScriptErrorDebug<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebug64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, perrordebug: *mut ::core::ffi::c_void, pfenterdebugger: *mut super::super::super::Foundation::BOOL, pfcallonscripterrorwhencontinuing: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnScriptErrorDebug(::windows::core::from_raw_borrowed(&perrordebug), ::core::mem::transmute_copy(&pfenterdebugger), ::core::mem::transmute_copy(&pfcallonscripterrorwhencontinuing)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDocumentContextFromPosition: GetDocumentContextFromPosition::<Identity, Impl, OFFSET>,
GetApplication: GetApplication::<Identity, Impl, OFFSET>,
GetRootApplicationNode: GetRootApplicationNode::<Identity, Impl, OFFSET>,
OnScriptErrorDebug: OnScriptErrorDebug::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptSiteDebug64 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IActiveScriptSiteDebugEx_Impl: Sized {
fn OnCanNotJITScriptErrorDebug(&self, perrordebug: ::core::option::Option<&IActiveScriptErrorDebug>) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IActiveScriptSiteDebugEx {}
#[cfg(feature = "Win32_Foundation")]
impl IActiveScriptSiteDebugEx_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebugEx_Impl, const OFFSET: isize>() -> IActiveScriptSiteDebugEx_Vtbl {
unsafe extern "system" fn OnCanNotJITScriptErrorDebug<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteDebugEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, perrordebug: *mut ::core::ffi::c_void, pfcallonscripterrorwhencontinuing: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OnCanNotJITScriptErrorDebug(::windows::core::from_raw_borrowed(&perrordebug)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfcallonscripterrorwhencontinuing, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
OnCanNotJITScriptErrorDebug: OnCanNotJITScriptErrorDebug::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptSiteDebugEx as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptSiteInterruptPoll_Impl: Sized {
fn QueryContinue(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptSiteInterruptPoll {}
impl IActiveScriptSiteInterruptPoll_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteInterruptPoll_Impl, const OFFSET: isize>() -> IActiveScriptSiteInterruptPoll_Vtbl {
unsafe extern "system" fn QueryContinue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteInterruptPoll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryContinue().into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), QueryContinue: QueryContinue::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptSiteInterruptPoll as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptSiteTraceInfo_Impl: Sized {
fn SendScriptTraceInfo(&self, stieventtype: SCRIPTTRACEINFO, guidcontextid: &::windows::core::GUID, dwscriptcontextcookie: u32, lscriptstatementstart: i32, lscriptstatementend: i32, dwreserved: u64) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptSiteTraceInfo {}
impl IActiveScriptSiteTraceInfo_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteTraceInfo_Impl, const OFFSET: isize>() -> IActiveScriptSiteTraceInfo_Vtbl {
unsafe extern "system" fn SendScriptTraceInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteTraceInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stieventtype: SCRIPTTRACEINFO, guidcontextid: ::windows::core::GUID, dwscriptcontextcookie: u32, lscriptstatementstart: i32, lscriptstatementend: i32, dwreserved: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SendScriptTraceInfo(::core::mem::transmute_copy(&stieventtype), ::core::mem::transmute(&guidcontextid), ::core::mem::transmute_copy(&dwscriptcontextcookie), ::core::mem::transmute_copy(&lscriptstatementstart), ::core::mem::transmute_copy(&lscriptstatementend), ::core::mem::transmute_copy(&dwreserved)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SendScriptTraceInfo: SendScriptTraceInfo::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptSiteTraceInfo as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptSiteUIControl_Impl: Sized {
fn GetUIBehavior(&self, uicitem: SCRIPTUICITEM) -> ::windows::core::Result<SCRIPTUICHANDLING>;
}
impl ::windows::core::RuntimeName for IActiveScriptSiteUIControl {}
impl IActiveScriptSiteUIControl_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteUIControl_Impl, const OFFSET: isize>() -> IActiveScriptSiteUIControl_Vtbl {
unsafe extern "system" fn GetUIBehavior<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteUIControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uicitem: SCRIPTUICITEM, puichandling: *mut SCRIPTUICHANDLING) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetUIBehavior(::core::mem::transmute_copy(&uicitem)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(puichandling, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetUIBehavior: GetUIBehavior::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptSiteUIControl as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IActiveScriptSiteWindow_Impl: Sized {
fn GetWindow(&self) -> ::windows::core::Result<super::super::super::Foundation::HWND>;
fn EnableModeless(&self, fenable: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IActiveScriptSiteWindow {}
#[cfg(feature = "Win32_Foundation")]
impl IActiveScriptSiteWindow_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteWindow_Impl, const OFFSET: isize>() -> IActiveScriptSiteWindow_Vtbl {
unsafe extern "system" fn GetWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteWindow_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phwnd: *mut super::super::super::Foundation::HWND) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetWindow() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(phwnd, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnableModeless<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptSiteWindow_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fenable: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnableModeless(::core::mem::transmute_copy(&fenable)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetWindow: GetWindow::<Identity, Impl, OFFSET>,
EnableModeless: EnableModeless::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptSiteWindow as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptStats_Impl: Sized {
fn GetStat(&self, stid: u32, pluhi: *mut u32, plulo: *mut u32) -> ::windows::core::Result<()>;
fn GetStatEx(&self, guid: *const ::windows::core::GUID, pluhi: *mut u32, plulo: *mut u32) -> ::windows::core::Result<()>;
fn ResetStats(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptStats {}
impl IActiveScriptStats_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptStats_Impl, const OFFSET: isize>() -> IActiveScriptStats_Vtbl {
unsafe extern "system" fn GetStat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptStats_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stid: u32, pluhi: *mut u32, plulo: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStat(::core::mem::transmute_copy(&stid), ::core::mem::transmute_copy(&pluhi), ::core::mem::transmute_copy(&plulo)).into()
}
unsafe extern "system" fn GetStatEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptStats_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, pluhi: *mut u32, plulo: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStatEx(::core::mem::transmute_copy(&guid), ::core::mem::transmute_copy(&pluhi), ::core::mem::transmute_copy(&plulo)).into()
}
unsafe extern "system" fn ResetStats<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptStats_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetStats().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetStat: GetStat::<Identity, Impl, OFFSET>,
GetStatEx: GetStatEx::<Identity, Impl, OFFSET>,
ResetStats: ResetStats::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptStats as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptStringCompare_Impl: Sized {
fn StrComp(&self, bszstr1: &::windows::core::BSTR, bszstr2: &::windows::core::BSTR) -> ::windows::core::Result<i32>;
}
impl ::windows::core::RuntimeName for IActiveScriptStringCompare {}
impl IActiveScriptStringCompare_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptStringCompare_Impl, const OFFSET: isize>() -> IActiveScriptStringCompare_Vtbl {
unsafe extern "system" fn StrComp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptStringCompare_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bszstr1: ::std::mem::MaybeUninit<::windows::core::BSTR>, bszstr2: ::std::mem::MaybeUninit<::windows::core::BSTR>, iret: *mut i32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StrComp(::core::mem::transmute(&bszstr1), ::core::mem::transmute(&bszstr2)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(iret, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), StrComp: StrComp::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptStringCompare as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IActiveScriptTraceInfo_Impl: Sized {
fn StartScriptTracing(&self, psitetraceinfo: ::core::option::Option<&IActiveScriptSiteTraceInfo>, guidcontextid: &::windows::core::GUID) -> ::windows::core::Result<()>;
fn StopScriptTracing(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IActiveScriptTraceInfo {}
impl IActiveScriptTraceInfo_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptTraceInfo_Impl, const OFFSET: isize>() -> IActiveScriptTraceInfo_Vtbl {
unsafe extern "system" fn StartScriptTracing<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptTraceInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psitetraceinfo: *mut ::core::ffi::c_void, guidcontextid: ::windows::core::GUID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartScriptTracing(::windows::core::from_raw_borrowed(&psitetraceinfo), ::core::mem::transmute(&guidcontextid)).into()
}
unsafe extern "system" fn StopScriptTracing<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptTraceInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StopScriptTracing().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
StartScriptTracing: StartScriptTracing::<Identity, Impl, OFFSET>,
StopScriptTracing: StopScriptTracing::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptTraceInfo as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IActiveScriptWinRTErrorDebug_Impl: Sized + IActiveScriptError_Impl {
fn GetRestrictedErrorString(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetRestrictedErrorReference(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetCapabilitySid(&self) -> ::windows::core::Result<::windows::core::BSTR>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IActiveScriptWinRTErrorDebug {}
#[cfg(feature = "Win32_System_Com")]
impl IActiveScriptWinRTErrorDebug_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptWinRTErrorDebug_Impl, const OFFSET: isize>() -> IActiveScriptWinRTErrorDebug_Vtbl {
unsafe extern "system" fn GetRestrictedErrorString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptWinRTErrorDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, errorstring: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRestrictedErrorString() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(errorstring, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRestrictedErrorReference<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptWinRTErrorDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, referencestring: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRestrictedErrorReference() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(referencestring, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCapabilitySid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IActiveScriptWinRTErrorDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, capabilitysid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCapabilitySid() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(capabilitysid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IActiveScriptError_Vtbl::new::<Identity, Impl, OFFSET>(),
GetRestrictedErrorString: GetRestrictedErrorString::<Identity, Impl, OFFSET>,
GetRestrictedErrorReference: GetRestrictedErrorReference::<Identity, Impl, OFFSET>,
GetCapabilitySid: GetCapabilitySid::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IActiveScriptWinRTErrorDebug as ::windows::core::ComInterface>::IID || iid == &<IActiveScriptError as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IApplicationDebugger_Impl: Sized {
fn QueryAlive(&self) -> ::windows::core::Result<()>;
fn CreateInstanceAtDebugger(&self, rclsid: *const ::windows::core::GUID, punkouter: ::core::option::Option<&::windows::core::IUnknown>, dwclscontext: u32, riid: *const ::windows::core::GUID) -> ::windows::core::Result<::windows::core::IUnknown>;
fn onDebugOutput(&self, pstr: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn onHandleBreakPoint(&self, prpt: ::core::option::Option<&IRemoteDebugApplicationThread>, br: BREAKREASON, perror: ::core::option::Option<&IActiveScriptErrorDebug>) -> ::windows::core::Result<()>;
fn onClose(&self) -> ::windows::core::Result<()>;
fn onDebuggerEvent(&self, riid: *const ::windows::core::GUID, punk: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IApplicationDebugger {}
impl IApplicationDebugger_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IApplicationDebugger_Impl, const OFFSET: isize>() -> IApplicationDebugger_Vtbl {
unsafe extern "system" fn QueryAlive<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IApplicationDebugger_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryAlive().into()
}
unsafe extern "system" fn CreateInstanceAtDebugger<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IApplicationDebugger_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rclsid: *const ::windows::core::GUID, punkouter: *mut ::core::ffi::c_void, dwclscontext: u32, riid: *const ::windows::core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateInstanceAtDebugger(::core::mem::transmute_copy(&rclsid), ::windows::core::from_raw_borrowed(&punkouter), ::core::mem::transmute_copy(&dwclscontext), ::core::mem::transmute_copy(&riid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvobject, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn onDebugOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IApplicationDebugger_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstr: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onDebugOutput(::core::mem::transmute(&pstr)).into()
}
unsafe extern "system" fn onHandleBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IApplicationDebugger_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prpt: *mut ::core::ffi::c_void, br: BREAKREASON, perror: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onHandleBreakPoint(::windows::core::from_raw_borrowed(&prpt), ::core::mem::transmute_copy(&br), ::windows::core::from_raw_borrowed(&perror)).into()
}
unsafe extern "system" fn onClose<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IApplicationDebugger_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onClose().into()
}
unsafe extern "system" fn onDebuggerEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IApplicationDebugger_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, punk: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onDebuggerEvent(::core::mem::transmute_copy(&riid), ::windows::core::from_raw_borrowed(&punk)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
QueryAlive: QueryAlive::<Identity, Impl, OFFSET>,
CreateInstanceAtDebugger: CreateInstanceAtDebugger::<Identity, Impl, OFFSET>,
onDebugOutput: onDebugOutput::<Identity, Impl, OFFSET>,
onHandleBreakPoint: onHandleBreakPoint::<Identity, Impl, OFFSET>,
onClose: onClose::<Identity, Impl, OFFSET>,
onDebuggerEvent: onDebuggerEvent::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IApplicationDebugger as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IApplicationDebuggerUI_Impl: Sized {
fn BringDocumentToTop(&self, pddt: ::core::option::Option<&IDebugDocumentText>) -> ::windows::core::Result<()>;
fn BringDocumentContextToTop(&self, pddc: ::core::option::Option<&IDebugDocumentContext>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IApplicationDebuggerUI {}
impl IApplicationDebuggerUI_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IApplicationDebuggerUI_Impl, const OFFSET: isize>() -> IApplicationDebuggerUI_Vtbl {
unsafe extern "system" fn BringDocumentToTop<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IApplicationDebuggerUI_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pddt: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BringDocumentToTop(::windows::core::from_raw_borrowed(&pddt)).into()
}
unsafe extern "system" fn BringDocumentContextToTop<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IApplicationDebuggerUI_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pddc: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BringDocumentContextToTop(::windows::core::from_raw_borrowed(&pddc)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
BringDocumentToTop: BringDocumentToTop::<Identity, Impl, OFFSET>,
BringDocumentContextToTop: BringDocumentContextToTop::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IApplicationDebuggerUI as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IBindEventHandler_Impl: Sized {
fn BindHandler(&self, pstrevent: &::windows::core::PCWSTR, pdisp: ::core::option::Option<&super::super::Com::IDispatch>) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IBindEventHandler {}
#[cfg(feature = "Win32_System_Com")]
impl IBindEventHandler_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBindEventHandler_Impl, const OFFSET: isize>() -> IBindEventHandler_Vtbl {
unsafe extern "system" fn BindHandler<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBindEventHandler_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrevent: ::windows::core::PCWSTR, pdisp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BindHandler(::core::mem::transmute(&pstrevent), ::windows::core::from_raw_borrowed(&pdisp)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), BindHandler: BindHandler::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IBindEventHandler as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait ICodeAddressConcept_Impl: Sized {
fn GetContainingSymbol(&self, pcontextobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<IDebugHostSymbol>;
}
impl ::windows::core::RuntimeName for ICodeAddressConcept {}
impl ICodeAddressConcept_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICodeAddressConcept_Impl, const OFFSET: isize>() -> ICodeAddressConcept_Vtbl {
unsafe extern "system" fn GetContainingSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICodeAddressConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcontextobject: *mut ::core::ffi::c_void, ppsymbol: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContainingSymbol(::windows::core::from_raw_borrowed(&pcontextobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsymbol, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetContainingSymbol: GetContainingSymbol::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<ICodeAddressConcept as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IComparableConcept_Impl: Sized {
fn CompareObjects(&self, contextobject: ::core::option::Option<&IModelObject>, otherobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<i32>;
}
impl ::windows::core::RuntimeName for IComparableConcept {}
impl IComparableConcept_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComparableConcept_Impl, const OFFSET: isize>() -> IComparableConcept_Vtbl {
unsafe extern "system" fn CompareObjects<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComparableConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, otherobject: *mut ::core::ffi::c_void, comparisonresult: *mut i32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CompareObjects(::windows::core::from_raw_borrowed(&contextobject), ::windows::core::from_raw_borrowed(&otherobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(comparisonresult, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CompareObjects: CompareObjects::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IComparableConcept as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelConcept_Impl: Sized {
fn InitializeObject(&self, modelobject: ::core::option::Option<&IModelObject>, matchingtypesignature: ::core::option::Option<&IDebugHostTypeSignature>, wildcardmatches: ::core::option::Option<&IDebugHostSymbolEnumerator>) -> ::windows::core::Result<()>;
fn GetName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
}
impl ::windows::core::RuntimeName for IDataModelConcept {}
impl IDataModelConcept_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelConcept_Impl, const OFFSET: isize>() -> IDataModelConcept_Vtbl {
unsafe extern "system" fn InitializeObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modelobject: *mut ::core::ffi::c_void, matchingtypesignature: *mut ::core::ffi::c_void, wildcardmatches: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InitializeObject(::windows::core::from_raw_borrowed(&modelobject), ::windows::core::from_raw_borrowed(&matchingtypesignature), ::windows::core::from_raw_borrowed(&wildcardmatches)).into()
}
unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modelname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(modelname, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
InitializeObject: InitializeObject::<Identity, Impl, OFFSET>,
GetName: GetName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelConcept as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IDataModelManager_Impl: Sized {
fn Close(&self) -> ::windows::core::Result<()>;
fn CreateNoValue(&self) -> ::windows::core::Result<IModelObject>;
fn CreateErrorObject(&self, hrerror: ::windows::core::HRESULT, pwszmessage: &::windows::core::PCWSTR) -> ::windows::core::Result<IModelObject>;
fn CreateTypedObject(&self, context: ::core::option::Option<&IDebugHostContext>, objectlocation: &Location, objecttype: ::core::option::Option<&IDebugHostType>) -> ::windows::core::Result<IModelObject>;
fn CreateTypedObjectReference(&self, context: ::core::option::Option<&IDebugHostContext>, objectlocation: &Location, objecttype: ::core::option::Option<&IDebugHostType>) -> ::windows::core::Result<IModelObject>;
fn CreateSyntheticObject(&self, context: ::core::option::Option<&IDebugHostContext>) -> ::windows::core::Result<IModelObject>;
fn CreateDataModelObject(&self, datamodel: ::core::option::Option<&IDataModelConcept>) -> ::windows::core::Result<IModelObject>;
fn CreateIntrinsicObject(&self, objectkind: ModelObjectKind, intrinsicdata: *const super::super::Com::VARIANT) -> ::windows::core::Result<IModelObject>;
fn CreateTypedIntrinsicObject(&self, intrinsicdata: *const super::super::Com::VARIANT, r#type: ::core::option::Option<&IDebugHostType>) -> ::windows::core::Result<IModelObject>;
fn GetModelForTypeSignature(&self, typesignature: ::core::option::Option<&IDebugHostTypeSignature>) -> ::windows::core::Result<IModelObject>;
fn GetModelForType(&self, r#type: ::core::option::Option<&IDebugHostType>, datamodel: *mut ::core::option::Option<IModelObject>, typesignature: *mut ::core::option::Option<IDebugHostTypeSignature>, wildcardmatches: *mut ::core::option::Option<IDebugHostSymbolEnumerator>) -> ::windows::core::Result<()>;
fn RegisterModelForTypeSignature(&self, typesignature: ::core::option::Option<&IDebugHostTypeSignature>, datamodel: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
fn UnregisterModelForTypeSignature(&self, datamodel: ::core::option::Option<&IModelObject>, typesignature: ::core::option::Option<&IDebugHostTypeSignature>) -> ::windows::core::Result<()>;
fn RegisterExtensionForTypeSignature(&self, typesignature: ::core::option::Option<&IDebugHostTypeSignature>, datamodel: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
fn UnregisterExtensionForTypeSignature(&self, datamodel: ::core::option::Option<&IModelObject>, typesignature: ::core::option::Option<&IDebugHostTypeSignature>) -> ::windows::core::Result<()>;
fn CreateMetadataStore(&self, parentstore: ::core::option::Option<&IKeyStore>) -> ::windows::core::Result<IKeyStore>;
fn GetRootNamespace(&self) -> ::windows::core::Result<IModelObject>;
fn RegisterNamedModel(&self, modelname: &::windows::core::PCWSTR, modeobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
fn UnregisterNamedModel(&self, modelname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AcquireNamedModel(&self, modelname: &::windows::core::PCWSTR) -> ::windows::core::Result<IModelObject>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IDataModelManager {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IDataModelManager_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>() -> IDataModelManager_Vtbl {
unsafe extern "system" fn Close<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Close().into()
}
unsafe extern "system" fn CreateNoValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateNoValue() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateErrorObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hrerror: ::windows::core::HRESULT, pwszmessage: ::windows::core::PCWSTR, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateErrorObject(::core::mem::transmute_copy(&hrerror), ::core::mem::transmute(&pwszmessage)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypedObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, objectlocation: Location, objecttype: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateTypedObject(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&objectlocation), ::windows::core::from_raw_borrowed(&objecttype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypedObjectReference<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, objectlocation: Location, objecttype: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateTypedObjectReference(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&objectlocation), ::windows::core::from_raw_borrowed(&objecttype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSyntheticObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateSyntheticObject(::windows::core::from_raw_borrowed(&context)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateDataModelObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, datamodel: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateDataModelObject(::windows::core::from_raw_borrowed(&datamodel)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateIntrinsicObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, objectkind: ModelObjectKind, intrinsicdata: *const super::super::Com::VARIANT, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateIntrinsicObject(::core::mem::transmute_copy(&objectkind), ::core::mem::transmute_copy(&intrinsicdata)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypedIntrinsicObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, intrinsicdata: *const super::super::Com::VARIANT, r#type: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateTypedIntrinsicObject(::core::mem::transmute_copy(&intrinsicdata), ::windows::core::from_raw_borrowed(&r#type)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModelForTypeSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, typesignature: *mut ::core::ffi::c_void, datamodel: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetModelForTypeSignature(::windows::core::from_raw_borrowed(&typesignature)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(datamodel, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModelForType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut ::core::ffi::c_void, datamodel: *mut *mut ::core::ffi::c_void, typesignature: *mut *mut ::core::ffi::c_void, wildcardmatches: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModelForType(::windows::core::from_raw_borrowed(&r#type), ::core::mem::transmute_copy(&datamodel), ::core::mem::transmute_copy(&typesignature), ::core::mem::transmute_copy(&wildcardmatches)).into()
}
unsafe extern "system" fn RegisterModelForTypeSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, typesignature: *mut ::core::ffi::c_void, datamodel: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterModelForTypeSignature(::windows::core::from_raw_borrowed(&typesignature), ::windows::core::from_raw_borrowed(&datamodel)).into()
}
unsafe extern "system" fn UnregisterModelForTypeSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, datamodel: *mut ::core::ffi::c_void, typesignature: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnregisterModelForTypeSignature(::windows::core::from_raw_borrowed(&datamodel), ::windows::core::from_raw_borrowed(&typesignature)).into()
}
unsafe extern "system" fn RegisterExtensionForTypeSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, typesignature: *mut ::core::ffi::c_void, datamodel: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterExtensionForTypeSignature(::windows::core::from_raw_borrowed(&typesignature), ::windows::core::from_raw_borrowed(&datamodel)).into()
}
unsafe extern "system" fn UnregisterExtensionForTypeSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, datamodel: *mut ::core::ffi::c_void, typesignature: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnregisterExtensionForTypeSignature(::windows::core::from_raw_borrowed(&datamodel), ::windows::core::from_raw_borrowed(&typesignature)).into()
}
unsafe extern "system" fn CreateMetadataStore<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, parentstore: *mut ::core::ffi::c_void, metadatastore: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateMetadataStore(::windows::core::from_raw_borrowed(&parentstore)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(metadatastore, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRootNamespace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rootnamespace: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRootNamespace() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(rootnamespace, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterNamedModel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modelname: ::windows::core::PCWSTR, modeobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterNamedModel(::core::mem::transmute(&modelname), ::windows::core::from_raw_borrowed(&modeobject)).into()
}
unsafe extern "system" fn UnregisterNamedModel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modelname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnregisterNamedModel(::core::mem::transmute(&modelname)).into()
}
unsafe extern "system" fn AcquireNamedModel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modelname: ::windows::core::PCWSTR, modelobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AcquireNamedModel(::core::mem::transmute(&modelname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(modelobject, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Close: Close::<Identity, Impl, OFFSET>,
CreateNoValue: CreateNoValue::<Identity, Impl, OFFSET>,
CreateErrorObject: CreateErrorObject::<Identity, Impl, OFFSET>,
CreateTypedObject: CreateTypedObject::<Identity, Impl, OFFSET>,
CreateTypedObjectReference: CreateTypedObjectReference::<Identity, Impl, OFFSET>,
CreateSyntheticObject: CreateSyntheticObject::<Identity, Impl, OFFSET>,
CreateDataModelObject: CreateDataModelObject::<Identity, Impl, OFFSET>,
CreateIntrinsicObject: CreateIntrinsicObject::<Identity, Impl, OFFSET>,
CreateTypedIntrinsicObject: CreateTypedIntrinsicObject::<Identity, Impl, OFFSET>,
GetModelForTypeSignature: GetModelForTypeSignature::<Identity, Impl, OFFSET>,
GetModelForType: GetModelForType::<Identity, Impl, OFFSET>,
RegisterModelForTypeSignature: RegisterModelForTypeSignature::<Identity, Impl, OFFSET>,
UnregisterModelForTypeSignature: UnregisterModelForTypeSignature::<Identity, Impl, OFFSET>,
RegisterExtensionForTypeSignature: RegisterExtensionForTypeSignature::<Identity, Impl, OFFSET>,
UnregisterExtensionForTypeSignature: UnregisterExtensionForTypeSignature::<Identity, Impl, OFFSET>,
CreateMetadataStore: CreateMetadataStore::<Identity, Impl, OFFSET>,
GetRootNamespace: GetRootNamespace::<Identity, Impl, OFFSET>,
RegisterNamedModel: RegisterNamedModel::<Identity, Impl, OFFSET>,
UnregisterNamedModel: UnregisterNamedModel::<Identity, Impl, OFFSET>,
AcquireNamedModel: AcquireNamedModel::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelManager as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IDataModelManager2_Impl: Sized + IDataModelManager_Impl {
fn AcquireSubNamespace(&self, modelname: &::windows::core::PCWSTR, subnamespacemodelname: &::windows::core::PCWSTR, accessname: &::windows::core::PCWSTR, metadata: ::core::option::Option<&IKeyStore>) -> ::windows::core::Result<IModelObject>;
fn CreateTypedIntrinsicObjectEx(&self, context: ::core::option::Option<&IDebugHostContext>, intrinsicdata: *const super::super::Com::VARIANT, r#type: ::core::option::Option<&IDebugHostType>) -> ::windows::core::Result<IModelObject>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IDataModelManager2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IDataModelManager2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager2_Impl, const OFFSET: isize>() -> IDataModelManager2_Vtbl {
unsafe extern "system" fn AcquireSubNamespace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modelname: ::windows::core::PCWSTR, subnamespacemodelname: ::windows::core::PCWSTR, accessname: ::windows::core::PCWSTR, metadata: *mut ::core::ffi::c_void, namespacemodelobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AcquireSubNamespace(::core::mem::transmute(&modelname), ::core::mem::transmute(&subnamespacemodelname), ::core::mem::transmute(&accessname), ::windows::core::from_raw_borrowed(&metadata)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(namespacemodelobject, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypedIntrinsicObjectEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelManager2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, intrinsicdata: *const super::super::Com::VARIANT, r#type: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateTypedIntrinsicObjectEx(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute_copy(&intrinsicdata), ::windows::core::from_raw_borrowed(&r#type)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDataModelManager_Vtbl::new::<Identity, Impl, OFFSET>(),
AcquireSubNamespace: AcquireSubNamespace::<Identity, Impl, OFFSET>,
CreateTypedIntrinsicObjectEx: CreateTypedIntrinsicObjectEx::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelManager2 as ::windows::core::ComInterface>::IID || iid == &<IDataModelManager as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelNameBinder_Impl: Sized {
fn BindValue(&self, contextobject: ::core::option::Option<&IModelObject>, name: &::windows::core::PCWSTR, value: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn BindReference(&self, contextobject: ::core::option::Option<&IModelObject>, name: &::windows::core::PCWSTR, reference: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn EnumerateValues(&self, contextobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<IKeyEnumerator>;
fn EnumerateReferences(&self, contextobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<IKeyEnumerator>;
}
impl ::windows::core::RuntimeName for IDataModelNameBinder {}
impl IDataModelNameBinder_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelNameBinder_Impl, const OFFSET: isize>() -> IDataModelNameBinder_Vtbl {
unsafe extern "system" fn BindValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelNameBinder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, value: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BindValue(::windows::core::from_raw_borrowed(&contextobject), ::core::mem::transmute(&name), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn BindReference<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelNameBinder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, reference: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BindReference(::windows::core::from_raw_borrowed(&contextobject), ::core::mem::transmute(&name), ::core::mem::transmute_copy(&reference), ::core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn EnumerateValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelNameBinder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, enumerator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateValues(::windows::core::from_raw_borrowed(&contextobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(enumerator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateReferences<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelNameBinder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, enumerator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateReferences(::windows::core::from_raw_borrowed(&contextobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(enumerator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
BindValue: BindValue::<Identity, Impl, OFFSET>,
BindReference: BindReference::<Identity, Impl, OFFSET>,
EnumerateValues: EnumerateValues::<Identity, Impl, OFFSET>,
EnumerateReferences: EnumerateReferences::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelNameBinder as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IDataModelScript_Impl: Sized {
fn GetName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn Rename(&self, scriptname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn Populate(&self, contentstream: ::core::option::Option<&super::super::Com::IStream>) -> ::windows::core::Result<()>;
fn Execute(&self, client: ::core::option::Option<&IDataModelScriptClient>) -> ::windows::core::Result<()>;
fn Unlink(&self) -> ::windows::core::Result<()>;
fn IsInvocable(&self) -> ::windows::core::Result<bool>;
fn InvokeMain(&self, client: ::core::option::Option<&IDataModelScriptClient>) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IDataModelScript {}
#[cfg(feature = "Win32_System_Com")]
impl IDataModelScript_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScript_Impl, const OFFSET: isize>() -> IDataModelScript_Vtbl {
unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scriptname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(scriptname, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Rename<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scriptname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Rename(::core::mem::transmute(&scriptname)).into()
}
unsafe extern "system" fn Populate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contentstream: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Populate(::windows::core::from_raw_borrowed(&contentstream)).into()
}
unsafe extern "system" fn Execute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Execute(::windows::core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn Unlink<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Unlink().into()
}
unsafe extern "system" fn IsInvocable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, isinvocable: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsInvocable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(isinvocable, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn InvokeMain<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScript_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InvokeMain(::windows::core::from_raw_borrowed(&client)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetName: GetName::<Identity, Impl, OFFSET>,
Rename: Rename::<Identity, Impl, OFFSET>,
Populate: Populate::<Identity, Impl, OFFSET>,
Execute: Execute::<Identity, Impl, OFFSET>,
Unlink: Unlink::<Identity, Impl, OFFSET>,
IsInvocable: IsInvocable::<Identity, Impl, OFFSET>,
InvokeMain: InvokeMain::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScript as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptClient_Impl: Sized {
fn ReportError(&self, errclass: ErrorClass, hrfail: ::windows::core::HRESULT, message: &::windows::core::PCWSTR, line: u32, position: u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDataModelScriptClient {}
impl IDataModelScriptClient_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptClient_Impl, const OFFSET: isize>() -> IDataModelScriptClient_Vtbl {
unsafe extern "system" fn ReportError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, errclass: ErrorClass, hrfail: ::windows::core::HRESULT, message: ::windows::core::PCWSTR, line: u32, position: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReportError(::core::mem::transmute_copy(&errclass), ::core::mem::transmute_copy(&hrfail), ::core::mem::transmute(&message), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&position)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ReportError: ReportError::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptClient as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptDebug_Impl: Sized {
fn GetDebugState(&self) -> ScriptDebugState;
fn GetCurrentPosition(&self, currentposition: *mut ScriptDebugPosition, positionspanend: *mut ScriptDebugPosition, linetext: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
fn GetStack(&self) -> ::windows::core::Result<IDataModelScriptDebugStack>;
fn SetBreakpoint(&self, lineposition: u32, columnposition: u32) -> ::windows::core::Result<IDataModelScriptDebugBreakpoint>;
fn FindBreakpointById(&self, breakpointid: u64) -> ::windows::core::Result<IDataModelScriptDebugBreakpoint>;
fn EnumerateBreakpoints(&self) -> ::windows::core::Result<IDataModelScriptDebugBreakpointEnumerator>;
fn GetEventFilter(&self, eventfilter: ScriptDebugEventFilter) -> ::windows::core::Result<bool>;
fn SetEventFilter(&self, eventfilter: ScriptDebugEventFilter, isbreakenabled: u8) -> ::windows::core::Result<()>;
fn StartDebugging(&self, debugclient: ::core::option::Option<&IDataModelScriptDebugClient>) -> ::windows::core::Result<()>;
fn StopDebugging(&self, debugclient: ::core::option::Option<&IDataModelScriptDebugClient>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDataModelScriptDebug {}
impl IDataModelScriptDebug_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug_Impl, const OFFSET: isize>() -> IDataModelScriptDebug_Vtbl {
unsafe extern "system" fn GetDebugState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ScriptDebugState {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDebugState()
}
unsafe extern "system" fn GetCurrentPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, currentposition: *mut ScriptDebugPosition, positionspanend: *mut ScriptDebugPosition, linetext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrentPosition(::core::mem::transmute_copy(&currentposition), ::core::mem::transmute_copy(&positionspanend), ::core::mem::transmute_copy(&linetext)).into()
}
unsafe extern "system" fn GetStack<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stack: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStack() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(stack, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lineposition: u32, columnposition: u32, breakpoint: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SetBreakpoint(::core::mem::transmute_copy(&lineposition), ::core::mem::transmute_copy(&columnposition)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(breakpoint, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FindBreakpointById<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, breakpointid: u64, breakpoint: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FindBreakpointById(::core::mem::transmute_copy(&breakpointid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(breakpoint, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateBreakpoints<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, breakpointenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateBreakpoints() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(breakpointenum, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, eventfilter: ScriptDebugEventFilter, isbreakenabled: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventFilter(::core::mem::transmute_copy(&eventfilter)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(isbreakenabled, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, eventfilter: ScriptDebugEventFilter, isbreakenabled: u8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilter(::core::mem::transmute_copy(&eventfilter), ::core::mem::transmute_copy(&isbreakenabled)).into()
}
unsafe extern "system" fn StartDebugging<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, debugclient: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartDebugging(::windows::core::from_raw_borrowed(&debugclient)).into()
}
unsafe extern "system" fn StopDebugging<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, debugclient: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StopDebugging(::windows::core::from_raw_borrowed(&debugclient)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDebugState: GetDebugState::<Identity, Impl, OFFSET>,
GetCurrentPosition: GetCurrentPosition::<Identity, Impl, OFFSET>,
GetStack: GetStack::<Identity, Impl, OFFSET>,
SetBreakpoint: SetBreakpoint::<Identity, Impl, OFFSET>,
FindBreakpointById: FindBreakpointById::<Identity, Impl, OFFSET>,
EnumerateBreakpoints: EnumerateBreakpoints::<Identity, Impl, OFFSET>,
GetEventFilter: GetEventFilter::<Identity, Impl, OFFSET>,
SetEventFilter: SetEventFilter::<Identity, Impl, OFFSET>,
StartDebugging: StartDebugging::<Identity, Impl, OFFSET>,
StopDebugging: StopDebugging::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptDebug as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptDebug2_Impl: Sized + IDataModelScriptDebug_Impl {
fn SetBreakpointAtFunction(&self, functionname: &::windows::core::PCWSTR) -> ::windows::core::Result<IDataModelScriptDebugBreakpoint>;
}
impl ::windows::core::RuntimeName for IDataModelScriptDebug2 {}
impl IDataModelScriptDebug2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug2_Impl, const OFFSET: isize>() -> IDataModelScriptDebug2_Vtbl {
unsafe extern "system" fn SetBreakpointAtFunction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebug2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, functionname: ::windows::core::PCWSTR, breakpoint: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SetBreakpointAtFunction(::core::mem::transmute(&functionname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(breakpoint, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IDataModelScriptDebug_Vtbl::new::<Identity, Impl, OFFSET>(), SetBreakpointAtFunction: SetBreakpointAtFunction::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptDebug2 as ::windows::core::ComInterface>::IID || iid == &<IDataModelScriptDebug as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptDebugBreakpoint_Impl: Sized {
fn GetId(&self) -> u64;
fn IsEnabled(&self) -> bool;
fn Enable(&self);
fn Disable(&self);
fn Remove(&self);
fn GetPosition(&self, position: *mut ScriptDebugPosition, positionspanend: *mut ScriptDebugPosition, linetext: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDataModelScriptDebugBreakpoint {}
impl IDataModelScriptDebugBreakpoint_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugBreakpoint_Impl, const OFFSET: isize>() -> IDataModelScriptDebugBreakpoint_Vtbl {
unsafe extern "system" fn GetId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u64 {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetId()
}
unsafe extern "system" fn IsEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> bool {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsEnabled()
}
unsafe extern "system" fn Enable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Enable()
}
unsafe extern "system" fn Disable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Disable()
}
unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Remove()
}
unsafe extern "system" fn GetPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, position: *mut ScriptDebugPosition, positionspanend: *mut ScriptDebugPosition, linetext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPosition(::core::mem::transmute_copy(&position), ::core::mem::transmute_copy(&positionspanend), ::core::mem::transmute_copy(&linetext)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetId: GetId::<Identity, Impl, OFFSET>,
IsEnabled: IsEnabled::<Identity, Impl, OFFSET>,
Enable: Enable::<Identity, Impl, OFFSET>,
Disable: Disable::<Identity, Impl, OFFSET>,
Remove: Remove::<Identity, Impl, OFFSET>,
GetPosition: GetPosition::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptDebugBreakpoint as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptDebugBreakpointEnumerator_Impl: Sized {
fn Reset(&self) -> ::windows::core::Result<()>;
fn GetNext(&self) -> ::windows::core::Result<IDataModelScriptDebugBreakpoint>;
}
impl ::windows::core::RuntimeName for IDataModelScriptDebugBreakpointEnumerator {}
impl IDataModelScriptDebugBreakpointEnumerator_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugBreakpointEnumerator_Impl, const OFFSET: isize>() -> IDataModelScriptDebugBreakpointEnumerator_Vtbl {
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugBreakpointEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn GetNext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugBreakpointEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, breakpoint: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(breakpoint, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Reset: Reset::<Identity, Impl, OFFSET>,
GetNext: GetNext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptDebugBreakpointEnumerator as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptDebugClient_Impl: Sized {
fn NotifyDebugEvent(&self, peventinfo: *const ScriptDebugEventInformation, pscript: ::core::option::Option<&IDataModelScript>, peventdataobject: ::core::option::Option<&IModelObject>, resumeeventkind: *mut ScriptExecutionKind) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDataModelScriptDebugClient {}
impl IDataModelScriptDebugClient_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugClient_Impl, const OFFSET: isize>() -> IDataModelScriptDebugClient_Vtbl {
unsafe extern "system" fn NotifyDebugEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, peventinfo: *const ScriptDebugEventInformation, pscript: *mut ::core::ffi::c_void, peventdataobject: *mut ::core::ffi::c_void, resumeeventkind: *mut ScriptExecutionKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.NotifyDebugEvent(::core::mem::transmute_copy(&peventinfo), ::windows::core::from_raw_borrowed(&pscript), ::windows::core::from_raw_borrowed(&peventdataobject), ::core::mem::transmute_copy(&resumeeventkind)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), NotifyDebugEvent: NotifyDebugEvent::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptDebugClient as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptDebugStack_Impl: Sized {
fn GetFrameCount(&self) -> u64;
fn GetStackFrame(&self, framenumber: u64) -> ::windows::core::Result<IDataModelScriptDebugStackFrame>;
}
impl ::windows::core::RuntimeName for IDataModelScriptDebugStack {}
impl IDataModelScriptDebugStack_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugStack_Impl, const OFFSET: isize>() -> IDataModelScriptDebugStack_Vtbl {
unsafe extern "system" fn GetFrameCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugStack_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u64 {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFrameCount()
}
unsafe extern "system" fn GetStackFrame<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugStack_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, framenumber: u64, stackframe: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStackFrame(::core::mem::transmute_copy(&framenumber)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(stackframe, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetFrameCount: GetFrameCount::<Identity, Impl, OFFSET>,
GetStackFrame: GetStackFrame::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptDebugStack as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptDebugStackFrame_Impl: Sized {
fn GetName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetPosition(&self, position: *mut ScriptDebugPosition, positionspanend: *mut ScriptDebugPosition, linetext: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
fn IsTransitionPoint(&self) -> ::windows::core::Result<bool>;
fn GetTransition(&self, transitionscript: *mut ::core::option::Option<IDataModelScript>, istransitioncontiguous: *mut bool) -> ::windows::core::Result<()>;
fn Evaluate(&self, pwszexpression: &::windows::core::PCWSTR) -> ::windows::core::Result<IModelObject>;
fn EnumerateLocals(&self) -> ::windows::core::Result<IDataModelScriptDebugVariableSetEnumerator>;
fn EnumerateArguments(&self) -> ::windows::core::Result<IDataModelScriptDebugVariableSetEnumerator>;
}
impl ::windows::core::RuntimeName for IDataModelScriptDebugStackFrame {}
impl IDataModelScriptDebugStackFrame_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugStackFrame_Impl, const OFFSET: isize>() -> IDataModelScriptDebugStackFrame_Vtbl {
unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(name, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, position: *mut ScriptDebugPosition, positionspanend: *mut ScriptDebugPosition, linetext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPosition(::core::mem::transmute_copy(&position), ::core::mem::transmute_copy(&positionspanend), ::core::mem::transmute_copy(&linetext)).into()
}
unsafe extern "system" fn IsTransitionPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, istransitionpoint: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsTransitionPoint() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(istransitionpoint, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTransition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, transitionscript: *mut *mut ::core::ffi::c_void, istransitioncontiguous: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTransition(::core::mem::transmute_copy(&transitionscript), ::core::mem::transmute_copy(&istransitioncontiguous)).into()
}
unsafe extern "system" fn Evaluate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszexpression: ::windows::core::PCWSTR, ppresult: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Evaluate(::core::mem::transmute(&pwszexpression)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppresult, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateLocals<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, variablesenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateLocals() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(variablesenum, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateArguments<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, variablesenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateArguments() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(variablesenum, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetName: GetName::<Identity, Impl, OFFSET>,
GetPosition: GetPosition::<Identity, Impl, OFFSET>,
IsTransitionPoint: IsTransitionPoint::<Identity, Impl, OFFSET>,
GetTransition: GetTransition::<Identity, Impl, OFFSET>,
Evaluate: Evaluate::<Identity, Impl, OFFSET>,
EnumerateLocals: EnumerateLocals::<Identity, Impl, OFFSET>,
EnumerateArguments: EnumerateArguments::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptDebugStackFrame as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptDebugVariableSetEnumerator_Impl: Sized {
fn Reset(&self) -> ::windows::core::Result<()>;
fn GetNext(&self, variablename: *mut ::windows::core::BSTR, variablevalue: *mut ::core::option::Option<IModelObject>, variablemetadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDataModelScriptDebugVariableSetEnumerator {}
impl IDataModelScriptDebugVariableSetEnumerator_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugVariableSetEnumerator_Impl, const OFFSET: isize>() -> IDataModelScriptDebugVariableSetEnumerator_Vtbl {
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugVariableSetEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn GetNext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptDebugVariableSetEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, variablename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, variablevalue: *mut *mut ::core::ffi::c_void, variablemetadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNext(::core::mem::transmute_copy(&variablename), ::core::mem::transmute_copy(&variablevalue), ::core::mem::transmute_copy(&variablemetadata)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Reset: Reset::<Identity, Impl, OFFSET>,
GetNext: GetNext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptDebugVariableSetEnumerator as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptHostContext_Impl: Sized {
fn NotifyScriptChange(&self, script: ::core::option::Option<&IDataModelScript>, changekind: ScriptChangeKind) -> ::windows::core::Result<()>;
fn GetNamespaceObject(&self) -> ::windows::core::Result<IModelObject>;
}
impl ::windows::core::RuntimeName for IDataModelScriptHostContext {}
impl IDataModelScriptHostContext_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptHostContext_Impl, const OFFSET: isize>() -> IDataModelScriptHostContext_Vtbl {
unsafe extern "system" fn NotifyScriptChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptHostContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, script: *mut ::core::ffi::c_void, changekind: ScriptChangeKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.NotifyScriptChange(::windows::core::from_raw_borrowed(&script), ::core::mem::transmute_copy(&changekind)).into()
}
unsafe extern "system" fn GetNamespaceObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptHostContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, namespaceobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNamespaceObject() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(namespaceobject, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
NotifyScriptChange: NotifyScriptChange::<Identity, Impl, OFFSET>,
GetNamespaceObject: GetNamespaceObject::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptHostContext as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptManager_Impl: Sized {
fn GetDefaultNameBinder(&self) -> ::windows::core::Result<IDataModelNameBinder>;
fn RegisterScriptProvider(&self, provider: ::core::option::Option<&IDataModelScriptProvider>) -> ::windows::core::Result<()>;
fn UnregisterScriptProvider(&self, provider: ::core::option::Option<&IDataModelScriptProvider>) -> ::windows::core::Result<()>;
fn FindProviderForScriptType(&self, scripttype: &::windows::core::PCWSTR) -> ::windows::core::Result<IDataModelScriptProvider>;
fn FindProviderForScriptExtension(&self, scriptextension: &::windows::core::PCWSTR) -> ::windows::core::Result<IDataModelScriptProvider>;
fn EnumerateScriptProviders(&self) -> ::windows::core::Result<IDataModelScriptProviderEnumerator>;
}
impl ::windows::core::RuntimeName for IDataModelScriptManager {}
impl IDataModelScriptManager_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptManager_Impl, const OFFSET: isize>() -> IDataModelScriptManager_Vtbl {
unsafe extern "system" fn GetDefaultNameBinder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppnamebinder: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDefaultNameBinder() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppnamebinder, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterScriptProvider<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, provider: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RegisterScriptProvider(::windows::core::from_raw_borrowed(&provider)).into()
}
unsafe extern "system" fn UnregisterScriptProvider<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, provider: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnregisterScriptProvider(::windows::core::from_raw_borrowed(&provider)).into()
}
unsafe extern "system" fn FindProviderForScriptType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scripttype: ::windows::core::PCWSTR, provider: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FindProviderForScriptType(::core::mem::transmute(&scripttype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(provider, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FindProviderForScriptExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scriptextension: ::windows::core::PCWSTR, provider: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FindProviderForScriptExtension(::core::mem::transmute(&scriptextension)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(provider, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateScriptProviders<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enumerator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateScriptProviders() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(enumerator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDefaultNameBinder: GetDefaultNameBinder::<Identity, Impl, OFFSET>,
RegisterScriptProvider: RegisterScriptProvider::<Identity, Impl, OFFSET>,
UnregisterScriptProvider: UnregisterScriptProvider::<Identity, Impl, OFFSET>,
FindProviderForScriptType: FindProviderForScriptType::<Identity, Impl, OFFSET>,
FindProviderForScriptExtension: FindProviderForScriptExtension::<Identity, Impl, OFFSET>,
EnumerateScriptProviders: EnumerateScriptProviders::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptManager as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptProvider_Impl: Sized {
fn GetName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetExtension(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn CreateScript(&self) -> ::windows::core::Result<IDataModelScript>;
fn GetDefaultTemplateContent(&self) -> ::windows::core::Result<IDataModelScriptTemplate>;
fn EnumerateTemplates(&self) -> ::windows::core::Result<IDataModelScriptTemplateEnumerator>;
}
impl ::windows::core::RuntimeName for IDataModelScriptProvider {}
impl IDataModelScriptProvider_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptProvider_Impl, const OFFSET: isize>() -> IDataModelScriptProvider_Vtbl {
unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(name, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, extension: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtension() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(extension, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateScript<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, script: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateScript() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(script, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDefaultTemplateContent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, templatecontent: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDefaultTemplateContent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(templatecontent, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateTemplates<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enumerator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateTemplates() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(enumerator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetName: GetName::<Identity, Impl, OFFSET>,
GetExtension: GetExtension::<Identity, Impl, OFFSET>,
CreateScript: CreateScript::<Identity, Impl, OFFSET>,
GetDefaultTemplateContent: GetDefaultTemplateContent::<Identity, Impl, OFFSET>,
EnumerateTemplates: EnumerateTemplates::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptProvider as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptProviderEnumerator_Impl: Sized {
fn Reset(&self) -> ::windows::core::Result<()>;
fn GetNext(&self) -> ::windows::core::Result<IDataModelScriptProvider>;
}
impl ::windows::core::RuntimeName for IDataModelScriptProviderEnumerator {}
impl IDataModelScriptProviderEnumerator_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptProviderEnumerator_Impl, const OFFSET: isize>() -> IDataModelScriptProviderEnumerator_Vtbl {
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptProviderEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn GetNext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptProviderEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, provider: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(provider, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Reset: Reset::<Identity, Impl, OFFSET>,
GetNext: GetNext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptProviderEnumerator as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IDataModelScriptTemplate_Impl: Sized {
fn GetName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetDescription(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetContent(&self) -> ::windows::core::Result<super::super::Com::IStream>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IDataModelScriptTemplate {}
#[cfg(feature = "Win32_System_Com")]
impl IDataModelScriptTemplate_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptTemplate_Impl, const OFFSET: isize>() -> IDataModelScriptTemplate_Vtbl {
unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, templatename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(templatename, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, templatedescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDescription() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(templatedescription, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contentstream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(contentstream, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetName: GetName::<Identity, Impl, OFFSET>,
GetDescription: GetDescription::<Identity, Impl, OFFSET>,
GetContent: GetContent::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptTemplate as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDataModelScriptTemplateEnumerator_Impl: Sized {
fn Reset(&self) -> ::windows::core::Result<()>;
fn GetNext(&self) -> ::windows::core::Result<IDataModelScriptTemplate>;
}
impl ::windows::core::RuntimeName for IDataModelScriptTemplateEnumerator {}
impl IDataModelScriptTemplateEnumerator_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptTemplateEnumerator_Impl, const OFFSET: isize>() -> IDataModelScriptTemplateEnumerator_Vtbl {
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptTemplateEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn GetNext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDataModelScriptTemplateEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, templatecontent: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(templatecontent, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Reset: Reset::<Identity, Impl, OFFSET>,
GetNext: GetNext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDataModelScriptTemplateEnumerator as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugAdvanced_Impl: Sized {
fn GetThreadContext(&self, context: *mut ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn SetThreadContext(&self, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugAdvanced {}
impl IDebugAdvanced_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced_Impl, const OFFSET: isize>() -> IDebugAdvanced_Vtbl {
unsafe extern "system" fn GetThreadContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetThreadContext(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn SetThreadContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetThreadContext(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetThreadContext: GetThreadContext::<Identity, Impl, OFFSET>,
SetThreadContext: SetThreadContext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugAdvanced as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugAdvanced2_Impl: Sized {
fn GetThreadContext(&self, context: *mut ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn SetThreadContext(&self, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn Request(&self, request: u32, inbuffer: *const ::core::ffi::c_void, inbuffersize: u32, outbuffer: *mut ::core::ffi::c_void, outbuffersize: u32, outsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileInformation(&self, which: u32, sourcefile: &::windows::core::PCSTR, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::Result<()>;
fn FindSourceFileAndToken(&self, startelement: u32, modaddr: u64, file: &::windows::core::PCSTR, flags: u32, filetoken: *const ::core::ffi::c_void, filetokensize: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolInformation(&self, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PSTR, stringbuffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSystemObjectInformation(&self, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugAdvanced2 {}
impl IDebugAdvanced2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced2_Impl, const OFFSET: isize>() -> IDebugAdvanced2_Vtbl {
unsafe extern "system" fn GetThreadContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetThreadContext(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn SetThreadContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetThreadContext(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn Request<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, request: u32, inbuffer: *const ::core::ffi::c_void, inbuffersize: u32, outbuffer: *mut ::core::ffi::c_void, outbuffersize: u32, outsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Request(::core::mem::transmute_copy(&request), ::core::mem::transmute_copy(&inbuffer), ::core::mem::transmute_copy(&inbuffersize), ::core::mem::transmute_copy(&outbuffer), ::core::mem::transmute_copy(&outbuffersize), ::core::mem::transmute_copy(&outsize)).into()
}
unsafe extern "system" fn GetSourceFileInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, sourcefile: ::windows::core::PCSTR, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileInformation(::core::mem::transmute_copy(&which), ::core::mem::transmute(&sourcefile), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize)).into()
}
unsafe extern "system" fn FindSourceFileAndToken<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, modaddr: u64, file: ::windows::core::PCSTR, flags: u32, filetoken: *const ::core::ffi::c_void, filetokensize: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFileAndToken(::core::mem::transmute_copy(&startelement), ::core::mem::transmute_copy(&modaddr), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&filetoken), ::core::mem::transmute_copy(&filetokensize), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSymbolInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PSTR, stringbuffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolInformation(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize), ::core::mem::transmute_copy(&stringbuffer), ::core::mem::transmute_copy(&stringbuffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSystemObjectInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemObjectInformation(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetThreadContext: GetThreadContext::<Identity, Impl, OFFSET>,
SetThreadContext: SetThreadContext::<Identity, Impl, OFFSET>,
Request: Request::<Identity, Impl, OFFSET>,
GetSourceFileInformation: GetSourceFileInformation::<Identity, Impl, OFFSET>,
FindSourceFileAndToken: FindSourceFileAndToken::<Identity, Impl, OFFSET>,
GetSymbolInformation: GetSymbolInformation::<Identity, Impl, OFFSET>,
GetSystemObjectInformation: GetSystemObjectInformation::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugAdvanced2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugAdvanced3_Impl: Sized {
fn GetThreadContext(&self, context: *mut ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn SetThreadContext(&self, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn Request(&self, request: u32, inbuffer: *const ::core::ffi::c_void, inbuffersize: u32, outbuffer: *mut ::core::ffi::c_void, outbuffersize: u32, outsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileInformation(&self, which: u32, sourcefile: &::windows::core::PCSTR, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::Result<()>;
fn FindSourceFileAndToken(&self, startelement: u32, modaddr: u64, file: &::windows::core::PCSTR, flags: u32, filetoken: *const ::core::ffi::c_void, filetokensize: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolInformation(&self, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PSTR, stringbuffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSystemObjectInformation(&self, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileInformationWide(&self, which: u32, sourcefile: &::windows::core::PCWSTR, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::Result<()>;
fn FindSourceFileAndTokenWide(&self, startelement: u32, modaddr: u64, file: &::windows::core::PCWSTR, flags: u32, filetoken: *const ::core::ffi::c_void, filetokensize: u32, foundelement: *mut u32, buffer: ::windows::core::PWSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolInformationWide(&self, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PWSTR, stringbuffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugAdvanced3 {}
impl IDebugAdvanced3_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced3_Impl, const OFFSET: isize>() -> IDebugAdvanced3_Vtbl {
unsafe extern "system" fn GetThreadContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetThreadContext(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn SetThreadContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetThreadContext(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn Request<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, request: u32, inbuffer: *const ::core::ffi::c_void, inbuffersize: u32, outbuffer: *mut ::core::ffi::c_void, outbuffersize: u32, outsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Request(::core::mem::transmute_copy(&request), ::core::mem::transmute_copy(&inbuffer), ::core::mem::transmute_copy(&inbuffersize), ::core::mem::transmute_copy(&outbuffer), ::core::mem::transmute_copy(&outbuffersize), ::core::mem::transmute_copy(&outsize)).into()
}
unsafe extern "system" fn GetSourceFileInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, sourcefile: ::windows::core::PCSTR, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileInformation(::core::mem::transmute_copy(&which), ::core::mem::transmute(&sourcefile), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize)).into()
}
unsafe extern "system" fn FindSourceFileAndToken<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, modaddr: u64, file: ::windows::core::PCSTR, flags: u32, filetoken: *const ::core::ffi::c_void, filetokensize: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFileAndToken(::core::mem::transmute_copy(&startelement), ::core::mem::transmute_copy(&modaddr), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&filetoken), ::core::mem::transmute_copy(&filetokensize), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSymbolInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PSTR, stringbuffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolInformation(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize), ::core::mem::transmute_copy(&stringbuffer), ::core::mem::transmute_copy(&stringbuffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSystemObjectInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemObjectInformation(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize)).into()
}
unsafe extern "system" fn GetSourceFileInformationWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, sourcefile: ::windows::core::PCWSTR, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileInformationWide(::core::mem::transmute_copy(&which), ::core::mem::transmute(&sourcefile), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize)).into()
}
unsafe extern "system" fn FindSourceFileAndTokenWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, modaddr: u64, file: ::windows::core::PCWSTR, flags: u32, filetoken: *const ::core::ffi::c_void, filetokensize: u32, foundelement: *mut u32, buffer: ::windows::core::PWSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFileAndTokenWide(::core::mem::transmute_copy(&startelement), ::core::mem::transmute_copy(&modaddr), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&filetoken), ::core::mem::transmute_copy(&filetokensize), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSymbolInformationWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PWSTR, stringbuffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolInformationWide(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize), ::core::mem::transmute_copy(&stringbuffer), ::core::mem::transmute_copy(&stringbuffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetThreadContext: GetThreadContext::<Identity, Impl, OFFSET>,
SetThreadContext: SetThreadContext::<Identity, Impl, OFFSET>,
Request: Request::<Identity, Impl, OFFSET>,
GetSourceFileInformation: GetSourceFileInformation::<Identity, Impl, OFFSET>,
FindSourceFileAndToken: FindSourceFileAndToken::<Identity, Impl, OFFSET>,
GetSymbolInformation: GetSymbolInformation::<Identity, Impl, OFFSET>,
GetSystemObjectInformation: GetSystemObjectInformation::<Identity, Impl, OFFSET>,
GetSourceFileInformationWide: GetSourceFileInformationWide::<Identity, Impl, OFFSET>,
FindSourceFileAndTokenWide: FindSourceFileAndTokenWide::<Identity, Impl, OFFSET>,
GetSymbolInformationWide: GetSymbolInformationWide::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugAdvanced3 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugAdvanced4_Impl: Sized {
fn GetThreadContext(&self, context: *mut ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn SetThreadContext(&self, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn Request(&self, request: u32, inbuffer: *const ::core::ffi::c_void, inbuffersize: u32, outbuffer: *mut ::core::ffi::c_void, outbuffersize: u32, outsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileInformation(&self, which: u32, sourcefile: &::windows::core::PCSTR, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::Result<()>;
fn FindSourceFileAndToken(&self, startelement: u32, modaddr: u64, file: &::windows::core::PCSTR, flags: u32, filetoken: *const ::core::ffi::c_void, filetokensize: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolInformation(&self, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PSTR, stringbuffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSystemObjectInformation(&self, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileInformationWide(&self, which: u32, sourcefile: &::windows::core::PCWSTR, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::Result<()>;
fn FindSourceFileAndTokenWide(&self, startelement: u32, modaddr: u64, file: &::windows::core::PCWSTR, flags: u32, filetoken: *const ::core::ffi::c_void, filetokensize: u32, foundelement: *mut u32, buffer: ::windows::core::PWSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolInformationWide(&self, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PWSTR, stringbuffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolInformationWideEx(&self, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PWSTR, stringbuffersize: u32, stringsize: *mut u32, pinfoex: *mut SYMBOL_INFO_EX) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugAdvanced4 {}
impl IDebugAdvanced4_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>() -> IDebugAdvanced4_Vtbl {
unsafe extern "system" fn GetThreadContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetThreadContext(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn SetThreadContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetThreadContext(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn Request<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, request: u32, inbuffer: *const ::core::ffi::c_void, inbuffersize: u32, outbuffer: *mut ::core::ffi::c_void, outbuffersize: u32, outsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Request(::core::mem::transmute_copy(&request), ::core::mem::transmute_copy(&inbuffer), ::core::mem::transmute_copy(&inbuffersize), ::core::mem::transmute_copy(&outbuffer), ::core::mem::transmute_copy(&outbuffersize), ::core::mem::transmute_copy(&outsize)).into()
}
unsafe extern "system" fn GetSourceFileInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, sourcefile: ::windows::core::PCSTR, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileInformation(::core::mem::transmute_copy(&which), ::core::mem::transmute(&sourcefile), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize)).into()
}
unsafe extern "system" fn FindSourceFileAndToken<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, modaddr: u64, file: ::windows::core::PCSTR, flags: u32, filetoken: *const ::core::ffi::c_void, filetokensize: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFileAndToken(::core::mem::transmute_copy(&startelement), ::core::mem::transmute_copy(&modaddr), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&filetoken), ::core::mem::transmute_copy(&filetokensize), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSymbolInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PSTR, stringbuffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolInformation(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize), ::core::mem::transmute_copy(&stringbuffer), ::core::mem::transmute_copy(&stringbuffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSystemObjectInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemObjectInformation(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize)).into()
}
unsafe extern "system" fn GetSourceFileInformationWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, sourcefile: ::windows::core::PCWSTR, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileInformationWide(::core::mem::transmute_copy(&which), ::core::mem::transmute(&sourcefile), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize)).into()
}
unsafe extern "system" fn FindSourceFileAndTokenWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, modaddr: u64, file: ::windows::core::PCWSTR, flags: u32, filetoken: *const ::core::ffi::c_void, filetokensize: u32, foundelement: *mut u32, buffer: ::windows::core::PWSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFileAndTokenWide(::core::mem::transmute_copy(&startelement), ::core::mem::transmute_copy(&modaddr), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&filetoken), ::core::mem::transmute_copy(&filetokensize), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSymbolInformationWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PWSTR, stringbuffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolInformationWide(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize), ::core::mem::transmute_copy(&stringbuffer), ::core::mem::transmute_copy(&stringbuffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSymbolInformationWideEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAdvanced4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, arg64: u64, arg32: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32, stringbuffer: ::windows::core::PWSTR, stringbuffersize: u32, stringsize: *mut u32, pinfoex: *mut SYMBOL_INFO_EX) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolInformationWideEx(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&arg64), ::core::mem::transmute_copy(&arg32), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize), ::core::mem::transmute_copy(&stringbuffer), ::core::mem::transmute_copy(&stringbuffersize), ::core::mem::transmute_copy(&stringsize), ::core::mem::transmute_copy(&pinfoex)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetThreadContext: GetThreadContext::<Identity, Impl, OFFSET>,
SetThreadContext: SetThreadContext::<Identity, Impl, OFFSET>,
Request: Request::<Identity, Impl, OFFSET>,
GetSourceFileInformation: GetSourceFileInformation::<Identity, Impl, OFFSET>,
FindSourceFileAndToken: FindSourceFileAndToken::<Identity, Impl, OFFSET>,
GetSymbolInformation: GetSymbolInformation::<Identity, Impl, OFFSET>,
GetSystemObjectInformation: GetSystemObjectInformation::<Identity, Impl, OFFSET>,
GetSourceFileInformationWide: GetSourceFileInformationWide::<Identity, Impl, OFFSET>,
FindSourceFileAndTokenWide: FindSourceFileAndTokenWide::<Identity, Impl, OFFSET>,
GetSymbolInformationWide: GetSymbolInformationWide::<Identity, Impl, OFFSET>,
GetSymbolInformationWideEx: GetSymbolInformationWideEx::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugAdvanced4 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugApplication11032_Impl: Sized + IRemoteDebugApplication110_Impl {
fn SynchronousCallInMainThread(&self, pptc: ::core::option::Option<&IDebugThreadCall32>, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::Result<()>;
fn AsynchronousCallInMainThread(&self, pptc: ::core::option::Option<&IDebugThreadCall32>, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::Result<()>;
fn CallableWaitForHandles(&self, handlecount: u32, phandles: *const super::super::super::Foundation::HANDLE) -> ::windows::core::Result<u32>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugApplication11032 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugApplication11032_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication11032_Impl, const OFFSET: isize>() -> IDebugApplication11032_Vtbl {
unsafe extern "system" fn SynchronousCallInMainThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication11032_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptc: *mut ::core::ffi::c_void, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SynchronousCallInMainThread(::windows::core::from_raw_borrowed(&pptc), ::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
unsafe extern "system" fn AsynchronousCallInMainThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication11032_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptc: *mut ::core::ffi::c_void, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AsynchronousCallInMainThread(::windows::core::from_raw_borrowed(&pptc), ::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
unsafe extern "system" fn CallableWaitForHandles<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication11032_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handlecount: u32, phandles: *const super::super::super::Foundation::HANDLE, pindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CallableWaitForHandles(::core::mem::transmute_copy(&handlecount), ::core::mem::transmute_copy(&phandles)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pindex, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IRemoteDebugApplication110_Vtbl::new::<Identity, Impl, OFFSET>(),
SynchronousCallInMainThread: SynchronousCallInMainThread::<Identity, Impl, OFFSET>,
AsynchronousCallInMainThread: AsynchronousCallInMainThread::<Identity, Impl, OFFSET>,
CallableWaitForHandles: CallableWaitForHandles::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplication11032 as ::windows::core::ComInterface>::IID || iid == &<IRemoteDebugApplication110 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugApplication11064_Impl: Sized + IRemoteDebugApplication110_Impl {
fn SynchronousCallInMainThread(&self, pptc: ::core::option::Option<&IDebugThreadCall64>, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::Result<()>;
fn AsynchronousCallInMainThread(&self, pptc: ::core::option::Option<&IDebugThreadCall64>, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::Result<()>;
fn CallableWaitForHandles(&self, handlecount: u32, phandles: *const super::super::super::Foundation::HANDLE) -> ::windows::core::Result<u32>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugApplication11064 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugApplication11064_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication11064_Impl, const OFFSET: isize>() -> IDebugApplication11064_Vtbl {
unsafe extern "system" fn SynchronousCallInMainThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication11064_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptc: *mut ::core::ffi::c_void, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SynchronousCallInMainThread(::windows::core::from_raw_borrowed(&pptc), ::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
unsafe extern "system" fn AsynchronousCallInMainThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication11064_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptc: *mut ::core::ffi::c_void, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AsynchronousCallInMainThread(::windows::core::from_raw_borrowed(&pptc), ::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
unsafe extern "system" fn CallableWaitForHandles<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication11064_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handlecount: u32, phandles: *const super::super::super::Foundation::HANDLE, pindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CallableWaitForHandles(::core::mem::transmute_copy(&handlecount), ::core::mem::transmute_copy(&phandles)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pindex, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IRemoteDebugApplication110_Vtbl::new::<Identity, Impl, OFFSET>(),
SynchronousCallInMainThread: SynchronousCallInMainThread::<Identity, Impl, OFFSET>,
AsynchronousCallInMainThread: AsynchronousCallInMainThread::<Identity, Impl, OFFSET>,
CallableWaitForHandles: CallableWaitForHandles::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplication11064 as ::windows::core::ComInterface>::IID || iid == &<IRemoteDebugApplication110 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugApplication32_Impl: Sized + IRemoteDebugApplication_Impl {
fn SetName(&self, pstrname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn StepOutComplete(&self) -> ::windows::core::Result<()>;
fn DebugOutput(&self, pstr: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn StartDebugSession(&self) -> ::windows::core::Result<()>;
fn HandleBreakPoint(&self, br: BREAKREASON) -> ::windows::core::Result<BREAKRESUMEACTION>;
fn Close(&self) -> ::windows::core::Result<()>;
fn GetBreakFlags(&self, pabf: *mut u32, pprdatsteppingthread: *mut ::core::option::Option<IRemoteDebugApplicationThread>) -> ::windows::core::Result<()>;
fn GetCurrentThread(&self) -> ::windows::core::Result<IDebugApplicationThread>;
fn CreateAsyncDebugOperation(&self, psdo: ::core::option::Option<&IDebugSyncOperation>) -> ::windows::core::Result<IDebugAsyncOperation>;
fn AddStackFrameSniffer(&self, pdsfs: ::core::option::Option<&IDebugStackFrameSniffer>) -> ::windows::core::Result<u32>;
fn RemoveStackFrameSniffer(&self, dwcookie: u32) -> ::windows::core::Result<()>;
fn QueryCurrentThreadIsDebuggerThread(&self) -> ::windows::core::Result<()>;
fn SynchronousCallInDebuggerThread(&self, pptc: ::core::option::Option<&IDebugThreadCall32>, dwparam1: u32, dwparam2: u32, dwparam3: u32) -> ::windows::core::Result<()>;
fn CreateApplicationNode(&self) -> ::windows::core::Result<IDebugApplicationNode>;
fn FireDebuggerEvent(&self, riid: *const ::windows::core::GUID, punk: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
fn HandleRuntimeError(&self, perrordebug: ::core::option::Option<&IActiveScriptErrorDebug>, pscriptsite: ::core::option::Option<&IActiveScriptSite>, pbra: *mut BREAKRESUMEACTION, perra: *mut ERRORRESUMEACTION, pfcallonscripterror: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn FCanJitDebug(&self) -> super::super::super::Foundation::BOOL;
fn FIsAutoJitDebugEnabled(&self) -> super::super::super::Foundation::BOOL;
fn AddGlobalExpressionContextProvider(&self, pdsfs: ::core::option::Option<&IProvideExpressionContexts>) -> ::windows::core::Result<u32>;
fn RemoveGlobalExpressionContextProvider(&self, dwcookie: u32) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugApplication32 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugApplication32_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>() -> IDebugApplication32_Vtbl {
unsafe extern "system" fn SetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetName(::core::mem::transmute(&pstrname)).into()
}
unsafe extern "system" fn StepOutComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StepOutComplete().into()
}
unsafe extern "system" fn DebugOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstr: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DebugOutput(::core::mem::transmute(&pstr)).into()
}
unsafe extern "system" fn StartDebugSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartDebugSession().into()
}
unsafe extern "system" fn HandleBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, br: BREAKREASON, pbra: *mut BREAKRESUMEACTION) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HandleBreakPoint(::core::mem::transmute_copy(&br)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbra, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Close<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Close().into()
}
unsafe extern "system" fn GetBreakFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pabf: *mut u32, pprdatsteppingthread: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBreakFlags(::core::mem::transmute_copy(&pabf), ::core::mem::transmute_copy(&pprdatsteppingthread)).into()
}
unsafe extern "system" fn GetCurrentThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pat: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThread() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pat, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateAsyncDebugOperation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psdo: *mut ::core::ffi::c_void, ppado: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateAsyncDebugOperation(::windows::core::from_raw_borrowed(&psdo)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppado, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddStackFrameSniffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdsfs: *mut ::core::ffi::c_void, pdwcookie: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddStackFrameSniffer(::windows::core::from_raw_borrowed(&pdsfs)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwcookie, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveStackFrameSniffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveStackFrameSniffer(::core::mem::transmute_copy(&dwcookie)).into()
}
unsafe extern "system" fn QueryCurrentThreadIsDebuggerThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryCurrentThreadIsDebuggerThread().into()
}
unsafe extern "system" fn SynchronousCallInDebuggerThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptc: *mut ::core::ffi::c_void, dwparam1: u32, dwparam2: u32, dwparam3: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SynchronousCallInDebuggerThread(::windows::core::from_raw_borrowed(&pptc), ::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
unsafe extern "system" fn CreateApplicationNode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdannew: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateApplicationNode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdannew, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FireDebuggerEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, punk: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FireDebuggerEvent(::core::mem::transmute_copy(&riid), ::windows::core::from_raw_borrowed(&punk)).into()
}
unsafe extern "system" fn HandleRuntimeError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, perrordebug: *mut ::core::ffi::c_void, pscriptsite: *mut ::core::ffi::c_void, pbra: *mut BREAKRESUMEACTION, perra: *mut ERRORRESUMEACTION, pfcallonscripterror: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.HandleRuntimeError(::windows::core::from_raw_borrowed(&perrordebug), ::windows::core::from_raw_borrowed(&pscriptsite), ::core::mem::transmute_copy(&pbra), ::core::mem::transmute_copy(&perra), ::core::mem::transmute_copy(&pfcallonscripterror)).into()
}
unsafe extern "system" fn FCanJitDebug<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FCanJitDebug()
}
unsafe extern "system" fn FIsAutoJitDebugEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FIsAutoJitDebugEnabled()
}
unsafe extern "system" fn AddGlobalExpressionContextProvider<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdsfs: *mut ::core::ffi::c_void, pdwcookie: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddGlobalExpressionContextProvider(::windows::core::from_raw_borrowed(&pdsfs)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwcookie, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveGlobalExpressionContextProvider<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveGlobalExpressionContextProvider(::core::mem::transmute_copy(&dwcookie)).into()
}
Self {
base__: IRemoteDebugApplication_Vtbl::new::<Identity, Impl, OFFSET>(),
SetName: SetName::<Identity, Impl, OFFSET>,
StepOutComplete: StepOutComplete::<Identity, Impl, OFFSET>,
DebugOutput: DebugOutput::<Identity, Impl, OFFSET>,
StartDebugSession: StartDebugSession::<Identity, Impl, OFFSET>,
HandleBreakPoint: HandleBreakPoint::<Identity, Impl, OFFSET>,
Close: Close::<Identity, Impl, OFFSET>,
GetBreakFlags: GetBreakFlags::<Identity, Impl, OFFSET>,
GetCurrentThread: GetCurrentThread::<Identity, Impl, OFFSET>,
CreateAsyncDebugOperation: CreateAsyncDebugOperation::<Identity, Impl, OFFSET>,
AddStackFrameSniffer: AddStackFrameSniffer::<Identity, Impl, OFFSET>,
RemoveStackFrameSniffer: RemoveStackFrameSniffer::<Identity, Impl, OFFSET>,
QueryCurrentThreadIsDebuggerThread: QueryCurrentThreadIsDebuggerThread::<Identity, Impl, OFFSET>,
SynchronousCallInDebuggerThread: SynchronousCallInDebuggerThread::<Identity, Impl, OFFSET>,
CreateApplicationNode: CreateApplicationNode::<Identity, Impl, OFFSET>,
FireDebuggerEvent: FireDebuggerEvent::<Identity, Impl, OFFSET>,
HandleRuntimeError: HandleRuntimeError::<Identity, Impl, OFFSET>,
FCanJitDebug: FCanJitDebug::<Identity, Impl, OFFSET>,
FIsAutoJitDebugEnabled: FIsAutoJitDebugEnabled::<Identity, Impl, OFFSET>,
AddGlobalExpressionContextProvider: AddGlobalExpressionContextProvider::<Identity, Impl, OFFSET>,
RemoveGlobalExpressionContextProvider: RemoveGlobalExpressionContextProvider::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplication32 as ::windows::core::ComInterface>::IID || iid == &<IRemoteDebugApplication as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugApplication64_Impl: Sized + IRemoteDebugApplication_Impl {
fn SetName(&self, pstrname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn StepOutComplete(&self) -> ::windows::core::Result<()>;
fn DebugOutput(&self, pstr: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn StartDebugSession(&self) -> ::windows::core::Result<()>;
fn HandleBreakPoint(&self, br: BREAKREASON) -> ::windows::core::Result<BREAKRESUMEACTION>;
fn Close(&self) -> ::windows::core::Result<()>;
fn GetBreakFlags(&self, pabf: *mut u32, pprdatsteppingthread: *mut ::core::option::Option<IRemoteDebugApplicationThread>) -> ::windows::core::Result<()>;
fn GetCurrentThread(&self) -> ::windows::core::Result<IDebugApplicationThread>;
fn CreateAsyncDebugOperation(&self, psdo: ::core::option::Option<&IDebugSyncOperation>) -> ::windows::core::Result<IDebugAsyncOperation>;
fn AddStackFrameSniffer(&self, pdsfs: ::core::option::Option<&IDebugStackFrameSniffer>) -> ::windows::core::Result<u32>;
fn RemoveStackFrameSniffer(&self, dwcookie: u32) -> ::windows::core::Result<()>;
fn QueryCurrentThreadIsDebuggerThread(&self) -> ::windows::core::Result<()>;
fn SynchronousCallInDebuggerThread(&self, pptc: ::core::option::Option<&IDebugThreadCall64>, dwparam1: u64, dwparam2: u64, dwparam3: u64) -> ::windows::core::Result<()>;
fn CreateApplicationNode(&self) -> ::windows::core::Result<IDebugApplicationNode>;
fn FireDebuggerEvent(&self, riid: *const ::windows::core::GUID, punk: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
fn HandleRuntimeError(&self, perrordebug: ::core::option::Option<&IActiveScriptErrorDebug>, pscriptsite: ::core::option::Option<&IActiveScriptSite>, pbra: *mut BREAKRESUMEACTION, perra: *mut ERRORRESUMEACTION, pfcallonscripterror: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn FCanJitDebug(&self) -> super::super::super::Foundation::BOOL;
fn FIsAutoJitDebugEnabled(&self) -> super::super::super::Foundation::BOOL;
fn AddGlobalExpressionContextProvider(&self, pdsfs: ::core::option::Option<&IProvideExpressionContexts>) -> ::windows::core::Result<u64>;
fn RemoveGlobalExpressionContextProvider(&self, dwcookie: u64) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugApplication64 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugApplication64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>() -> IDebugApplication64_Vtbl {
unsafe extern "system" fn SetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetName(::core::mem::transmute(&pstrname)).into()
}
unsafe extern "system" fn StepOutComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StepOutComplete().into()
}
unsafe extern "system" fn DebugOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstr: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DebugOutput(::core::mem::transmute(&pstr)).into()
}
unsafe extern "system" fn StartDebugSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartDebugSession().into()
}
unsafe extern "system" fn HandleBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, br: BREAKREASON, pbra: *mut BREAKRESUMEACTION) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.HandleBreakPoint(::core::mem::transmute_copy(&br)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbra, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Close<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Close().into()
}
unsafe extern "system" fn GetBreakFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pabf: *mut u32, pprdatsteppingthread: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBreakFlags(::core::mem::transmute_copy(&pabf), ::core::mem::transmute_copy(&pprdatsteppingthread)).into()
}
unsafe extern "system" fn GetCurrentThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pat: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThread() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pat, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateAsyncDebugOperation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psdo: *mut ::core::ffi::c_void, ppado: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateAsyncDebugOperation(::windows::core::from_raw_borrowed(&psdo)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppado, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddStackFrameSniffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdsfs: *mut ::core::ffi::c_void, pdwcookie: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddStackFrameSniffer(::windows::core::from_raw_borrowed(&pdsfs)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwcookie, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveStackFrameSniffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveStackFrameSniffer(::core::mem::transmute_copy(&dwcookie)).into()
}
unsafe extern "system" fn QueryCurrentThreadIsDebuggerThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryCurrentThreadIsDebuggerThread().into()
}
unsafe extern "system" fn SynchronousCallInDebuggerThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptc: *mut ::core::ffi::c_void, dwparam1: u64, dwparam2: u64, dwparam3: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SynchronousCallInDebuggerThread(::windows::core::from_raw_borrowed(&pptc), ::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
unsafe extern "system" fn CreateApplicationNode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdannew: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateApplicationNode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdannew, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FireDebuggerEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, punk: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FireDebuggerEvent(::core::mem::transmute_copy(&riid), ::windows::core::from_raw_borrowed(&punk)).into()
}
unsafe extern "system" fn HandleRuntimeError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, perrordebug: *mut ::core::ffi::c_void, pscriptsite: *mut ::core::ffi::c_void, pbra: *mut BREAKRESUMEACTION, perra: *mut ERRORRESUMEACTION, pfcallonscripterror: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.HandleRuntimeError(::windows::core::from_raw_borrowed(&perrordebug), ::windows::core::from_raw_borrowed(&pscriptsite), ::core::mem::transmute_copy(&pbra), ::core::mem::transmute_copy(&perra), ::core::mem::transmute_copy(&pfcallonscripterror)).into()
}
unsafe extern "system" fn FCanJitDebug<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FCanJitDebug()
}
unsafe extern "system" fn FIsAutoJitDebugEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::super::Foundation::BOOL {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FIsAutoJitDebugEnabled()
}
unsafe extern "system" fn AddGlobalExpressionContextProvider<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdsfs: *mut ::core::ffi::c_void, pdwcookie: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddGlobalExpressionContextProvider(::windows::core::from_raw_borrowed(&pdsfs)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwcookie, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveGlobalExpressionContextProvider<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplication64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcookie: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveGlobalExpressionContextProvider(::core::mem::transmute_copy(&dwcookie)).into()
}
Self {
base__: IRemoteDebugApplication_Vtbl::new::<Identity, Impl, OFFSET>(),
SetName: SetName::<Identity, Impl, OFFSET>,
StepOutComplete: StepOutComplete::<Identity, Impl, OFFSET>,
DebugOutput: DebugOutput::<Identity, Impl, OFFSET>,
StartDebugSession: StartDebugSession::<Identity, Impl, OFFSET>,
HandleBreakPoint: HandleBreakPoint::<Identity, Impl, OFFSET>,
Close: Close::<Identity, Impl, OFFSET>,
GetBreakFlags: GetBreakFlags::<Identity, Impl, OFFSET>,
GetCurrentThread: GetCurrentThread::<Identity, Impl, OFFSET>,
CreateAsyncDebugOperation: CreateAsyncDebugOperation::<Identity, Impl, OFFSET>,
AddStackFrameSniffer: AddStackFrameSniffer::<Identity, Impl, OFFSET>,
RemoveStackFrameSniffer: RemoveStackFrameSniffer::<Identity, Impl, OFFSET>,
QueryCurrentThreadIsDebuggerThread: QueryCurrentThreadIsDebuggerThread::<Identity, Impl, OFFSET>,
SynchronousCallInDebuggerThread: SynchronousCallInDebuggerThread::<Identity, Impl, OFFSET>,
CreateApplicationNode: CreateApplicationNode::<Identity, Impl, OFFSET>,
FireDebuggerEvent: FireDebuggerEvent::<Identity, Impl, OFFSET>,
HandleRuntimeError: HandleRuntimeError::<Identity, Impl, OFFSET>,
FCanJitDebug: FCanJitDebug::<Identity, Impl, OFFSET>,
FIsAutoJitDebugEnabled: FIsAutoJitDebugEnabled::<Identity, Impl, OFFSET>,
AddGlobalExpressionContextProvider: AddGlobalExpressionContextProvider::<Identity, Impl, OFFSET>,
RemoveGlobalExpressionContextProvider: RemoveGlobalExpressionContextProvider::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplication64 as ::windows::core::ComInterface>::IID || iid == &<IRemoteDebugApplication as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugApplicationNode_Impl: Sized + IDebugDocumentProvider_Impl {
fn EnumChildren(&self) -> ::windows::core::Result<IEnumDebugApplicationNodes>;
fn GetParent(&self) -> ::windows::core::Result<IDebugApplicationNode>;
fn SetDocumentProvider(&self, pddp: ::core::option::Option<&IDebugDocumentProvider>) -> ::windows::core::Result<()>;
fn Close(&self) -> ::windows::core::Result<()>;
fn Attach(&self, pdanparent: ::core::option::Option<&IDebugApplicationNode>) -> ::windows::core::Result<()>;
fn Detach(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugApplicationNode {}
impl IDebugApplicationNode_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNode_Impl, const OFFSET: isize>() -> IDebugApplicationNode_Vtbl {
unsafe extern "system" fn EnumChildren<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pperddp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumChildren() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pperddp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetParent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pprddp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetParent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pprddp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDocumentProvider<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pddp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDocumentProvider(::windows::core::from_raw_borrowed(&pddp)).into()
}
unsafe extern "system" fn Close<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Close().into()
}
unsafe extern "system" fn Attach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdanparent: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Attach(::windows::core::from_raw_borrowed(&pdanparent)).into()
}
unsafe extern "system" fn Detach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Detach().into()
}
Self {
base__: IDebugDocumentProvider_Vtbl::new::<Identity, Impl, OFFSET>(),
EnumChildren: EnumChildren::<Identity, Impl, OFFSET>,
GetParent: GetParent::<Identity, Impl, OFFSET>,
SetDocumentProvider: SetDocumentProvider::<Identity, Impl, OFFSET>,
Close: Close::<Identity, Impl, OFFSET>,
Attach: Attach::<Identity, Impl, OFFSET>,
Detach: Detach::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplicationNode as ::windows::core::ComInterface>::IID || iid == &<IDebugDocumentInfo as ::windows::core::ComInterface>::IID || iid == &<IDebugDocumentProvider as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugApplicationNode100_Impl: Sized {
fn SetFilterForEventSink(&self, dwcookie: u32, filter: APPLICATION_NODE_EVENT_FILTER) -> ::windows::core::Result<()>;
fn GetExcludedDocuments(&self, filter: APPLICATION_NODE_EVENT_FILTER) -> ::windows::core::Result<TEXT_DOCUMENT_ARRAY>;
fn QueryIsChildNode(&self, psearchkey: ::core::option::Option<&IDebugDocument>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugApplicationNode100 {}
impl IDebugApplicationNode100_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNode100_Impl, const OFFSET: isize>() -> IDebugApplicationNode100_Vtbl {
unsafe extern "system" fn SetFilterForEventSink<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNode100_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcookie: u32, filter: APPLICATION_NODE_EVENT_FILTER) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFilterForEventSink(::core::mem::transmute_copy(&dwcookie), ::core::mem::transmute_copy(&filter)).into()
}
unsafe extern "system" fn GetExcludedDocuments<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNode100_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filter: APPLICATION_NODE_EVENT_FILTER, pdocuments: *mut TEXT_DOCUMENT_ARRAY) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExcludedDocuments(::core::mem::transmute_copy(&filter)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdocuments, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn QueryIsChildNode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNode100_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psearchkey: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryIsChildNode(::windows::core::from_raw_borrowed(&psearchkey)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetFilterForEventSink: SetFilterForEventSink::<Identity, Impl, OFFSET>,
GetExcludedDocuments: GetExcludedDocuments::<Identity, Impl, OFFSET>,
QueryIsChildNode: QueryIsChildNode::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplicationNode100 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugApplicationNodeEvents_Impl: Sized {
fn onAddChild(&self, prddpchild: ::core::option::Option<&IDebugApplicationNode>) -> ::windows::core::Result<()>;
fn onRemoveChild(&self, prddpchild: ::core::option::Option<&IDebugApplicationNode>) -> ::windows::core::Result<()>;
fn onDetach(&self) -> ::windows::core::Result<()>;
fn onAttach(&self, prddpparent: ::core::option::Option<&IDebugApplicationNode>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugApplicationNodeEvents {}
impl IDebugApplicationNodeEvents_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNodeEvents_Impl, const OFFSET: isize>() -> IDebugApplicationNodeEvents_Vtbl {
unsafe extern "system" fn onAddChild<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prddpchild: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onAddChild(::windows::core::from_raw_borrowed(&prddpchild)).into()
}
unsafe extern "system" fn onRemoveChild<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prddpchild: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onRemoveChild(::windows::core::from_raw_borrowed(&prddpchild)).into()
}
unsafe extern "system" fn onDetach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onDetach().into()
}
unsafe extern "system" fn onAttach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationNodeEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prddpparent: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onAttach(::windows::core::from_raw_borrowed(&prddpparent)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
onAddChild: onAddChild::<Identity, Impl, OFFSET>,
onRemoveChild: onRemoveChild::<Identity, Impl, OFFSET>,
onDetach: onDetach::<Identity, Impl, OFFSET>,
onAttach: onAttach::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplicationNodeEvents as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugApplicationThread_Impl: Sized + IRemoteDebugApplicationThread_Impl {
fn SynchronousCallIntoThread32(&self, pstcb: ::core::option::Option<&IDebugThreadCall32>, dwparam1: u32, dwparam2: u32, dwparam3: u32) -> ::windows::core::Result<()>;
fn QueryIsCurrentThread(&self) -> ::windows::core::Result<()>;
fn QueryIsDebuggerThread(&self) -> ::windows::core::Result<()>;
fn SetDescription(&self, pstrdescription: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetStateString(&self, pstrstate: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugApplicationThread {}
impl IDebugApplicationThread_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread_Impl, const OFFSET: isize>() -> IDebugApplicationThread_Vtbl {
unsafe extern "system" fn SynchronousCallIntoThread32<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstcb: *mut ::core::ffi::c_void, dwparam1: u32, dwparam2: u32, dwparam3: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SynchronousCallIntoThread32(::windows::core::from_raw_borrowed(&pstcb), ::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
unsafe extern "system" fn QueryIsCurrentThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryIsCurrentThread().into()
}
unsafe extern "system" fn QueryIsDebuggerThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryIsDebuggerThread().into()
}
unsafe extern "system" fn SetDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrdescription: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDescription(::core::mem::transmute(&pstrdescription)).into()
}
unsafe extern "system" fn SetStateString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrstate: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetStateString(::core::mem::transmute(&pstrstate)).into()
}
Self {
base__: IRemoteDebugApplicationThread_Vtbl::new::<Identity, Impl, OFFSET>(),
SynchronousCallIntoThread32: SynchronousCallIntoThread32::<Identity, Impl, OFFSET>,
QueryIsCurrentThread: QueryIsCurrentThread::<Identity, Impl, OFFSET>,
QueryIsDebuggerThread: QueryIsDebuggerThread::<Identity, Impl, OFFSET>,
SetDescription: SetDescription::<Identity, Impl, OFFSET>,
SetStateString: SetStateString::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplicationThread as ::windows::core::ComInterface>::IID || iid == &<IRemoteDebugApplicationThread as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugApplicationThread11032_Impl: Sized {
fn GetActiveThreadRequestCount(&self) -> ::windows::core::Result<u32>;
fn IsSuspendedForBreakPoint(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
fn IsThreadCallable(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
fn AsynchronousCallIntoThread(&self, pptc: ::core::option::Option<&IDebugThreadCall32>, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugApplicationThread11032 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugApplicationThread11032_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread11032_Impl, const OFFSET: isize>() -> IDebugApplicationThread11032_Vtbl {
unsafe extern "system" fn GetActiveThreadRequestCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread11032_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puithreadrequests: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetActiveThreadRequestCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(puithreadrequests, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsSuspendedForBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread11032_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfissuspended: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsSuspendedForBreakPoint() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfissuspended, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsThreadCallable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread11032_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfiscallable: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsThreadCallable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfiscallable, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AsynchronousCallIntoThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread11032_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptc: *mut ::core::ffi::c_void, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AsynchronousCallIntoThread(::windows::core::from_raw_borrowed(&pptc), ::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetActiveThreadRequestCount: GetActiveThreadRequestCount::<Identity, Impl, OFFSET>,
IsSuspendedForBreakPoint: IsSuspendedForBreakPoint::<Identity, Impl, OFFSET>,
IsThreadCallable: IsThreadCallable::<Identity, Impl, OFFSET>,
AsynchronousCallIntoThread: AsynchronousCallIntoThread::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplicationThread11032 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugApplicationThread11064_Impl: Sized {
fn GetActiveThreadRequestCount(&self) -> ::windows::core::Result<u32>;
fn IsSuspendedForBreakPoint(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
fn IsThreadCallable(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
fn AsynchronousCallIntoThread(&self, pptc: ::core::option::Option<&IDebugThreadCall64>, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugApplicationThread11064 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugApplicationThread11064_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread11064_Impl, const OFFSET: isize>() -> IDebugApplicationThread11064_Vtbl {
unsafe extern "system" fn GetActiveThreadRequestCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread11064_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puithreadrequests: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetActiveThreadRequestCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(puithreadrequests, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsSuspendedForBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread11064_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfissuspended: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsSuspendedForBreakPoint() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfissuspended, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsThreadCallable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread11064_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfiscallable: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsThreadCallable() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pfiscallable, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AsynchronousCallIntoThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread11064_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptc: *mut ::core::ffi::c_void, dwparam1: usize, dwparam2: usize, dwparam3: usize) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AsynchronousCallIntoThread(::windows::core::from_raw_borrowed(&pptc), ::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetActiveThreadRequestCount: GetActiveThreadRequestCount::<Identity, Impl, OFFSET>,
IsSuspendedForBreakPoint: IsSuspendedForBreakPoint::<Identity, Impl, OFFSET>,
IsThreadCallable: IsThreadCallable::<Identity, Impl, OFFSET>,
AsynchronousCallIntoThread: AsynchronousCallIntoThread::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplicationThread11064 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugApplicationThread64_Impl: Sized + IDebugApplicationThread_Impl {
fn SynchronousCallIntoThread64(&self, pstcb: ::core::option::Option<&IDebugThreadCall64>, dwparam1: u64, dwparam2: u64, dwparam3: u64) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugApplicationThread64 {}
impl IDebugApplicationThread64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread64_Impl, const OFFSET: isize>() -> IDebugApplicationThread64_Vtbl {
unsafe extern "system" fn SynchronousCallIntoThread64<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThread64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstcb: *mut ::core::ffi::c_void, dwparam1: u64, dwparam2: u64, dwparam3: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SynchronousCallIntoThread64(::windows::core::from_raw_borrowed(&pstcb), ::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
Self {
base__: IDebugApplicationThread_Vtbl::new::<Identity, Impl, OFFSET>(),
SynchronousCallIntoThread64: SynchronousCallIntoThread64::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplicationThread64 as ::windows::core::ComInterface>::IID || iid == &<IRemoteDebugApplicationThread as ::windows::core::ComInterface>::IID || iid == &<IDebugApplicationThread as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugApplicationThreadEvents110_Impl: Sized {
fn OnSuspendForBreakPoint(&self) -> ::windows::core::Result<()>;
fn OnResumeFromBreakPoint(&self) -> ::windows::core::Result<()>;
fn OnThreadRequestComplete(&self) -> ::windows::core::Result<()>;
fn OnBeginThreadRequest(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugApplicationThreadEvents110 {}
impl IDebugApplicationThreadEvents110_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThreadEvents110_Impl, const OFFSET: isize>() -> IDebugApplicationThreadEvents110_Vtbl {
unsafe extern "system" fn OnSuspendForBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThreadEvents110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnSuspendForBreakPoint().into()
}
unsafe extern "system" fn OnResumeFromBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThreadEvents110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnResumeFromBreakPoint().into()
}
unsafe extern "system" fn OnThreadRequestComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThreadEvents110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnThreadRequestComplete().into()
}
unsafe extern "system" fn OnBeginThreadRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugApplicationThreadEvents110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnBeginThreadRequest().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
OnSuspendForBreakPoint: OnSuspendForBreakPoint::<Identity, Impl, OFFSET>,
OnResumeFromBreakPoint: OnResumeFromBreakPoint::<Identity, Impl, OFFSET>,
OnThreadRequestComplete: OnThreadRequestComplete::<Identity, Impl, OFFSET>,
OnBeginThreadRequest: OnBeginThreadRequest::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugApplicationThreadEvents110 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugAsyncOperation_Impl: Sized {
fn GetSyncDebugOperation(&self) -> ::windows::core::Result<IDebugSyncOperation>;
fn Start(&self, padocb: ::core::option::Option<&IDebugAsyncOperationCallBack>) -> ::windows::core::Result<()>;
fn Abort(&self) -> ::windows::core::Result<()>;
fn QueryIsComplete(&self) -> ::windows::core::Result<()>;
fn GetResult(&self, phrresult: *mut ::windows::core::HRESULT, ppunkresult: *mut ::core::option::Option<::windows::core::IUnknown>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugAsyncOperation {}
impl IDebugAsyncOperation_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAsyncOperation_Impl, const OFFSET: isize>() -> IDebugAsyncOperation_Vtbl {
unsafe extern "system" fn GetSyncDebugOperation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAsyncOperation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppsdo: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSyncDebugOperation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsdo, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Start<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAsyncOperation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, padocb: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Start(::windows::core::from_raw_borrowed(&padocb)).into()
}
unsafe extern "system" fn Abort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAsyncOperation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Abort().into()
}
unsafe extern "system" fn QueryIsComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAsyncOperation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryIsComplete().into()
}
unsafe extern "system" fn GetResult<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAsyncOperation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phrresult: *mut ::windows::core::HRESULT, ppunkresult: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetResult(::core::mem::transmute_copy(&phrresult), ::core::mem::transmute_copy(&ppunkresult)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSyncDebugOperation: GetSyncDebugOperation::<Identity, Impl, OFFSET>,
Start: Start::<Identity, Impl, OFFSET>,
Abort: Abort::<Identity, Impl, OFFSET>,
QueryIsComplete: QueryIsComplete::<Identity, Impl, OFFSET>,
GetResult: GetResult::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugAsyncOperation as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugAsyncOperationCallBack_Impl: Sized {
fn onComplete(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugAsyncOperationCallBack {}
impl IDebugAsyncOperationCallBack_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAsyncOperationCallBack_Impl, const OFFSET: isize>() -> IDebugAsyncOperationCallBack_Vtbl {
unsafe extern "system" fn onComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugAsyncOperationCallBack_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onComplete().into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), onComplete: onComplete::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugAsyncOperationCallBack as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugBreakpoint_Impl: Sized {
fn GetId(&self) -> ::windows::core::Result<u32>;
fn GetType(&self, breaktype: *mut u32, proctype: *mut u32) -> ::windows::core::Result<()>;
fn GetAdder(&self) -> ::windows::core::Result<IDebugClient>;
fn GetFlags(&self) -> ::windows::core::Result<u32>;
fn AddFlags(&self, flags: u32) -> ::windows::core::Result<()>;
fn RemoveFlags(&self, flags: u32) -> ::windows::core::Result<()>;
fn SetFlags(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetOffset(&self) -> ::windows::core::Result<u64>;
fn SetOffset(&self, offset: u64) -> ::windows::core::Result<()>;
fn GetDataParameters(&self, size: *mut u32, accesstype: *mut u32) -> ::windows::core::Result<()>;
fn SetDataParameters(&self, size: u32, accesstype: u32) -> ::windows::core::Result<()>;
fn GetPassCount(&self) -> ::windows::core::Result<u32>;
fn SetPassCount(&self, count: u32) -> ::windows::core::Result<()>;
fn GetCurrentPassCount(&self) -> ::windows::core::Result<u32>;
fn GetMatchThreadId(&self) -> ::windows::core::Result<u32>;
fn SetMatchThreadId(&self, thread: u32) -> ::windows::core::Result<()>;
fn GetCommand(&self, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetCommand(&self, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetOffsetExpression(&self, buffer: ::windows::core::PSTR, buffersize: u32, expressionsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOffsetExpression(&self, expression: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetParameters(&self, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugBreakpoint {}
impl IDebugBreakpoint_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>() -> IDebugBreakpoint_Vtbl {
unsafe extern "system" fn GetId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, breaktype: *mut u32, proctype: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetType(::core::mem::transmute_copy(&breaktype), ::core::mem::transmute_copy(&proctype)).into()
}
unsafe extern "system" fn GetAdder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, adder: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAdder() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(adder, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(flags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddFlags(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn RemoveFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveFlags(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFlags(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOffset(::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetDataParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: *mut u32, accesstype: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDataParameters(::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn SetDataParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: u32, accesstype: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDataParameters(::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn GetPassCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPassCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPassCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPassCount(::core::mem::transmute_copy(&count)).into()
}
unsafe extern "system" fn GetCurrentPassCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentPassCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMatchThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMatchThreadId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMatchThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, thread: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMatchThreadId(::core::mem::transmute_copy(&thread)).into()
}
unsafe extern "system" fn GetCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCommand(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCommand(::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetOffsetExpression<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, expressionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOffsetExpression(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&expressionsize)).into()
}
unsafe extern "system" fn SetOffsetExpression<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOffsetExpression(::core::mem::transmute(&expression)).into()
}
unsafe extern "system" fn GetParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetParameters(::core::mem::transmute_copy(&params)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetId: GetId::<Identity, Impl, OFFSET>,
GetType: GetType::<Identity, Impl, OFFSET>,
GetAdder: GetAdder::<Identity, Impl, OFFSET>,
GetFlags: GetFlags::<Identity, Impl, OFFSET>,
AddFlags: AddFlags::<Identity, Impl, OFFSET>,
RemoveFlags: RemoveFlags::<Identity, Impl, OFFSET>,
SetFlags: SetFlags::<Identity, Impl, OFFSET>,
GetOffset: GetOffset::<Identity, Impl, OFFSET>,
SetOffset: SetOffset::<Identity, Impl, OFFSET>,
GetDataParameters: GetDataParameters::<Identity, Impl, OFFSET>,
SetDataParameters: SetDataParameters::<Identity, Impl, OFFSET>,
GetPassCount: GetPassCount::<Identity, Impl, OFFSET>,
SetPassCount: SetPassCount::<Identity, Impl, OFFSET>,
GetCurrentPassCount: GetCurrentPassCount::<Identity, Impl, OFFSET>,
GetMatchThreadId: GetMatchThreadId::<Identity, Impl, OFFSET>,
SetMatchThreadId: SetMatchThreadId::<Identity, Impl, OFFSET>,
GetCommand: GetCommand::<Identity, Impl, OFFSET>,
SetCommand: SetCommand::<Identity, Impl, OFFSET>,
GetOffsetExpression: GetOffsetExpression::<Identity, Impl, OFFSET>,
SetOffsetExpression: SetOffsetExpression::<Identity, Impl, OFFSET>,
GetParameters: GetParameters::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugBreakpoint as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugBreakpoint2_Impl: Sized {
fn GetId(&self) -> ::windows::core::Result<u32>;
fn GetType(&self, breaktype: *mut u32, proctype: *mut u32) -> ::windows::core::Result<()>;
fn GetAdder(&self) -> ::windows::core::Result<IDebugClient>;
fn GetFlags(&self) -> ::windows::core::Result<u32>;
fn AddFlags(&self, flags: u32) -> ::windows::core::Result<()>;
fn RemoveFlags(&self, flags: u32) -> ::windows::core::Result<()>;
fn SetFlags(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetOffset(&self) -> ::windows::core::Result<u64>;
fn SetOffset(&self, offset: u64) -> ::windows::core::Result<()>;
fn GetDataParameters(&self, size: *mut u32, accesstype: *mut u32) -> ::windows::core::Result<()>;
fn SetDataParameters(&self, size: u32, accesstype: u32) -> ::windows::core::Result<()>;
fn GetPassCount(&self) -> ::windows::core::Result<u32>;
fn SetPassCount(&self, count: u32) -> ::windows::core::Result<()>;
fn GetCurrentPassCount(&self) -> ::windows::core::Result<u32>;
fn GetMatchThreadId(&self) -> ::windows::core::Result<u32>;
fn SetMatchThreadId(&self, thread: u32) -> ::windows::core::Result<()>;
fn GetCommand(&self, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetCommand(&self, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetOffsetExpression(&self, buffer: ::windows::core::PSTR, buffersize: u32, expressionsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOffsetExpression(&self, expression: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetParameters(&self, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::Result<()>;
fn GetCommandWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetCommandWide(&self, command: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetOffsetExpressionWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, expressionsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOffsetExpressionWide(&self, expression: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugBreakpoint2 {}
impl IDebugBreakpoint2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>() -> IDebugBreakpoint2_Vtbl {
unsafe extern "system" fn GetId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, breaktype: *mut u32, proctype: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetType(::core::mem::transmute_copy(&breaktype), ::core::mem::transmute_copy(&proctype)).into()
}
unsafe extern "system" fn GetAdder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, adder: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAdder() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(adder, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(flags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddFlags(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn RemoveFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveFlags(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFlags(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOffset(::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetDataParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: *mut u32, accesstype: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDataParameters(::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn SetDataParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: u32, accesstype: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDataParameters(::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn GetPassCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPassCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPassCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPassCount(::core::mem::transmute_copy(&count)).into()
}
unsafe extern "system" fn GetCurrentPassCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentPassCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMatchThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMatchThreadId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMatchThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, thread: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMatchThreadId(::core::mem::transmute_copy(&thread)).into()
}
unsafe extern "system" fn GetCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCommand(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCommand(::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetOffsetExpression<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, expressionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOffsetExpression(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&expressionsize)).into()
}
unsafe extern "system" fn SetOffsetExpression<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOffsetExpression(::core::mem::transmute(&expression)).into()
}
unsafe extern "system" fn GetParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetParameters(::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCommandWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, command: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCommandWide(::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetOffsetExpressionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, expressionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOffsetExpressionWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&expressionsize)).into()
}
unsafe extern "system" fn SetOffsetExpressionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOffsetExpressionWide(::core::mem::transmute(&expression)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetId: GetId::<Identity, Impl, OFFSET>,
GetType: GetType::<Identity, Impl, OFFSET>,
GetAdder: GetAdder::<Identity, Impl, OFFSET>,
GetFlags: GetFlags::<Identity, Impl, OFFSET>,
AddFlags: AddFlags::<Identity, Impl, OFFSET>,
RemoveFlags: RemoveFlags::<Identity, Impl, OFFSET>,
SetFlags: SetFlags::<Identity, Impl, OFFSET>,
GetOffset: GetOffset::<Identity, Impl, OFFSET>,
SetOffset: SetOffset::<Identity, Impl, OFFSET>,
GetDataParameters: GetDataParameters::<Identity, Impl, OFFSET>,
SetDataParameters: SetDataParameters::<Identity, Impl, OFFSET>,
GetPassCount: GetPassCount::<Identity, Impl, OFFSET>,
SetPassCount: SetPassCount::<Identity, Impl, OFFSET>,
GetCurrentPassCount: GetCurrentPassCount::<Identity, Impl, OFFSET>,
GetMatchThreadId: GetMatchThreadId::<Identity, Impl, OFFSET>,
SetMatchThreadId: SetMatchThreadId::<Identity, Impl, OFFSET>,
GetCommand: GetCommand::<Identity, Impl, OFFSET>,
SetCommand: SetCommand::<Identity, Impl, OFFSET>,
GetOffsetExpression: GetOffsetExpression::<Identity, Impl, OFFSET>,
SetOffsetExpression: SetOffsetExpression::<Identity, Impl, OFFSET>,
GetParameters: GetParameters::<Identity, Impl, OFFSET>,
GetCommandWide: GetCommandWide::<Identity, Impl, OFFSET>,
SetCommandWide: SetCommandWide::<Identity, Impl, OFFSET>,
GetOffsetExpressionWide: GetOffsetExpressionWide::<Identity, Impl, OFFSET>,
SetOffsetExpressionWide: SetOffsetExpressionWide::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugBreakpoint2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugBreakpoint3_Impl: Sized {
fn GetId(&self) -> ::windows::core::Result<u32>;
fn GetType(&self, breaktype: *mut u32, proctype: *mut u32) -> ::windows::core::Result<()>;
fn GetAdder(&self) -> ::windows::core::Result<IDebugClient>;
fn GetFlags(&self) -> ::windows::core::Result<u32>;
fn AddFlags(&self, flags: u32) -> ::windows::core::Result<()>;
fn RemoveFlags(&self, flags: u32) -> ::windows::core::Result<()>;
fn SetFlags(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetOffset(&self) -> ::windows::core::Result<u64>;
fn SetOffset(&self, offset: u64) -> ::windows::core::Result<()>;
fn GetDataParameters(&self, size: *mut u32, accesstype: *mut u32) -> ::windows::core::Result<()>;
fn SetDataParameters(&self, size: u32, accesstype: u32) -> ::windows::core::Result<()>;
fn GetPassCount(&self) -> ::windows::core::Result<u32>;
fn SetPassCount(&self, count: u32) -> ::windows::core::Result<()>;
fn GetCurrentPassCount(&self) -> ::windows::core::Result<u32>;
fn GetMatchThreadId(&self) -> ::windows::core::Result<u32>;
fn SetMatchThreadId(&self, thread: u32) -> ::windows::core::Result<()>;
fn GetCommand(&self, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetCommand(&self, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetOffsetExpression(&self, buffer: ::windows::core::PSTR, buffersize: u32, expressionsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOffsetExpression(&self, expression: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetParameters(&self, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::Result<()>;
fn GetCommandWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetCommandWide(&self, command: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetOffsetExpressionWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, expressionsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOffsetExpressionWide(&self, expression: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetGuid(&self) -> ::windows::core::Result<::windows::core::GUID>;
}
impl ::windows::core::RuntimeName for IDebugBreakpoint3 {}
impl IDebugBreakpoint3_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>() -> IDebugBreakpoint3_Vtbl {
unsafe extern "system" fn GetId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, breaktype: *mut u32, proctype: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetType(::core::mem::transmute_copy(&breaktype), ::core::mem::transmute_copy(&proctype)).into()
}
unsafe extern "system" fn GetAdder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, adder: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAdder() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(adder, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(flags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddFlags(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn RemoveFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveFlags(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetFlags(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOffset(::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetDataParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: *mut u32, accesstype: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDataParameters(::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn SetDataParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: u32, accesstype: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDataParameters(::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn GetPassCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPassCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPassCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPassCount(::core::mem::transmute_copy(&count)).into()
}
unsafe extern "system" fn GetCurrentPassCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentPassCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMatchThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMatchThreadId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMatchThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, thread: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetMatchThreadId(::core::mem::transmute_copy(&thread)).into()
}
unsafe extern "system" fn GetCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCommand(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCommand(::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetOffsetExpression<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, expressionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOffsetExpression(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&expressionsize)).into()
}
unsafe extern "system" fn SetOffsetExpression<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOffsetExpression(::core::mem::transmute(&expression)).into()
}
unsafe extern "system" fn GetParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetParameters(::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCommandWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, command: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCommandWide(::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetOffsetExpressionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, expressionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOffsetExpressionWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&expressionsize)).into()
}
unsafe extern "system" fn SetOffsetExpressionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOffsetExpressionWide(::core::mem::transmute(&expression)).into()
}
unsafe extern "system" fn GetGuid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugBreakpoint3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetGuid() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(guid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetId: GetId::<Identity, Impl, OFFSET>,
GetType: GetType::<Identity, Impl, OFFSET>,
GetAdder: GetAdder::<Identity, Impl, OFFSET>,
GetFlags: GetFlags::<Identity, Impl, OFFSET>,
AddFlags: AddFlags::<Identity, Impl, OFFSET>,
RemoveFlags: RemoveFlags::<Identity, Impl, OFFSET>,
SetFlags: SetFlags::<Identity, Impl, OFFSET>,
GetOffset: GetOffset::<Identity, Impl, OFFSET>,
SetOffset: SetOffset::<Identity, Impl, OFFSET>,
GetDataParameters: GetDataParameters::<Identity, Impl, OFFSET>,
SetDataParameters: SetDataParameters::<Identity, Impl, OFFSET>,
GetPassCount: GetPassCount::<Identity, Impl, OFFSET>,
SetPassCount: SetPassCount::<Identity, Impl, OFFSET>,
GetCurrentPassCount: GetCurrentPassCount::<Identity, Impl, OFFSET>,
GetMatchThreadId: GetMatchThreadId::<Identity, Impl, OFFSET>,
SetMatchThreadId: SetMatchThreadId::<Identity, Impl, OFFSET>,
GetCommand: GetCommand::<Identity, Impl, OFFSET>,
SetCommand: SetCommand::<Identity, Impl, OFFSET>,
GetOffsetExpression: GetOffsetExpression::<Identity, Impl, OFFSET>,
SetOffsetExpression: SetOffsetExpression::<Identity, Impl, OFFSET>,
GetParameters: GetParameters::<Identity, Impl, OFFSET>,
GetCommandWide: GetCommandWide::<Identity, Impl, OFFSET>,
SetCommandWide: SetCommandWide::<Identity, Impl, OFFSET>,
GetOffsetExpressionWide: GetOffsetExpressionWide::<Identity, Impl, OFFSET>,
SetOffsetExpressionWide: SetOffsetExpressionWide::<Identity, Impl, OFFSET>,
GetGuid: GetGuid::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugBreakpoint3 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugClient_Impl: Sized {
fn AttachKernel(&self, flags: u32, connectoptions: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptions(&self, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptions(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn StartProcessServer(&self, flags: u32, options: &::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServer(&self, remoteoptions: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn DisconnectProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIds(&self, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableName(&self, server: u64, exename: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn AttachProcess(&self, server: u64, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessA(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn GetProcessOptions(&self) -> ::windows::core::Result<u32>;
fn AddProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn OpenDumpFile(&self, dumpfile: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WriteDumpFile(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32) -> ::windows::core::Result<()>;
fn ConnectSession(&self, flags: u32, historylimit: u32) -> ::windows::core::Result<()>;
fn StartServer(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputServers(&self, outputcontrol: u32, machine: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn TerminateProcesses(&self) -> ::windows::core::Result<()>;
fn DetachProcesses(&self) -> ::windows::core::Result<()>;
fn EndSession(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetExitCode(&self) -> ::windows::core::Result<u32>;
fn DispatchCallbacks(&self, timeout: u32) -> ::windows::core::Result<()>;
fn ExitDispatch(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<()>;
fn CreateClient(&self) -> ::windows::core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> ::windows::core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: ::core::option::Option<&IDebugInputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputCallbacks(&self) -> ::windows::core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputMask(&self) -> ::windows::core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn GetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<u32>;
fn SetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>, mask: u32) -> ::windows::core::Result<()>;
fn GetOutputWidth(&self) -> ::windows::core::Result<u32>;
fn SetOutputWidth(&self, columns: u32) -> ::windows::core::Result<()>;
fn GetOutputLinePrefix(&self, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefix(&self, prefix: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetIdentity(&self, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentity(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacks(&self) -> ::windows::core::Result<IDebugEventCallbacks>;
fn SetEventCallbacks(&self, callbacks: ::core::option::Option<&IDebugEventCallbacks>) -> ::windows::core::Result<()>;
fn FlushCallbacks(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugClient {}
impl IDebugClient_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>() -> IDebugClient_Vtbl {
unsafe extern "system" fn AttachKernel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernel(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptions(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptions(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServer(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServer(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisconnectProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessSystemIds(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&actualcount)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableName(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescription(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn AttachProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachProcess(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessA(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn GetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFile(::core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, historylimit: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConnectSession(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServer(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServers(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateProcesses().into()
}
unsafe extern "system" fn DetachProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachProcesses().into()
}
unsafe extern "system" fn EndSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSession(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExitCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(code, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DispatchCallbacks(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitDispatch(::windows::core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateClient() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(client, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOtherOutputMask(::windows::core::from_raw_borrowed(&client)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOtherOutputMask(::windows::core::from_raw_borrowed(&client), ::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputWidth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(columns, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputWidth(::core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefix(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefix(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentity(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentity(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FlushCallbacks().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, Impl, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, Impl, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, Impl, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, Impl, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, Impl, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, Impl, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, Impl, OFFSET>,
AttachProcess: AttachProcess::<Identity, Impl, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, Impl, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, Impl, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, Impl, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, Impl, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, Impl, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, Impl, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, Impl, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, Impl, OFFSET>,
ConnectSession: ConnectSession::<Identity, Impl, OFFSET>,
StartServer: StartServer::<Identity, Impl, OFFSET>,
OutputServers: OutputServers::<Identity, Impl, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, Impl, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, Impl, OFFSET>,
EndSession: EndSession::<Identity, Impl, OFFSET>,
GetExitCode: GetExitCode::<Identity, Impl, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, Impl, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, Impl, OFFSET>,
CreateClient: CreateClient::<Identity, Impl, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, Impl, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, Impl, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, Impl, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, Impl, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, Impl, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, Impl, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, Impl, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, Impl, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, Impl, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, Impl, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, Impl, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, Impl, OFFSET>,
GetIdentity: GetIdentity::<Identity, Impl, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, Impl, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, Impl, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, Impl, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugClient as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugClient2_Impl: Sized {
fn AttachKernel(&self, flags: u32, connectoptions: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptions(&self, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptions(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn StartProcessServer(&self, flags: u32, options: &::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServer(&self, remoteoptions: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn DisconnectProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIds(&self, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableName(&self, server: u64, exename: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn AttachProcess(&self, server: u64, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessA(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn GetProcessOptions(&self) -> ::windows::core::Result<u32>;
fn AddProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn OpenDumpFile(&self, dumpfile: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WriteDumpFile(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32) -> ::windows::core::Result<()>;
fn ConnectSession(&self, flags: u32, historylimit: u32) -> ::windows::core::Result<()>;
fn StartServer(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputServers(&self, outputcontrol: u32, machine: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn TerminateProcesses(&self) -> ::windows::core::Result<()>;
fn DetachProcesses(&self) -> ::windows::core::Result<()>;
fn EndSession(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetExitCode(&self) -> ::windows::core::Result<u32>;
fn DispatchCallbacks(&self, timeout: u32) -> ::windows::core::Result<()>;
fn ExitDispatch(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<()>;
fn CreateClient(&self) -> ::windows::core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> ::windows::core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: ::core::option::Option<&IDebugInputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputCallbacks(&self) -> ::windows::core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputMask(&self) -> ::windows::core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn GetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<u32>;
fn SetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>, mask: u32) -> ::windows::core::Result<()>;
fn GetOutputWidth(&self) -> ::windows::core::Result<u32>;
fn SetOutputWidth(&self, columns: u32) -> ::windows::core::Result<()>;
fn GetOutputLinePrefix(&self, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefix(&self, prefix: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetIdentity(&self, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentity(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacks(&self) -> ::windows::core::Result<IDebugEventCallbacks>;
fn SetEventCallbacks(&self, callbacks: ::core::option::Option<&IDebugEventCallbacks>) -> ::windows::core::Result<()>;
fn FlushCallbacks(&self) -> ::windows::core::Result<()>;
fn WriteDumpFile2(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFile(&self, infofile: &::windows::core::PCSTR, r#type: u32) -> ::windows::core::Result<()>;
fn EndProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn WaitForProcessServerEnd(&self, timeout: u32) -> ::windows::core::Result<()>;
fn IsKernelDebuggerEnabled(&self) -> ::windows::core::Result<()>;
fn TerminateCurrentProcess(&self) -> ::windows::core::Result<()>;
fn DetachCurrentProcess(&self) -> ::windows::core::Result<()>;
fn AbandonCurrentProcess(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugClient2 {}
impl IDebugClient2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>() -> IDebugClient2_Vtbl {
unsafe extern "system" fn AttachKernel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernel(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptions(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptions(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServer(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServer(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisconnectProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessSystemIds(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&actualcount)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableName(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescription(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn AttachProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachProcess(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessA(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn GetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFile(::core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, historylimit: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConnectSession(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServer(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServers(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateProcesses().into()
}
unsafe extern "system" fn DetachProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachProcesses().into()
}
unsafe extern "system" fn EndSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSession(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExitCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(code, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DispatchCallbacks(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitDispatch(::windows::core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateClient() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(client, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOtherOutputMask(::windows::core::from_raw_borrowed(&client)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOtherOutputMask(::windows::core::from_raw_borrowed(&client), ::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputWidth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(columns, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputWidth(::core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefix(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefix(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentity(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentity(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FlushCallbacks().into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile2(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, infofile: ::windows::core::PCSTR, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFile(::core::mem::transmute(&infofile), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForProcessServerEnd(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsKernelDebuggerEnabled().into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateCurrentProcess().into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachCurrentProcess().into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AbandonCurrentProcess().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, Impl, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, Impl, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, Impl, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, Impl, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, Impl, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, Impl, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, Impl, OFFSET>,
AttachProcess: AttachProcess::<Identity, Impl, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, Impl, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, Impl, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, Impl, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, Impl, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, Impl, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, Impl, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, Impl, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, Impl, OFFSET>,
ConnectSession: ConnectSession::<Identity, Impl, OFFSET>,
StartServer: StartServer::<Identity, Impl, OFFSET>,
OutputServers: OutputServers::<Identity, Impl, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, Impl, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, Impl, OFFSET>,
EndSession: EndSession::<Identity, Impl, OFFSET>,
GetExitCode: GetExitCode::<Identity, Impl, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, Impl, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, Impl, OFFSET>,
CreateClient: CreateClient::<Identity, Impl, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, Impl, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, Impl, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, Impl, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, Impl, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, Impl, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, Impl, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, Impl, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, Impl, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, Impl, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, Impl, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, Impl, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, Impl, OFFSET>,
GetIdentity: GetIdentity::<Identity, Impl, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, Impl, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, Impl, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, Impl, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, Impl, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, Impl, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, Impl, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, Impl, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, Impl, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, Impl, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, Impl, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, Impl, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugClient2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugClient3_Impl: Sized {
fn AttachKernel(&self, flags: u32, connectoptions: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptions(&self, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptions(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn StartProcessServer(&self, flags: u32, options: &::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServer(&self, remoteoptions: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn DisconnectProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIds(&self, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableName(&self, server: u64, exename: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn AttachProcess(&self, server: u64, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessA(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn GetProcessOptions(&self) -> ::windows::core::Result<u32>;
fn AddProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn OpenDumpFile(&self, dumpfile: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WriteDumpFile(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32) -> ::windows::core::Result<()>;
fn ConnectSession(&self, flags: u32, historylimit: u32) -> ::windows::core::Result<()>;
fn StartServer(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputServers(&self, outputcontrol: u32, machine: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn TerminateProcesses(&self) -> ::windows::core::Result<()>;
fn DetachProcesses(&self) -> ::windows::core::Result<()>;
fn EndSession(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetExitCode(&self) -> ::windows::core::Result<u32>;
fn DispatchCallbacks(&self, timeout: u32) -> ::windows::core::Result<()>;
fn ExitDispatch(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<()>;
fn CreateClient(&self) -> ::windows::core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> ::windows::core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: ::core::option::Option<&IDebugInputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputCallbacks(&self) -> ::windows::core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputMask(&self) -> ::windows::core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn GetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<u32>;
fn SetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>, mask: u32) -> ::windows::core::Result<()>;
fn GetOutputWidth(&self) -> ::windows::core::Result<u32>;
fn SetOutputWidth(&self, columns: u32) -> ::windows::core::Result<()>;
fn GetOutputLinePrefix(&self, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefix(&self, prefix: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetIdentity(&self, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentity(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacks(&self) -> ::windows::core::Result<IDebugEventCallbacks>;
fn SetEventCallbacks(&self, callbacks: ::core::option::Option<&IDebugEventCallbacks>) -> ::windows::core::Result<()>;
fn FlushCallbacks(&self) -> ::windows::core::Result<()>;
fn WriteDumpFile2(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFile(&self, infofile: &::windows::core::PCSTR, r#type: u32) -> ::windows::core::Result<()>;
fn EndProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn WaitForProcessServerEnd(&self, timeout: u32) -> ::windows::core::Result<()>;
fn IsKernelDebuggerEnabled(&self) -> ::windows::core::Result<()>;
fn TerminateCurrentProcess(&self) -> ::windows::core::Result<()>;
fn DetachCurrentProcess(&self) -> ::windows::core::Result<()>;
fn AbandonCurrentProcess(&self) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableNameWide(&self, server: u64, exename: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn CreateProcessWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttachWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugClient3 {}
impl IDebugClient3_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>() -> IDebugClient3_Vtbl {
unsafe extern "system" fn AttachKernel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernel(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptions(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptions(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServer(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServer(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisconnectProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessSystemIds(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&actualcount)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableName(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescription(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn AttachProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachProcess(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessA(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn GetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFile(::core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, historylimit: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConnectSession(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServer(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServers(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateProcesses().into()
}
unsafe extern "system" fn DetachProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachProcesses().into()
}
unsafe extern "system" fn EndSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSession(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExitCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(code, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DispatchCallbacks(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitDispatch(::windows::core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateClient() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(client, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOtherOutputMask(::windows::core::from_raw_borrowed(&client)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOtherOutputMask(::windows::core::from_raw_borrowed(&client), ::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputWidth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(columns, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputWidth(::core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefix(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefix(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentity(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentity(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FlushCallbacks().into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile2(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, infofile: ::windows::core::PCSTR, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFile(::core::mem::transmute(&infofile), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForProcessServerEnd(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsKernelDebuggerEnabled().into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateCurrentProcess().into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachCurrentProcess().into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AbandonCurrentProcess().into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCWSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableNameWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescriptionWide(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn CreateProcessWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttachWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, Impl, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, Impl, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, Impl, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, Impl, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, Impl, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, Impl, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, Impl, OFFSET>,
AttachProcess: AttachProcess::<Identity, Impl, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, Impl, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, Impl, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, Impl, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, Impl, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, Impl, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, Impl, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, Impl, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, Impl, OFFSET>,
ConnectSession: ConnectSession::<Identity, Impl, OFFSET>,
StartServer: StartServer::<Identity, Impl, OFFSET>,
OutputServers: OutputServers::<Identity, Impl, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, Impl, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, Impl, OFFSET>,
EndSession: EndSession::<Identity, Impl, OFFSET>,
GetExitCode: GetExitCode::<Identity, Impl, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, Impl, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, Impl, OFFSET>,
CreateClient: CreateClient::<Identity, Impl, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, Impl, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, Impl, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, Impl, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, Impl, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, Impl, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, Impl, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, Impl, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, Impl, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, Impl, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, Impl, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, Impl, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, Impl, OFFSET>,
GetIdentity: GetIdentity::<Identity, Impl, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, Impl, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, Impl, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, Impl, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, Impl, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, Impl, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, Impl, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, Impl, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, Impl, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, Impl, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, Impl, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, Impl, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, Impl, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, Impl, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, Impl, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugClient3 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugClient4_Impl: Sized {
fn AttachKernel(&self, flags: u32, connectoptions: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptions(&self, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptions(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn StartProcessServer(&self, flags: u32, options: &::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServer(&self, remoteoptions: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn DisconnectProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIds(&self, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableName(&self, server: u64, exename: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn AttachProcess(&self, server: u64, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessA(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn GetProcessOptions(&self) -> ::windows::core::Result<u32>;
fn AddProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn OpenDumpFile(&self, dumpfile: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WriteDumpFile(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32) -> ::windows::core::Result<()>;
fn ConnectSession(&self, flags: u32, historylimit: u32) -> ::windows::core::Result<()>;
fn StartServer(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputServers(&self, outputcontrol: u32, machine: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn TerminateProcesses(&self) -> ::windows::core::Result<()>;
fn DetachProcesses(&self) -> ::windows::core::Result<()>;
fn EndSession(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetExitCode(&self) -> ::windows::core::Result<u32>;
fn DispatchCallbacks(&self, timeout: u32) -> ::windows::core::Result<()>;
fn ExitDispatch(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<()>;
fn CreateClient(&self) -> ::windows::core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> ::windows::core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: ::core::option::Option<&IDebugInputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputCallbacks(&self) -> ::windows::core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputMask(&self) -> ::windows::core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn GetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<u32>;
fn SetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>, mask: u32) -> ::windows::core::Result<()>;
fn GetOutputWidth(&self) -> ::windows::core::Result<u32>;
fn SetOutputWidth(&self, columns: u32) -> ::windows::core::Result<()>;
fn GetOutputLinePrefix(&self, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefix(&self, prefix: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetIdentity(&self, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentity(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacks(&self) -> ::windows::core::Result<IDebugEventCallbacks>;
fn SetEventCallbacks(&self, callbacks: ::core::option::Option<&IDebugEventCallbacks>) -> ::windows::core::Result<()>;
fn FlushCallbacks(&self) -> ::windows::core::Result<()>;
fn WriteDumpFile2(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFile(&self, infofile: &::windows::core::PCSTR, r#type: u32) -> ::windows::core::Result<()>;
fn EndProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn WaitForProcessServerEnd(&self, timeout: u32) -> ::windows::core::Result<()>;
fn IsKernelDebuggerEnabled(&self) -> ::windows::core::Result<()>;
fn TerminateCurrentProcess(&self) -> ::windows::core::Result<()>;
fn DetachCurrentProcess(&self) -> ::windows::core::Result<()>;
fn AbandonCurrentProcess(&self) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableNameWide(&self, server: u64, exename: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn CreateProcessWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttachWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn OpenDumpFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64) -> ::windows::core::Result<()>;
fn WriteDumpFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64, qualifier: u32, formatflags: u32, comment: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64, r#type: u32) -> ::windows::core::Result<()>;
fn GetNumberDumpFiles(&self) -> ::windows::core::Result<u32>;
fn GetDumpFile(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::Result<()>;
fn GetDumpFileWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugClient4 {}
impl IDebugClient4_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>() -> IDebugClient4_Vtbl {
unsafe extern "system" fn AttachKernel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernel(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptions(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptions(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServer(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServer(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisconnectProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessSystemIds(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&actualcount)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableName(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescription(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn AttachProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachProcess(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessA(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn GetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFile(::core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, historylimit: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConnectSession(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServer(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServers(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateProcesses().into()
}
unsafe extern "system" fn DetachProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachProcesses().into()
}
unsafe extern "system" fn EndSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSession(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExitCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(code, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DispatchCallbacks(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitDispatch(::windows::core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateClient() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(client, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOtherOutputMask(::windows::core::from_raw_borrowed(&client)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOtherOutputMask(::windows::core::from_raw_borrowed(&client), ::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputWidth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(columns, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputWidth(::core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefix(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefix(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentity(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentity(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FlushCallbacks().into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile2(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, infofile: ::windows::core::PCSTR, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFile(::core::mem::transmute(&infofile), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForProcessServerEnd(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsKernelDebuggerEnabled().into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateCurrentProcess().into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachCurrentProcess().into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AbandonCurrentProcess().into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCWSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableNameWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescriptionWide(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn CreateProcessWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttachWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn OpenDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle)).into()
}
unsafe extern "system" fn WriteDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64, qualifier: u32, formatflags: u32, comment: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetNumberDumpFiles<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberDumpFiles() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDumpFile(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDumpFileWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&r#type)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, Impl, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, Impl, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, Impl, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, Impl, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, Impl, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, Impl, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, Impl, OFFSET>,
AttachProcess: AttachProcess::<Identity, Impl, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, Impl, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, Impl, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, Impl, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, Impl, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, Impl, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, Impl, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, Impl, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, Impl, OFFSET>,
ConnectSession: ConnectSession::<Identity, Impl, OFFSET>,
StartServer: StartServer::<Identity, Impl, OFFSET>,
OutputServers: OutputServers::<Identity, Impl, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, Impl, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, Impl, OFFSET>,
EndSession: EndSession::<Identity, Impl, OFFSET>,
GetExitCode: GetExitCode::<Identity, Impl, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, Impl, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, Impl, OFFSET>,
CreateClient: CreateClient::<Identity, Impl, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, Impl, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, Impl, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, Impl, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, Impl, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, Impl, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, Impl, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, Impl, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, Impl, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, Impl, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, Impl, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, Impl, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, Impl, OFFSET>,
GetIdentity: GetIdentity::<Identity, Impl, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, Impl, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, Impl, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, Impl, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, Impl, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, Impl, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, Impl, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, Impl, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, Impl, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, Impl, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, Impl, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, Impl, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, Impl, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, Impl, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, Impl, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, Impl, OFFSET>,
OpenDumpFileWide: OpenDumpFileWide::<Identity, Impl, OFFSET>,
WriteDumpFileWide: WriteDumpFileWide::<Identity, Impl, OFFSET>,
AddDumpInformationFileWide: AddDumpInformationFileWide::<Identity, Impl, OFFSET>,
GetNumberDumpFiles: GetNumberDumpFiles::<Identity, Impl, OFFSET>,
GetDumpFile: GetDumpFile::<Identity, Impl, OFFSET>,
GetDumpFileWide: GetDumpFileWide::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugClient4 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugClient5_Impl: Sized {
fn AttachKernel(&self, flags: u32, connectoptions: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptions(&self, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptions(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn StartProcessServer(&self, flags: u32, options: &::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServer(&self, remoteoptions: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn DisconnectProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIds(&self, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableName(&self, server: u64, exename: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn AttachProcess(&self, server: u64, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessA(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn GetProcessOptions(&self) -> ::windows::core::Result<u32>;
fn AddProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn OpenDumpFile(&self, dumpfile: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WriteDumpFile(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32) -> ::windows::core::Result<()>;
fn ConnectSession(&self, flags: u32, historylimit: u32) -> ::windows::core::Result<()>;
fn StartServer(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputServers(&self, outputcontrol: u32, machine: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn TerminateProcesses(&self) -> ::windows::core::Result<()>;
fn DetachProcesses(&self) -> ::windows::core::Result<()>;
fn EndSession(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetExitCode(&self) -> ::windows::core::Result<u32>;
fn DispatchCallbacks(&self, timeout: u32) -> ::windows::core::Result<()>;
fn ExitDispatch(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<()>;
fn CreateClient(&self) -> ::windows::core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> ::windows::core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: ::core::option::Option<&IDebugInputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputCallbacks(&self) -> ::windows::core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputMask(&self) -> ::windows::core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn GetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<u32>;
fn SetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>, mask: u32) -> ::windows::core::Result<()>;
fn GetOutputWidth(&self) -> ::windows::core::Result<u32>;
fn SetOutputWidth(&self, columns: u32) -> ::windows::core::Result<()>;
fn GetOutputLinePrefix(&self, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefix(&self, prefix: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetIdentity(&self, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentity(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacks(&self) -> ::windows::core::Result<IDebugEventCallbacks>;
fn SetEventCallbacks(&self, callbacks: ::core::option::Option<&IDebugEventCallbacks>) -> ::windows::core::Result<()>;
fn FlushCallbacks(&self) -> ::windows::core::Result<()>;
fn WriteDumpFile2(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFile(&self, infofile: &::windows::core::PCSTR, r#type: u32) -> ::windows::core::Result<()>;
fn EndProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn WaitForProcessServerEnd(&self, timeout: u32) -> ::windows::core::Result<()>;
fn IsKernelDebuggerEnabled(&self) -> ::windows::core::Result<()>;
fn TerminateCurrentProcess(&self) -> ::windows::core::Result<()>;
fn DetachCurrentProcess(&self) -> ::windows::core::Result<()>;
fn AbandonCurrentProcess(&self) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableNameWide(&self, server: u64, exename: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn CreateProcessWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttachWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn OpenDumpFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64) -> ::windows::core::Result<()>;
fn WriteDumpFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64, qualifier: u32, formatflags: u32, comment: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64, r#type: u32) -> ::windows::core::Result<()>;
fn GetNumberDumpFiles(&self) -> ::windows::core::Result<u32>;
fn GetDumpFile(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::Result<()>;
fn GetDumpFileWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::Result<()>;
fn AttachKernelWide(&self, flags: u32, connectoptions: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptionsWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptionsWide(&self, options: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn StartProcessServerWide(&self, flags: u32, options: &::windows::core::PCWSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServerWide(&self, remoteoptions: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn StartServerWide(&self, options: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputServersWide(&self, outputcontrol: u32, machine: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetOutputCallbacksWide(&self) -> ::windows::core::Result<IDebugOutputCallbacksWide>;
fn SetOutputCallbacksWide(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacksWide>) -> ::windows::core::Result<()>;
fn GetOutputLinePrefixWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefixWide(&self, prefix: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetIdentityWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentityWide(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacksWide(&self) -> ::windows::core::Result<IDebugEventCallbacksWide>;
fn SetEventCallbacksWide(&self, callbacks: ::core::option::Option<&IDebugEventCallbacksWide>) -> ::windows::core::Result<()>;
fn CreateProcess2(&self, server: u64, commandline: &::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCSTR, environment: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn CreateProcess2Wide(&self, server: u64, commandline: &::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCWSTR, environment: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach2(&self, server: u64, commandline: &::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCSTR, environment: &::windows::core::PCSTR, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach2Wide(&self, server: u64, commandline: &::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCWSTR, environment: &::windows::core::PCWSTR, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn PushOutputLinePrefix(&self, newprefix: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn PushOutputLinePrefixWide(&self, newprefix: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn PopOutputLinePrefix(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetNumberInputCallbacks(&self) -> ::windows::core::Result<u32>;
fn GetNumberOutputCallbacks(&self) -> ::windows::core::Result<u32>;
fn GetNumberEventCallbacks(&self, eventflags: u32) -> ::windows::core::Result<u32>;
fn GetQuitLockString(&self, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn SetQuitLockString(&self, string: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetQuitLockStringWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn SetQuitLockStringWide(&self, string: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugClient5 {}
impl IDebugClient5_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>() -> IDebugClient5_Vtbl {
unsafe extern "system" fn AttachKernel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernel(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptions(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptions(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServer(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServer(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisconnectProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessSystemIds(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&actualcount)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableName(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescription(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn AttachProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachProcess(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessA(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn GetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFile(::core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, historylimit: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConnectSession(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServer(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServers(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateProcesses().into()
}
unsafe extern "system" fn DetachProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachProcesses().into()
}
unsafe extern "system" fn EndSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSession(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExitCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(code, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DispatchCallbacks(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitDispatch(::windows::core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateClient() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(client, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOtherOutputMask(::windows::core::from_raw_borrowed(&client)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOtherOutputMask(::windows::core::from_raw_borrowed(&client), ::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputWidth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(columns, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputWidth(::core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefix(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefix(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentity(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentity(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FlushCallbacks().into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile2(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, infofile: ::windows::core::PCSTR, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFile(::core::mem::transmute(&infofile), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForProcessServerEnd(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsKernelDebuggerEnabled().into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateCurrentProcess().into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachCurrentProcess().into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AbandonCurrentProcess().into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCWSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableNameWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescriptionWide(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn CreateProcessWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttachWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn OpenDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle)).into()
}
unsafe extern "system" fn WriteDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64, qualifier: u32, formatflags: u32, comment: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetNumberDumpFiles<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberDumpFiles() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDumpFile(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDumpFileWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn AttachKernelWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernelWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptionsWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptionsWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptionsWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptionsWide(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCWSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServerWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCWSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServerWide(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServerWide(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServersWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServersWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOutputCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacksWide() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacksWide(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefixWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefixWide(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentityWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentityWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentityWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentityWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacksWide() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacksWide(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn CreateProcess2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCSTR, environment: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcess2(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment)).into()
}
unsafe extern "system" fn CreateProcess2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCWSTR, environment: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcess2Wide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment)).into()
}
unsafe extern "system" fn CreateProcessAndAttach2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCSTR, environment: ::windows::core::PCSTR, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach2(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCWSTR, environment: ::windows::core::PCWSTR, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach2Wide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn PushOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newprefix: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PushOutputLinePrefix(::core::mem::transmute(&newprefix)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PushOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newprefix: ::windows::core::PCWSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PushOutputLinePrefixWide(::core::mem::transmute(&newprefix)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PopOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PopOutputLinePrefix(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetNumberInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, eventflags: u32, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberEventCallbacks(::core::mem::transmute_copy(&eventflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetQuitLockString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetQuitLockString(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn SetQuitLockString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, string: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetQuitLockString(::core::mem::transmute(&string)).into()
}
unsafe extern "system" fn GetQuitLockStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetQuitLockStringWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn SetQuitLockStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, string: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetQuitLockStringWide(::core::mem::transmute(&string)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, Impl, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, Impl, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, Impl, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, Impl, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, Impl, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, Impl, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, Impl, OFFSET>,
AttachProcess: AttachProcess::<Identity, Impl, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, Impl, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, Impl, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, Impl, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, Impl, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, Impl, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, Impl, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, Impl, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, Impl, OFFSET>,
ConnectSession: ConnectSession::<Identity, Impl, OFFSET>,
StartServer: StartServer::<Identity, Impl, OFFSET>,
OutputServers: OutputServers::<Identity, Impl, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, Impl, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, Impl, OFFSET>,
EndSession: EndSession::<Identity, Impl, OFFSET>,
GetExitCode: GetExitCode::<Identity, Impl, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, Impl, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, Impl, OFFSET>,
CreateClient: CreateClient::<Identity, Impl, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, Impl, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, Impl, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, Impl, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, Impl, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, Impl, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, Impl, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, Impl, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, Impl, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, Impl, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, Impl, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, Impl, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, Impl, OFFSET>,
GetIdentity: GetIdentity::<Identity, Impl, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, Impl, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, Impl, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, Impl, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, Impl, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, Impl, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, Impl, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, Impl, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, Impl, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, Impl, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, Impl, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, Impl, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, Impl, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, Impl, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, Impl, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, Impl, OFFSET>,
OpenDumpFileWide: OpenDumpFileWide::<Identity, Impl, OFFSET>,
WriteDumpFileWide: WriteDumpFileWide::<Identity, Impl, OFFSET>,
AddDumpInformationFileWide: AddDumpInformationFileWide::<Identity, Impl, OFFSET>,
GetNumberDumpFiles: GetNumberDumpFiles::<Identity, Impl, OFFSET>,
GetDumpFile: GetDumpFile::<Identity, Impl, OFFSET>,
GetDumpFileWide: GetDumpFileWide::<Identity, Impl, OFFSET>,
AttachKernelWide: AttachKernelWide::<Identity, Impl, OFFSET>,
GetKernelConnectionOptionsWide: GetKernelConnectionOptionsWide::<Identity, Impl, OFFSET>,
SetKernelConnectionOptionsWide: SetKernelConnectionOptionsWide::<Identity, Impl, OFFSET>,
StartProcessServerWide: StartProcessServerWide::<Identity, Impl, OFFSET>,
ConnectProcessServerWide: ConnectProcessServerWide::<Identity, Impl, OFFSET>,
StartServerWide: StartServerWide::<Identity, Impl, OFFSET>,
OutputServersWide: OutputServersWide::<Identity, Impl, OFFSET>,
GetOutputCallbacksWide: GetOutputCallbacksWide::<Identity, Impl, OFFSET>,
SetOutputCallbacksWide: SetOutputCallbacksWide::<Identity, Impl, OFFSET>,
GetOutputLinePrefixWide: GetOutputLinePrefixWide::<Identity, Impl, OFFSET>,
SetOutputLinePrefixWide: SetOutputLinePrefixWide::<Identity, Impl, OFFSET>,
GetIdentityWide: GetIdentityWide::<Identity, Impl, OFFSET>,
OutputIdentityWide: OutputIdentityWide::<Identity, Impl, OFFSET>,
GetEventCallbacksWide: GetEventCallbacksWide::<Identity, Impl, OFFSET>,
SetEventCallbacksWide: SetEventCallbacksWide::<Identity, Impl, OFFSET>,
CreateProcess2: CreateProcess2::<Identity, Impl, OFFSET>,
CreateProcess2Wide: CreateProcess2Wide::<Identity, Impl, OFFSET>,
CreateProcessAndAttach2: CreateProcessAndAttach2::<Identity, Impl, OFFSET>,
CreateProcessAndAttach2Wide: CreateProcessAndAttach2Wide::<Identity, Impl, OFFSET>,
PushOutputLinePrefix: PushOutputLinePrefix::<Identity, Impl, OFFSET>,
PushOutputLinePrefixWide: PushOutputLinePrefixWide::<Identity, Impl, OFFSET>,
PopOutputLinePrefix: PopOutputLinePrefix::<Identity, Impl, OFFSET>,
GetNumberInputCallbacks: GetNumberInputCallbacks::<Identity, Impl, OFFSET>,
GetNumberOutputCallbacks: GetNumberOutputCallbacks::<Identity, Impl, OFFSET>,
GetNumberEventCallbacks: GetNumberEventCallbacks::<Identity, Impl, OFFSET>,
GetQuitLockString: GetQuitLockString::<Identity, Impl, OFFSET>,
SetQuitLockString: SetQuitLockString::<Identity, Impl, OFFSET>,
GetQuitLockStringWide: GetQuitLockStringWide::<Identity, Impl, OFFSET>,
SetQuitLockStringWide: SetQuitLockStringWide::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugClient5 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugClient6_Impl: Sized {
fn AttachKernel(&self, flags: u32, connectoptions: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptions(&self, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptions(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn StartProcessServer(&self, flags: u32, options: &::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServer(&self, remoteoptions: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn DisconnectProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIds(&self, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableName(&self, server: u64, exename: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn AttachProcess(&self, server: u64, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessA(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn GetProcessOptions(&self) -> ::windows::core::Result<u32>;
fn AddProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn OpenDumpFile(&self, dumpfile: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WriteDumpFile(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32) -> ::windows::core::Result<()>;
fn ConnectSession(&self, flags: u32, historylimit: u32) -> ::windows::core::Result<()>;
fn StartServer(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputServers(&self, outputcontrol: u32, machine: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn TerminateProcesses(&self) -> ::windows::core::Result<()>;
fn DetachProcesses(&self) -> ::windows::core::Result<()>;
fn EndSession(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetExitCode(&self) -> ::windows::core::Result<u32>;
fn DispatchCallbacks(&self, timeout: u32) -> ::windows::core::Result<()>;
fn ExitDispatch(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<()>;
fn CreateClient(&self) -> ::windows::core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> ::windows::core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: ::core::option::Option<&IDebugInputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputCallbacks(&self) -> ::windows::core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputMask(&self) -> ::windows::core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn GetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<u32>;
fn SetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>, mask: u32) -> ::windows::core::Result<()>;
fn GetOutputWidth(&self) -> ::windows::core::Result<u32>;
fn SetOutputWidth(&self, columns: u32) -> ::windows::core::Result<()>;
fn GetOutputLinePrefix(&self, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefix(&self, prefix: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetIdentity(&self, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentity(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacks(&self) -> ::windows::core::Result<IDebugEventCallbacks>;
fn SetEventCallbacks(&self, callbacks: ::core::option::Option<&IDebugEventCallbacks>) -> ::windows::core::Result<()>;
fn FlushCallbacks(&self) -> ::windows::core::Result<()>;
fn WriteDumpFile2(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFile(&self, infofile: &::windows::core::PCSTR, r#type: u32) -> ::windows::core::Result<()>;
fn EndProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn WaitForProcessServerEnd(&self, timeout: u32) -> ::windows::core::Result<()>;
fn IsKernelDebuggerEnabled(&self) -> ::windows::core::Result<()>;
fn TerminateCurrentProcess(&self) -> ::windows::core::Result<()>;
fn DetachCurrentProcess(&self) -> ::windows::core::Result<()>;
fn AbandonCurrentProcess(&self) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableNameWide(&self, server: u64, exename: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn CreateProcessWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttachWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn OpenDumpFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64) -> ::windows::core::Result<()>;
fn WriteDumpFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64, qualifier: u32, formatflags: u32, comment: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64, r#type: u32) -> ::windows::core::Result<()>;
fn GetNumberDumpFiles(&self) -> ::windows::core::Result<u32>;
fn GetDumpFile(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::Result<()>;
fn GetDumpFileWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::Result<()>;
fn AttachKernelWide(&self, flags: u32, connectoptions: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptionsWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptionsWide(&self, options: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn StartProcessServerWide(&self, flags: u32, options: &::windows::core::PCWSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServerWide(&self, remoteoptions: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn StartServerWide(&self, options: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputServersWide(&self, outputcontrol: u32, machine: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetOutputCallbacksWide(&self) -> ::windows::core::Result<IDebugOutputCallbacksWide>;
fn SetOutputCallbacksWide(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacksWide>) -> ::windows::core::Result<()>;
fn GetOutputLinePrefixWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefixWide(&self, prefix: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetIdentityWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentityWide(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacksWide(&self) -> ::windows::core::Result<IDebugEventCallbacksWide>;
fn SetEventCallbacksWide(&self, callbacks: ::core::option::Option<&IDebugEventCallbacksWide>) -> ::windows::core::Result<()>;
fn CreateProcess2(&self, server: u64, commandline: &::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCSTR, environment: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn CreateProcess2Wide(&self, server: u64, commandline: &::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCWSTR, environment: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach2(&self, server: u64, commandline: &::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCSTR, environment: &::windows::core::PCSTR, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach2Wide(&self, server: u64, commandline: &::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCWSTR, environment: &::windows::core::PCWSTR, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn PushOutputLinePrefix(&self, newprefix: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn PushOutputLinePrefixWide(&self, newprefix: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn PopOutputLinePrefix(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetNumberInputCallbacks(&self) -> ::windows::core::Result<u32>;
fn GetNumberOutputCallbacks(&self) -> ::windows::core::Result<u32>;
fn GetNumberEventCallbacks(&self, eventflags: u32) -> ::windows::core::Result<u32>;
fn GetQuitLockString(&self, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn SetQuitLockString(&self, string: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetQuitLockStringWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn SetQuitLockStringWide(&self, string: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetEventContextCallbacks(&self, callbacks: ::core::option::Option<&IDebugEventContextCallbacks>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugClient6 {}
impl IDebugClient6_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>() -> IDebugClient6_Vtbl {
unsafe extern "system" fn AttachKernel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernel(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptions(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptions(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServer(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServer(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisconnectProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessSystemIds(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&actualcount)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableName(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescription(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn AttachProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachProcess(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessA(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn GetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFile(::core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, historylimit: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConnectSession(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServer(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServers(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateProcesses().into()
}
unsafe extern "system" fn DetachProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachProcesses().into()
}
unsafe extern "system" fn EndSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSession(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExitCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(code, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DispatchCallbacks(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitDispatch(::windows::core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateClient() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(client, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOtherOutputMask(::windows::core::from_raw_borrowed(&client)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOtherOutputMask(::windows::core::from_raw_borrowed(&client), ::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputWidth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(columns, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputWidth(::core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefix(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefix(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentity(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentity(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FlushCallbacks().into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile2(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, infofile: ::windows::core::PCSTR, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFile(::core::mem::transmute(&infofile), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForProcessServerEnd(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsKernelDebuggerEnabled().into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateCurrentProcess().into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachCurrentProcess().into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AbandonCurrentProcess().into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCWSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableNameWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescriptionWide(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn CreateProcessWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttachWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn OpenDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle)).into()
}
unsafe extern "system" fn WriteDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64, qualifier: u32, formatflags: u32, comment: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetNumberDumpFiles<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberDumpFiles() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDumpFile(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDumpFileWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn AttachKernelWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernelWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptionsWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptionsWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptionsWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptionsWide(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCWSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServerWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCWSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServerWide(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServerWide(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServersWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServersWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOutputCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacksWide() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacksWide(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefixWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefixWide(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentityWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentityWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentityWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentityWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacksWide() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacksWide(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn CreateProcess2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCSTR, environment: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcess2(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment)).into()
}
unsafe extern "system" fn CreateProcess2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCWSTR, environment: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcess2Wide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment)).into()
}
unsafe extern "system" fn CreateProcessAndAttach2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCSTR, environment: ::windows::core::PCSTR, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach2(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCWSTR, environment: ::windows::core::PCWSTR, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach2Wide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn PushOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newprefix: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PushOutputLinePrefix(::core::mem::transmute(&newprefix)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PushOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newprefix: ::windows::core::PCWSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PushOutputLinePrefixWide(::core::mem::transmute(&newprefix)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PopOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PopOutputLinePrefix(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetNumberInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, eventflags: u32, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberEventCallbacks(::core::mem::transmute_copy(&eventflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetQuitLockString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetQuitLockString(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn SetQuitLockString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, string: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetQuitLockString(::core::mem::transmute(&string)).into()
}
unsafe extern "system" fn GetQuitLockStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetQuitLockStringWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn SetQuitLockStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, string: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetQuitLockStringWide(::core::mem::transmute(&string)).into()
}
unsafe extern "system" fn SetEventContextCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventContextCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, Impl, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, Impl, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, Impl, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, Impl, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, Impl, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, Impl, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, Impl, OFFSET>,
AttachProcess: AttachProcess::<Identity, Impl, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, Impl, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, Impl, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, Impl, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, Impl, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, Impl, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, Impl, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, Impl, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, Impl, OFFSET>,
ConnectSession: ConnectSession::<Identity, Impl, OFFSET>,
StartServer: StartServer::<Identity, Impl, OFFSET>,
OutputServers: OutputServers::<Identity, Impl, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, Impl, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, Impl, OFFSET>,
EndSession: EndSession::<Identity, Impl, OFFSET>,
GetExitCode: GetExitCode::<Identity, Impl, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, Impl, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, Impl, OFFSET>,
CreateClient: CreateClient::<Identity, Impl, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, Impl, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, Impl, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, Impl, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, Impl, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, Impl, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, Impl, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, Impl, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, Impl, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, Impl, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, Impl, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, Impl, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, Impl, OFFSET>,
GetIdentity: GetIdentity::<Identity, Impl, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, Impl, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, Impl, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, Impl, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, Impl, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, Impl, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, Impl, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, Impl, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, Impl, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, Impl, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, Impl, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, Impl, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, Impl, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, Impl, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, Impl, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, Impl, OFFSET>,
OpenDumpFileWide: OpenDumpFileWide::<Identity, Impl, OFFSET>,
WriteDumpFileWide: WriteDumpFileWide::<Identity, Impl, OFFSET>,
AddDumpInformationFileWide: AddDumpInformationFileWide::<Identity, Impl, OFFSET>,
GetNumberDumpFiles: GetNumberDumpFiles::<Identity, Impl, OFFSET>,
GetDumpFile: GetDumpFile::<Identity, Impl, OFFSET>,
GetDumpFileWide: GetDumpFileWide::<Identity, Impl, OFFSET>,
AttachKernelWide: AttachKernelWide::<Identity, Impl, OFFSET>,
GetKernelConnectionOptionsWide: GetKernelConnectionOptionsWide::<Identity, Impl, OFFSET>,
SetKernelConnectionOptionsWide: SetKernelConnectionOptionsWide::<Identity, Impl, OFFSET>,
StartProcessServerWide: StartProcessServerWide::<Identity, Impl, OFFSET>,
ConnectProcessServerWide: ConnectProcessServerWide::<Identity, Impl, OFFSET>,
StartServerWide: StartServerWide::<Identity, Impl, OFFSET>,
OutputServersWide: OutputServersWide::<Identity, Impl, OFFSET>,
GetOutputCallbacksWide: GetOutputCallbacksWide::<Identity, Impl, OFFSET>,
SetOutputCallbacksWide: SetOutputCallbacksWide::<Identity, Impl, OFFSET>,
GetOutputLinePrefixWide: GetOutputLinePrefixWide::<Identity, Impl, OFFSET>,
SetOutputLinePrefixWide: SetOutputLinePrefixWide::<Identity, Impl, OFFSET>,
GetIdentityWide: GetIdentityWide::<Identity, Impl, OFFSET>,
OutputIdentityWide: OutputIdentityWide::<Identity, Impl, OFFSET>,
GetEventCallbacksWide: GetEventCallbacksWide::<Identity, Impl, OFFSET>,
SetEventCallbacksWide: SetEventCallbacksWide::<Identity, Impl, OFFSET>,
CreateProcess2: CreateProcess2::<Identity, Impl, OFFSET>,
CreateProcess2Wide: CreateProcess2Wide::<Identity, Impl, OFFSET>,
CreateProcessAndAttach2: CreateProcessAndAttach2::<Identity, Impl, OFFSET>,
CreateProcessAndAttach2Wide: CreateProcessAndAttach2Wide::<Identity, Impl, OFFSET>,
PushOutputLinePrefix: PushOutputLinePrefix::<Identity, Impl, OFFSET>,
PushOutputLinePrefixWide: PushOutputLinePrefixWide::<Identity, Impl, OFFSET>,
PopOutputLinePrefix: PopOutputLinePrefix::<Identity, Impl, OFFSET>,
GetNumberInputCallbacks: GetNumberInputCallbacks::<Identity, Impl, OFFSET>,
GetNumberOutputCallbacks: GetNumberOutputCallbacks::<Identity, Impl, OFFSET>,
GetNumberEventCallbacks: GetNumberEventCallbacks::<Identity, Impl, OFFSET>,
GetQuitLockString: GetQuitLockString::<Identity, Impl, OFFSET>,
SetQuitLockString: SetQuitLockString::<Identity, Impl, OFFSET>,
GetQuitLockStringWide: GetQuitLockStringWide::<Identity, Impl, OFFSET>,
SetQuitLockStringWide: SetQuitLockStringWide::<Identity, Impl, OFFSET>,
SetEventContextCallbacks: SetEventContextCallbacks::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugClient6 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugClient7_Impl: Sized {
fn AttachKernel(&self, flags: u32, connectoptions: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptions(&self, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptions(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn StartProcessServer(&self, flags: u32, options: &::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServer(&self, remoteoptions: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn DisconnectProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIds(&self, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableName(&self, server: u64, exename: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn AttachProcess(&self, server: u64, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessA(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn GetProcessOptions(&self) -> ::windows::core::Result<u32>;
fn AddProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn OpenDumpFile(&self, dumpfile: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WriteDumpFile(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32) -> ::windows::core::Result<()>;
fn ConnectSession(&self, flags: u32, historylimit: u32) -> ::windows::core::Result<()>;
fn StartServer(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputServers(&self, outputcontrol: u32, machine: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn TerminateProcesses(&self) -> ::windows::core::Result<()>;
fn DetachProcesses(&self) -> ::windows::core::Result<()>;
fn EndSession(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetExitCode(&self) -> ::windows::core::Result<u32>;
fn DispatchCallbacks(&self, timeout: u32) -> ::windows::core::Result<()>;
fn ExitDispatch(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<()>;
fn CreateClient(&self) -> ::windows::core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> ::windows::core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: ::core::option::Option<&IDebugInputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputCallbacks(&self) -> ::windows::core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputMask(&self) -> ::windows::core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn GetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<u32>;
fn SetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>, mask: u32) -> ::windows::core::Result<()>;
fn GetOutputWidth(&self) -> ::windows::core::Result<u32>;
fn SetOutputWidth(&self, columns: u32) -> ::windows::core::Result<()>;
fn GetOutputLinePrefix(&self, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefix(&self, prefix: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetIdentity(&self, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentity(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacks(&self) -> ::windows::core::Result<IDebugEventCallbacks>;
fn SetEventCallbacks(&self, callbacks: ::core::option::Option<&IDebugEventCallbacks>) -> ::windows::core::Result<()>;
fn FlushCallbacks(&self) -> ::windows::core::Result<()>;
fn WriteDumpFile2(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFile(&self, infofile: &::windows::core::PCSTR, r#type: u32) -> ::windows::core::Result<()>;
fn EndProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn WaitForProcessServerEnd(&self, timeout: u32) -> ::windows::core::Result<()>;
fn IsKernelDebuggerEnabled(&self) -> ::windows::core::Result<()>;
fn TerminateCurrentProcess(&self) -> ::windows::core::Result<()>;
fn DetachCurrentProcess(&self) -> ::windows::core::Result<()>;
fn AbandonCurrentProcess(&self) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableNameWide(&self, server: u64, exename: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn CreateProcessWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttachWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn OpenDumpFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64) -> ::windows::core::Result<()>;
fn WriteDumpFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64, qualifier: u32, formatflags: u32, comment: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64, r#type: u32) -> ::windows::core::Result<()>;
fn GetNumberDumpFiles(&self) -> ::windows::core::Result<u32>;
fn GetDumpFile(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::Result<()>;
fn GetDumpFileWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::Result<()>;
fn AttachKernelWide(&self, flags: u32, connectoptions: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptionsWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptionsWide(&self, options: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn StartProcessServerWide(&self, flags: u32, options: &::windows::core::PCWSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServerWide(&self, remoteoptions: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn StartServerWide(&self, options: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputServersWide(&self, outputcontrol: u32, machine: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetOutputCallbacksWide(&self) -> ::windows::core::Result<IDebugOutputCallbacksWide>;
fn SetOutputCallbacksWide(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacksWide>) -> ::windows::core::Result<()>;
fn GetOutputLinePrefixWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefixWide(&self, prefix: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetIdentityWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentityWide(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacksWide(&self) -> ::windows::core::Result<IDebugEventCallbacksWide>;
fn SetEventCallbacksWide(&self, callbacks: ::core::option::Option<&IDebugEventCallbacksWide>) -> ::windows::core::Result<()>;
fn CreateProcess2(&self, server: u64, commandline: &::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCSTR, environment: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn CreateProcess2Wide(&self, server: u64, commandline: &::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCWSTR, environment: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach2(&self, server: u64, commandline: &::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCSTR, environment: &::windows::core::PCSTR, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach2Wide(&self, server: u64, commandline: &::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCWSTR, environment: &::windows::core::PCWSTR, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn PushOutputLinePrefix(&self, newprefix: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn PushOutputLinePrefixWide(&self, newprefix: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn PopOutputLinePrefix(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetNumberInputCallbacks(&self) -> ::windows::core::Result<u32>;
fn GetNumberOutputCallbacks(&self) -> ::windows::core::Result<u32>;
fn GetNumberEventCallbacks(&self, eventflags: u32) -> ::windows::core::Result<u32>;
fn GetQuitLockString(&self, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn SetQuitLockString(&self, string: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetQuitLockStringWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn SetQuitLockStringWide(&self, string: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetEventContextCallbacks(&self, callbacks: ::core::option::Option<&IDebugEventContextCallbacks>) -> ::windows::core::Result<()>;
fn SetClientContext(&self, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugClient7 {}
impl IDebugClient7_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>() -> IDebugClient7_Vtbl {
unsafe extern "system" fn AttachKernel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernel(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptions(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptions(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServer(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServer(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisconnectProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessSystemIds(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&actualcount)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableName(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescription(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn AttachProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachProcess(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessA(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn GetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFile(::core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, historylimit: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConnectSession(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServer(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServers(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateProcesses().into()
}
unsafe extern "system" fn DetachProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachProcesses().into()
}
unsafe extern "system" fn EndSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSession(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExitCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(code, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DispatchCallbacks(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitDispatch(::windows::core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateClient() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(client, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOtherOutputMask(::windows::core::from_raw_borrowed(&client)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOtherOutputMask(::windows::core::from_raw_borrowed(&client), ::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputWidth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(columns, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputWidth(::core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefix(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefix(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentity(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentity(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FlushCallbacks().into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile2(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, infofile: ::windows::core::PCSTR, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFile(::core::mem::transmute(&infofile), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForProcessServerEnd(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsKernelDebuggerEnabled().into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateCurrentProcess().into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachCurrentProcess().into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AbandonCurrentProcess().into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCWSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableNameWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescriptionWide(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn CreateProcessWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttachWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn OpenDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle)).into()
}
unsafe extern "system" fn WriteDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64, qualifier: u32, formatflags: u32, comment: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetNumberDumpFiles<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberDumpFiles() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDumpFile(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDumpFileWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn AttachKernelWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernelWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptionsWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptionsWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptionsWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptionsWide(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCWSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServerWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCWSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServerWide(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServerWide(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServersWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServersWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOutputCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacksWide() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacksWide(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefixWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefixWide(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentityWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentityWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentityWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentityWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacksWide() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacksWide(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn CreateProcess2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCSTR, environment: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcess2(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment)).into()
}
unsafe extern "system" fn CreateProcess2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCWSTR, environment: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcess2Wide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment)).into()
}
unsafe extern "system" fn CreateProcessAndAttach2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCSTR, environment: ::windows::core::PCSTR, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach2(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCWSTR, environment: ::windows::core::PCWSTR, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach2Wide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn PushOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newprefix: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PushOutputLinePrefix(::core::mem::transmute(&newprefix)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PushOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newprefix: ::windows::core::PCWSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PushOutputLinePrefixWide(::core::mem::transmute(&newprefix)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PopOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PopOutputLinePrefix(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetNumberInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, eventflags: u32, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberEventCallbacks(::core::mem::transmute_copy(&eventflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetQuitLockString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetQuitLockString(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn SetQuitLockString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, string: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetQuitLockString(::core::mem::transmute(&string)).into()
}
unsafe extern "system" fn GetQuitLockStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetQuitLockStringWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn SetQuitLockStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, string: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetQuitLockStringWide(::core::mem::transmute(&string)).into()
}
unsafe extern "system" fn SetEventContextCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventContextCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn SetClientContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetClientContext(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, Impl, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, Impl, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, Impl, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, Impl, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, Impl, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, Impl, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, Impl, OFFSET>,
AttachProcess: AttachProcess::<Identity, Impl, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, Impl, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, Impl, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, Impl, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, Impl, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, Impl, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, Impl, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, Impl, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, Impl, OFFSET>,
ConnectSession: ConnectSession::<Identity, Impl, OFFSET>,
StartServer: StartServer::<Identity, Impl, OFFSET>,
OutputServers: OutputServers::<Identity, Impl, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, Impl, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, Impl, OFFSET>,
EndSession: EndSession::<Identity, Impl, OFFSET>,
GetExitCode: GetExitCode::<Identity, Impl, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, Impl, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, Impl, OFFSET>,
CreateClient: CreateClient::<Identity, Impl, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, Impl, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, Impl, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, Impl, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, Impl, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, Impl, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, Impl, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, Impl, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, Impl, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, Impl, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, Impl, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, Impl, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, Impl, OFFSET>,
GetIdentity: GetIdentity::<Identity, Impl, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, Impl, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, Impl, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, Impl, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, Impl, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, Impl, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, Impl, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, Impl, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, Impl, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, Impl, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, Impl, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, Impl, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, Impl, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, Impl, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, Impl, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, Impl, OFFSET>,
OpenDumpFileWide: OpenDumpFileWide::<Identity, Impl, OFFSET>,
WriteDumpFileWide: WriteDumpFileWide::<Identity, Impl, OFFSET>,
AddDumpInformationFileWide: AddDumpInformationFileWide::<Identity, Impl, OFFSET>,
GetNumberDumpFiles: GetNumberDumpFiles::<Identity, Impl, OFFSET>,
GetDumpFile: GetDumpFile::<Identity, Impl, OFFSET>,
GetDumpFileWide: GetDumpFileWide::<Identity, Impl, OFFSET>,
AttachKernelWide: AttachKernelWide::<Identity, Impl, OFFSET>,
GetKernelConnectionOptionsWide: GetKernelConnectionOptionsWide::<Identity, Impl, OFFSET>,
SetKernelConnectionOptionsWide: SetKernelConnectionOptionsWide::<Identity, Impl, OFFSET>,
StartProcessServerWide: StartProcessServerWide::<Identity, Impl, OFFSET>,
ConnectProcessServerWide: ConnectProcessServerWide::<Identity, Impl, OFFSET>,
StartServerWide: StartServerWide::<Identity, Impl, OFFSET>,
OutputServersWide: OutputServersWide::<Identity, Impl, OFFSET>,
GetOutputCallbacksWide: GetOutputCallbacksWide::<Identity, Impl, OFFSET>,
SetOutputCallbacksWide: SetOutputCallbacksWide::<Identity, Impl, OFFSET>,
GetOutputLinePrefixWide: GetOutputLinePrefixWide::<Identity, Impl, OFFSET>,
SetOutputLinePrefixWide: SetOutputLinePrefixWide::<Identity, Impl, OFFSET>,
GetIdentityWide: GetIdentityWide::<Identity, Impl, OFFSET>,
OutputIdentityWide: OutputIdentityWide::<Identity, Impl, OFFSET>,
GetEventCallbacksWide: GetEventCallbacksWide::<Identity, Impl, OFFSET>,
SetEventCallbacksWide: SetEventCallbacksWide::<Identity, Impl, OFFSET>,
CreateProcess2: CreateProcess2::<Identity, Impl, OFFSET>,
CreateProcess2Wide: CreateProcess2Wide::<Identity, Impl, OFFSET>,
CreateProcessAndAttach2: CreateProcessAndAttach2::<Identity, Impl, OFFSET>,
CreateProcessAndAttach2Wide: CreateProcessAndAttach2Wide::<Identity, Impl, OFFSET>,
PushOutputLinePrefix: PushOutputLinePrefix::<Identity, Impl, OFFSET>,
PushOutputLinePrefixWide: PushOutputLinePrefixWide::<Identity, Impl, OFFSET>,
PopOutputLinePrefix: PopOutputLinePrefix::<Identity, Impl, OFFSET>,
GetNumberInputCallbacks: GetNumberInputCallbacks::<Identity, Impl, OFFSET>,
GetNumberOutputCallbacks: GetNumberOutputCallbacks::<Identity, Impl, OFFSET>,
GetNumberEventCallbacks: GetNumberEventCallbacks::<Identity, Impl, OFFSET>,
GetQuitLockString: GetQuitLockString::<Identity, Impl, OFFSET>,
SetQuitLockString: SetQuitLockString::<Identity, Impl, OFFSET>,
GetQuitLockStringWide: GetQuitLockStringWide::<Identity, Impl, OFFSET>,
SetQuitLockStringWide: SetQuitLockStringWide::<Identity, Impl, OFFSET>,
SetEventContextCallbacks: SetEventContextCallbacks::<Identity, Impl, OFFSET>,
SetClientContext: SetClientContext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugClient7 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugClient8_Impl: Sized {
fn AttachKernel(&self, flags: u32, connectoptions: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptions(&self, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptions(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn StartProcessServer(&self, flags: u32, options: &::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServer(&self, remoteoptions: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn DisconnectProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIds(&self, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableName(&self, server: u64, exename: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescription(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn AttachProcess(&self, server: u64, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessA(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach(&self, server: u64, commandline: &::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn GetProcessOptions(&self) -> ::windows::core::Result<u32>;
fn AddProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetProcessOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn OpenDumpFile(&self, dumpfile: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WriteDumpFile(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32) -> ::windows::core::Result<()>;
fn ConnectSession(&self, flags: u32, historylimit: u32) -> ::windows::core::Result<()>;
fn StartServer(&self, options: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputServers(&self, outputcontrol: u32, machine: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn TerminateProcesses(&self) -> ::windows::core::Result<()>;
fn DetachProcesses(&self) -> ::windows::core::Result<()>;
fn EndSession(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetExitCode(&self) -> ::windows::core::Result<u32>;
fn DispatchCallbacks(&self, timeout: u32) -> ::windows::core::Result<()>;
fn ExitDispatch(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<()>;
fn CreateClient(&self) -> ::windows::core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> ::windows::core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: ::core::option::Option<&IDebugInputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputCallbacks(&self) -> ::windows::core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacks>) -> ::windows::core::Result<()>;
fn GetOutputMask(&self) -> ::windows::core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn GetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>) -> ::windows::core::Result<u32>;
fn SetOtherOutputMask(&self, client: ::core::option::Option<&IDebugClient>, mask: u32) -> ::windows::core::Result<()>;
fn GetOutputWidth(&self) -> ::windows::core::Result<u32>;
fn SetOutputWidth(&self, columns: u32) -> ::windows::core::Result<()>;
fn GetOutputLinePrefix(&self, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefix(&self, prefix: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetIdentity(&self, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentity(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacks(&self) -> ::windows::core::Result<IDebugEventCallbacks>;
fn SetEventCallbacks(&self, callbacks: ::core::option::Option<&IDebugEventCallbacks>) -> ::windows::core::Result<()>;
fn FlushCallbacks(&self) -> ::windows::core::Result<()>;
fn WriteDumpFile2(&self, dumpfile: &::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFile(&self, infofile: &::windows::core::PCSTR, r#type: u32) -> ::windows::core::Result<()>;
fn EndProcessServer(&self, server: u64) -> ::windows::core::Result<()>;
fn WaitForProcessServerEnd(&self, timeout: u32) -> ::windows::core::Result<()>;
fn IsKernelDebuggerEnabled(&self) -> ::windows::core::Result<()>;
fn TerminateCurrentProcess(&self) -> ::windows::core::Result<()>;
fn DetachCurrentProcess(&self) -> ::windows::core::Result<()>;
fn AbandonCurrentProcess(&self) -> ::windows::core::Result<()>;
fn GetRunningProcessSystemIdByExecutableNameWide(&self, server: u64, exename: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<u32>;
fn GetRunningProcessDescriptionWide(&self, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::Result<()>;
fn CreateProcessWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttachWide(&self, server: u64, commandline: &::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn OpenDumpFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64) -> ::windows::core::Result<()>;
fn WriteDumpFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64, qualifier: u32, formatflags: u32, comment: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AddDumpInformationFileWide(&self, filename: &::windows::core::PCWSTR, filehandle: u64, r#type: u32) -> ::windows::core::Result<()>;
fn GetNumberDumpFiles(&self) -> ::windows::core::Result<u32>;
fn GetDumpFile(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::Result<()>;
fn GetDumpFileWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::Result<()>;
fn AttachKernelWide(&self, flags: u32, connectoptions: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetKernelConnectionOptionsWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::Result<()>;
fn SetKernelConnectionOptionsWide(&self, options: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn StartProcessServerWide(&self, flags: u32, options: &::windows::core::PCWSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
fn ConnectProcessServerWide(&self, remoteoptions: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn StartServerWide(&self, options: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputServersWide(&self, outputcontrol: u32, machine: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetOutputCallbacksWide(&self) -> ::windows::core::Result<IDebugOutputCallbacksWide>;
fn SetOutputCallbacksWide(&self, callbacks: ::core::option::Option<&IDebugOutputCallbacksWide>) -> ::windows::core::Result<()>;
fn GetOutputLinePrefixWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::Result<()>;
fn SetOutputLinePrefixWide(&self, prefix: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetIdentityWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::Result<()>;
fn OutputIdentityWide(&self, outputcontrol: u32, flags: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetEventCallbacksWide(&self) -> ::windows::core::Result<IDebugEventCallbacksWide>;
fn SetEventCallbacksWide(&self, callbacks: ::core::option::Option<&IDebugEventCallbacksWide>) -> ::windows::core::Result<()>;
fn CreateProcess2(&self, server: u64, commandline: &::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCSTR, environment: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn CreateProcess2Wide(&self, server: u64, commandline: &::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCWSTR, environment: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach2(&self, server: u64, commandline: &::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCSTR, environment: &::windows::core::PCSTR, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn CreateProcessAndAttach2Wide(&self, server: u64, commandline: &::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: &::windows::core::PCWSTR, environment: &::windows::core::PCWSTR, processid: u32, attachflags: u32) -> ::windows::core::Result<()>;
fn PushOutputLinePrefix(&self, newprefix: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn PushOutputLinePrefixWide(&self, newprefix: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn PopOutputLinePrefix(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetNumberInputCallbacks(&self) -> ::windows::core::Result<u32>;
fn GetNumberOutputCallbacks(&self) -> ::windows::core::Result<u32>;
fn GetNumberEventCallbacks(&self, eventflags: u32) -> ::windows::core::Result<u32>;
fn GetQuitLockString(&self, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn SetQuitLockString(&self, string: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetQuitLockStringWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn SetQuitLockStringWide(&self, string: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetEventContextCallbacks(&self, callbacks: ::core::option::Option<&IDebugEventContextCallbacks>) -> ::windows::core::Result<()>;
fn SetClientContext(&self, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn OpenDumpFileWide2(&self, filename: &::windows::core::PCWSTR, filehandle: u64, alternatearch: u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugClient8 {}
impl IDebugClient8_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>() -> IDebugClient8_Vtbl {
unsafe extern "system" fn AttachKernel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernel(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptions(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptions(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServer(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServer(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisconnectProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessSystemIds(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&actualcount)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableName(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescription(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn AttachProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachProcess(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessA(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn GetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetProcessOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFile(::core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, historylimit: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConnectSession(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServer(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServers(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateProcesses().into()
}
unsafe extern "system" fn DetachProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachProcesses().into()
}
unsafe extern "system" fn EndSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSession(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExitCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(code, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DispatchCallbacks(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitDispatch(::windows::core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateClient() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(client, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOtherOutputMask(::windows::core::from_raw_borrowed(&client)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, client: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOtherOutputMask(::windows::core::from_raw_borrowed(&client), ::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputWidth() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(columns, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputWidth(::core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefix(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefix(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentity(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentity(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FlushCallbacks().into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dumpfile: ::windows::core::PCSTR, qualifier: u32, formatflags: u32, comment: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFile2(::core::mem::transmute(&dumpfile), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, infofile: ::windows::core::PCSTR, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFile(::core::mem::transmute(&infofile), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndProcessServer(::core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForProcessServerEnd(::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsKernelDebuggerEnabled().into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminateCurrentProcess().into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DetachCurrentProcess().into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AbandonCurrentProcess().into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, exename: ::windows::core::PCWSTR, flags: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRunningProcessSystemIdByExecutableNameWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&exename), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, systemid: u32, flags: u32, exename: ::windows::core::PWSTR, exenamesize: u32, actualexenamesize: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, actualdescriptionsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRunningProcessDescriptionWide(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&systemid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&exename), ::core::mem::transmute_copy(&exenamesize), ::core::mem::transmute_copy(&actualexenamesize), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&actualdescriptionsize)).into()
}
unsafe extern "system" fn CreateProcessWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttachWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&createflags), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn OpenDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle)).into()
}
unsafe extern "system" fn WriteDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64, qualifier: u32, formatflags: u32, comment: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteDumpFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle), ::core::mem::transmute_copy(&qualifier), ::core::mem::transmute_copy(&formatflags), ::core::mem::transmute(&comment)).into()
}
unsafe extern "system" fn AddDumpInformationFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDumpInformationFileWide(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetNumberDumpFiles<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberDumpFiles() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDumpFile(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetDumpFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32, handle: *mut u64, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDumpFileWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn AttachKernelWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, connectoptions: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AttachKernelWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptionsWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, optionssize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKernelConnectionOptionsWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&optionssize)).into()
}
unsafe extern "system" fn SetKernelConnectionOptionsWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKernelConnectionOptionsWide(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, options: ::windows::core::PCWSTR, reserved: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartProcessServerWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&options), ::core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, remoteoptions: ::windows::core::PCWSTR, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ConnectProcessServerWide(::core::mem::transmute(&remoteoptions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartServerWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartServerWide(::core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServersWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, machine: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputServersWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&machine), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOutputCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOutputCallbacksWide() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputCallbacksWide(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOutputLinePrefixWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&prefixsize)).into()
}
unsafe extern "system" fn SetOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prefix: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetOutputLinePrefixWide(::core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentityWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, identitysize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIdentityWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&identitysize)).into()
}
unsafe extern "system" fn OutputIdentityWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputIdentityWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCallbacksWide() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(callbacks, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacksWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventCallbacksWide(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn CreateProcess2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCSTR, environment: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcess2(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment)).into()
}
unsafe extern "system" fn CreateProcess2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCWSTR, environment: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcess2Wide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment)).into()
}
unsafe extern "system" fn CreateProcessAndAttach2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCSTR, environment: ::windows::core::PCSTR, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach2(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, commandline: ::windows::core::PCWSTR, optionsbuffer: *const ::core::ffi::c_void, optionsbuffersize: u32, initialdirectory: ::windows::core::PCWSTR, environment: ::windows::core::PCWSTR, processid: u32, attachflags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessAndAttach2Wide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&commandline), ::core::mem::transmute_copy(&optionsbuffer), ::core::mem::transmute_copy(&optionsbuffersize), ::core::mem::transmute(&initialdirectory), ::core::mem::transmute(&environment), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&attachflags)).into()
}
unsafe extern "system" fn PushOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newprefix: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PushOutputLinePrefix(::core::mem::transmute(&newprefix)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PushOutputLinePrefixWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newprefix: ::windows::core::PCWSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PushOutputLinePrefixWide(::core::mem::transmute(&newprefix)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PopOutputLinePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PopOutputLinePrefix(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetNumberInputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberInputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberOutputCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberOutputCallbacks() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberEventCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, eventflags: u32, count: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberEventCallbacks(::core::mem::transmute_copy(&eventflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetQuitLockString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetQuitLockString(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn SetQuitLockString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, string: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetQuitLockString(::core::mem::transmute(&string)).into()
}
unsafe extern "system" fn GetQuitLockStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetQuitLockStringWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn SetQuitLockStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, string: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetQuitLockStringWide(::core::mem::transmute(&string)).into()
}
unsafe extern "system" fn SetEventContextCallbacks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, callbacks: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventContextCallbacks(::windows::core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn SetClientContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetClientContext(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn OpenDumpFileWide2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugClient8_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::windows::core::PCWSTR, filehandle: u64, alternatearch: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenDumpFileWide2(::core::mem::transmute(&filename), ::core::mem::transmute_copy(&filehandle), ::core::mem::transmute_copy(&alternatearch)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, Impl, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, Impl, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, Impl, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, Impl, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, Impl, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, Impl, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, Impl, OFFSET>,
AttachProcess: AttachProcess::<Identity, Impl, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, Impl, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, Impl, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, Impl, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, Impl, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, Impl, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, Impl, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, Impl, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, Impl, OFFSET>,
ConnectSession: ConnectSession::<Identity, Impl, OFFSET>,
StartServer: StartServer::<Identity, Impl, OFFSET>,
OutputServers: OutputServers::<Identity, Impl, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, Impl, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, Impl, OFFSET>,
EndSession: EndSession::<Identity, Impl, OFFSET>,
GetExitCode: GetExitCode::<Identity, Impl, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, Impl, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, Impl, OFFSET>,
CreateClient: CreateClient::<Identity, Impl, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, Impl, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, Impl, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, Impl, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, Impl, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, Impl, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, Impl, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, Impl, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, Impl, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, Impl, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, Impl, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, Impl, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, Impl, OFFSET>,
GetIdentity: GetIdentity::<Identity, Impl, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, Impl, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, Impl, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, Impl, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, Impl, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, Impl, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, Impl, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, Impl, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, Impl, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, Impl, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, Impl, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, Impl, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, Impl, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, Impl, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, Impl, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, Impl, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, Impl, OFFSET>,
OpenDumpFileWide: OpenDumpFileWide::<Identity, Impl, OFFSET>,
WriteDumpFileWide: WriteDumpFileWide::<Identity, Impl, OFFSET>,
AddDumpInformationFileWide: AddDumpInformationFileWide::<Identity, Impl, OFFSET>,
GetNumberDumpFiles: GetNumberDumpFiles::<Identity, Impl, OFFSET>,
GetDumpFile: GetDumpFile::<Identity, Impl, OFFSET>,
GetDumpFileWide: GetDumpFileWide::<Identity, Impl, OFFSET>,
AttachKernelWide: AttachKernelWide::<Identity, Impl, OFFSET>,
GetKernelConnectionOptionsWide: GetKernelConnectionOptionsWide::<Identity, Impl, OFFSET>,
SetKernelConnectionOptionsWide: SetKernelConnectionOptionsWide::<Identity, Impl, OFFSET>,
StartProcessServerWide: StartProcessServerWide::<Identity, Impl, OFFSET>,
ConnectProcessServerWide: ConnectProcessServerWide::<Identity, Impl, OFFSET>,
StartServerWide: StartServerWide::<Identity, Impl, OFFSET>,
OutputServersWide: OutputServersWide::<Identity, Impl, OFFSET>,
GetOutputCallbacksWide: GetOutputCallbacksWide::<Identity, Impl, OFFSET>,
SetOutputCallbacksWide: SetOutputCallbacksWide::<Identity, Impl, OFFSET>,
GetOutputLinePrefixWide: GetOutputLinePrefixWide::<Identity, Impl, OFFSET>,
SetOutputLinePrefixWide: SetOutputLinePrefixWide::<Identity, Impl, OFFSET>,
GetIdentityWide: GetIdentityWide::<Identity, Impl, OFFSET>,
OutputIdentityWide: OutputIdentityWide::<Identity, Impl, OFFSET>,
GetEventCallbacksWide: GetEventCallbacksWide::<Identity, Impl, OFFSET>,
SetEventCallbacksWide: SetEventCallbacksWide::<Identity, Impl, OFFSET>,
CreateProcess2: CreateProcess2::<Identity, Impl, OFFSET>,
CreateProcess2Wide: CreateProcess2Wide::<Identity, Impl, OFFSET>,
CreateProcessAndAttach2: CreateProcessAndAttach2::<Identity, Impl, OFFSET>,
CreateProcessAndAttach2Wide: CreateProcessAndAttach2Wide::<Identity, Impl, OFFSET>,
PushOutputLinePrefix: PushOutputLinePrefix::<Identity, Impl, OFFSET>,
PushOutputLinePrefixWide: PushOutputLinePrefixWide::<Identity, Impl, OFFSET>,
PopOutputLinePrefix: PopOutputLinePrefix::<Identity, Impl, OFFSET>,
GetNumberInputCallbacks: GetNumberInputCallbacks::<Identity, Impl, OFFSET>,
GetNumberOutputCallbacks: GetNumberOutputCallbacks::<Identity, Impl, OFFSET>,
GetNumberEventCallbacks: GetNumberEventCallbacks::<Identity, Impl, OFFSET>,
GetQuitLockString: GetQuitLockString::<Identity, Impl, OFFSET>,
SetQuitLockString: SetQuitLockString::<Identity, Impl, OFFSET>,
GetQuitLockStringWide: GetQuitLockStringWide::<Identity, Impl, OFFSET>,
SetQuitLockStringWide: SetQuitLockStringWide::<Identity, Impl, OFFSET>,
SetEventContextCallbacks: SetEventContextCallbacks::<Identity, Impl, OFFSET>,
SetClientContext: SetClientContext::<Identity, Impl, OFFSET>,
OpenDumpFileWide2: OpenDumpFileWide2::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugClient8 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugCodeContext_Impl: Sized {
fn GetDocumentContext(&self) -> ::windows::core::Result<IDebugDocumentContext>;
fn SetBreakPoint(&self, bps: BREAKPOINT_STATE) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugCodeContext {}
impl IDebugCodeContext_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugCodeContext_Impl, const OFFSET: isize>() -> IDebugCodeContext_Vtbl {
unsafe extern "system" fn GetDocumentContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugCodeContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppsc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDocumentContext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugCodeContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bps: BREAKPOINT_STATE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBreakPoint(::core::mem::transmute_copy(&bps)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDocumentContext: GetDocumentContext::<Identity, Impl, OFFSET>,
SetBreakPoint: SetBreakPoint::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugCodeContext as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub trait IDebugControl_Impl: Sized {
fn GetInterrupt(&self) -> ::windows::core::Result<()>;
fn SetInterrupt(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetInterruptTimeout(&self) -> ::windows::core::Result<u32>;
fn SetInterruptTimeout(&self, seconds: u32) -> ::windows::core::Result<()>;
fn GetLogFile(&self, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OpenLogFile(&self, file: &::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn CloseLogFile(&self) -> ::windows::core::Result<()>;
fn GetLogMask(&self) -> ::windows::core::Result<u32>;
fn SetLogMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn Input(&self, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::Result<()>;
fn ReturnInput(&self, buffer: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn Output(&self, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputVaList(&self, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn ControlledOutput(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn ControlledOutputVaList(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn OutputPrompt(&self, outputcontrol: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputPromptVaList(&self, outputcontrol: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn GetPromptText(&self, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn OutputCurrentState(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn OutputVersionInformation(&self, outputcontrol: u32) -> ::windows::core::Result<()>;
fn GetNotifyEventHandle(&self) -> ::windows::core::Result<u64>;
fn SetNotifyEventHandle(&self, handle: u64) -> ::windows::core::Result<()>;
fn Assemble(&self, offset: u64, instr: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn Disassemble(&self, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::Result<()>;
fn GetDisassembleEffectiveOffset(&self) -> ::windows::core::Result<u64>;
fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows::core::Result<u64>;
fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::Result<()>;
fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows::core::Result<u64>;
fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn GetReturnOffset(&self) -> ::windows::core::Result<u64>;
fn OutputStackTrace(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetDebuggeeType(&self, class: *mut u32, qualifier: *mut u32) -> ::windows::core::Result<()>;
fn GetActualProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetExecutingProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetPossibleExecutingProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberProcessors(&self) -> ::windows::core::Result<u32>;
fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::Result<()>;
fn GetPageSize(&self) -> ::windows::core::Result<u32>;
fn IsPointer64Bit(&self) -> ::windows::core::Result<()>;
fn ReadBugCheckData(&self, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::Result<()>;
fn GetNumberSupportedProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetSupportedProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetProcessorTypeNames(&self, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetEffectiveProcessorType(&self) -> ::windows::core::Result<u32>;
fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows::core::Result<()>;
fn GetExecutionStatus(&self) -> ::windows::core::Result<u32>;
fn SetExecutionStatus(&self, status: u32) -> ::windows::core::Result<()>;
fn GetCodeLevel(&self) -> ::windows::core::Result<u32>;
fn SetCodeLevel(&self, level: u32) -> ::windows::core::Result<()>;
fn GetEngineOptions(&self) -> ::windows::core::Result<u32>;
fn AddEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetSystemErrorControl(&self, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::Result<()>;
fn SetSystemErrorControl(&self, outputlevel: u32, breaklevel: u32) -> ::windows::core::Result<()>;
fn GetTextMacro(&self, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextMacro(&self, slot: u32, r#macro: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetRadix(&self) -> ::windows::core::Result<u32>;
fn SetRadix(&self, radix: u32) -> ::windows::core::Result<()>;
fn Evaluate(&self, expression: &::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::Result<()>;
fn CoerceValue(&self, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn CoerceValues(&self, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn Execute(&self, outputcontrol: u32, command: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn ExecuteCommandFile(&self, outputcontrol: u32, commandfile: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetNumberBreakpoints(&self) -> ::windows::core::Result<u32>;
fn GetBreakpointByIndex(&self, index: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointById(&self, id: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointParameters(&self, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::Result<()>;
fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn RemoveBreakpoint(&self, bp: ::core::option::Option<&IDebugBreakpoint>) -> ::windows::core::Result<()>;
fn AddExtension(&self, path: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u64>;
fn RemoveExtension(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetExtensionByPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn CallExtension(&self, handle: u64, function: &::windows::core::PCSTR, arguments: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExtensionFunction(&self, handle: u64, funcname: &::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis32(&self, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis64(&self, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::Result<()>;
fn GetNumberEventFilters(&self, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterText(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetEventFilterCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSpecificFilterParameters(&self, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetSpecificFilterParameters(&self, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSpecificFilterArgument(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSpecificFilterArgument(&self, index: u32, argument: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExceptionFilterParameters(&self, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetExceptionFilterParameters(&self, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetExceptionFilterSecondCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetExceptionFilterSecondCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WaitForEvent(&self, flags: u32, timeout: u32) -> ::windows::core::Result<()>;
fn GetLastEventInformation(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl ::windows::core::RuntimeName for IDebugControl {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl IDebugControl_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>() -> IDebugControl_Vtbl {
unsafe extern "system" fn GetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetInterrupt().into()
}
unsafe extern "system" fn SetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterrupt(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInterruptTimeout() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(seconds, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterruptTimeout(::core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn OpenLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile(::core::mem::transmute(&file), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CloseLogFile().into()
}
unsafe extern "system" fn GetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLogMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLogMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Input(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&inputsize)).into()
}
unsafe extern "system" fn ReturnInput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnInput(::core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Output(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVaList(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutput(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn OutputPrompt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPrompt(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPromptText(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn OutputCurrentState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputCurrentState(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVersionInformation(::core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNotifyEventHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNotifyEventHandle(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, instr: ::windows::core::PCSTR, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Assemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute(&instr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Disassemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&disassemblysize), ::core::mem::transmute_copy(&endoffset)).into()
}
unsafe extern "system" fn GetDisassembleEffectiveOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDisassembleEffectiveOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OutputDisassembly(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputDisassemblyLines(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&previouslines), ::core::mem::transmute_copy(&totallines), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offsetline), ::core::mem::transmute_copy(&startoffset), ::core::mem::transmute_copy(&endoffset), ::core::mem::transmute_copy(&lineoffsets)).into()
}
unsafe extern "system" fn GetNearInstruction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNearInstruction(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nearoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStackTrace(::core::mem::transmute_copy(&frameoffset), ::core::mem::transmute_copy(&stackoffset), ::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn GetReturnOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetReturnOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputStackTrace(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetDebuggeeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDebuggeeType(::core::mem::transmute_copy(&class), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetActualProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutingProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberPossibleExecutingProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPossibleExecutingProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetNumberProcessors<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberProcessors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersion(::core::mem::transmute_copy(&platformid), ::core::mem::transmute_copy(&major), ::core::mem::transmute_copy(&minor), ::core::mem::transmute_copy(&servicepackstring), ::core::mem::transmute_copy(&servicepackstringsize), ::core::mem::transmute_copy(&servicepackstringused), ::core::mem::transmute_copy(&servicepacknumber), ::core::mem::transmute_copy(&buildstring), ::core::mem::transmute_copy(&buildstringsize), ::core::mem::transmute_copy(&buildstringused))
.into()
}
unsafe extern "system" fn GetPageSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPageSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsPointer64Bit().into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBugCheckData(::core::mem::transmute_copy(&code), ::core::mem::transmute_copy(&arg1), ::core::mem::transmute_copy(&arg2), ::core::mem::transmute_copy(&arg3), ::core::mem::transmute_copy(&arg4)).into()
}
unsafe extern "system" fn GetNumberSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberSupportedProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSupportedProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetProcessorTypeNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessorTypeNames(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEffectiveProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEffectiveProcessorType(::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutionStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(status, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExecutionStatus(::core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCodeLevel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(level, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCodeLevel(::core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEngineOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&macrosize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, r#macro: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRadix() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(radix, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRadix(::core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Evaluate(::core::mem::transmute(&expression), ::core::mem::transmute_copy(&desiredtype), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&remainderindex)).into()
}
unsafe extern "system" fn CoerceValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValue(::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtype), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn CoerceValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValues(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtypes), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn Execute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, command: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Execute(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&command), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, commandfile: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteCommandFile(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&commandfile), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberBreakpoints() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointById(::core::mem::transmute_copy(&id)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBreakpointParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddBreakpoint(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&desiredid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveBreakpoint(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, flags: u32, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddExtension(::core::mem::transmute(&path), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveExtension(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtensionByPath(::core::mem::transmute(&path)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, function: ::windows::core::PCSTR, arguments: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CallExtension(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&function), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, funcname: ::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtensionFunction(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&funcname), ::core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis32(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis64(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberEventFilters(::core::mem::transmute_copy(&specificevents), ::core::mem::transmute_copy(&specificexceptions), ::core::mem::transmute_copy(&arbitraryexceptions)).into()
}
unsafe extern "system" fn GetEventFilterText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterText(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn GetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&argumentsize)).into()
}
unsafe extern "system" fn SetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, argument: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&codes), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForEvent(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastEventInformation(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&descriptionused)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, Impl, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, Impl, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, Impl, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, Impl, OFFSET>,
GetLogFile: GetLogFile::<Identity, Impl, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, Impl, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, Impl, OFFSET>,
GetLogMask: GetLogMask::<Identity, Impl, OFFSET>,
SetLogMask: SetLogMask::<Identity, Impl, OFFSET>,
Input: Input::<Identity, Impl, OFFSET>,
ReturnInput: ReturnInput::<Identity, Impl, OFFSET>,
Output: Output::<Identity, Impl, OFFSET>,
OutputVaList: OutputVaList::<Identity, Impl, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, Impl, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, Impl, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, Impl, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, Impl, OFFSET>,
GetPromptText: GetPromptText::<Identity, Impl, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, Impl, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, Impl, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, Impl, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, Impl, OFFSET>,
Assemble: Assemble::<Identity, Impl, OFFSET>,
Disassemble: Disassemble::<Identity, Impl, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, Impl, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, Impl, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, Impl, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, Impl, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, Impl, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, Impl, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, Impl, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, Impl, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, Impl, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, Impl, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, Impl, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, Impl, OFFSET>,
GetPageSize: GetPageSize::<Identity, Impl, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, Impl, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, Impl, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, Impl, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, Impl, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, Impl, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, Impl, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, Impl, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, Impl, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, Impl, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, Impl, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, Impl, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, Impl, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, Impl, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, Impl, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, Impl, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, Impl, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, Impl, OFFSET>,
GetRadix: GetRadix::<Identity, Impl, OFFSET>,
SetRadix: SetRadix::<Identity, Impl, OFFSET>,
Evaluate: Evaluate::<Identity, Impl, OFFSET>,
CoerceValue: CoerceValue::<Identity, Impl, OFFSET>,
CoerceValues: CoerceValues::<Identity, Impl, OFFSET>,
Execute: Execute::<Identity, Impl, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, Impl, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, Impl, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, Impl, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, Impl, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, Impl, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, Impl, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, Impl, OFFSET>,
AddExtension: AddExtension::<Identity, Impl, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, Impl, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, Impl, OFFSET>,
CallExtension: CallExtension::<Identity, Impl, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, Impl, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, Impl, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, Impl, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, Impl, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, Impl, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, Impl, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, Impl, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, Impl, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, Impl, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, Impl, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, Impl, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, Impl, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugControl as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub trait IDebugControl2_Impl: Sized {
fn GetInterrupt(&self) -> ::windows::core::Result<()>;
fn SetInterrupt(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetInterruptTimeout(&self) -> ::windows::core::Result<u32>;
fn SetInterruptTimeout(&self, seconds: u32) -> ::windows::core::Result<()>;
fn GetLogFile(&self, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OpenLogFile(&self, file: &::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn CloseLogFile(&self) -> ::windows::core::Result<()>;
fn GetLogMask(&self) -> ::windows::core::Result<u32>;
fn SetLogMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn Input(&self, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::Result<()>;
fn ReturnInput(&self, buffer: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn Output(&self, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputVaList(&self, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn ControlledOutput(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn ControlledOutputVaList(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn OutputPrompt(&self, outputcontrol: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputPromptVaList(&self, outputcontrol: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn GetPromptText(&self, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn OutputCurrentState(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn OutputVersionInformation(&self, outputcontrol: u32) -> ::windows::core::Result<()>;
fn GetNotifyEventHandle(&self) -> ::windows::core::Result<u64>;
fn SetNotifyEventHandle(&self, handle: u64) -> ::windows::core::Result<()>;
fn Assemble(&self, offset: u64, instr: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn Disassemble(&self, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::Result<()>;
fn GetDisassembleEffectiveOffset(&self) -> ::windows::core::Result<u64>;
fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows::core::Result<u64>;
fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::Result<()>;
fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows::core::Result<u64>;
fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn GetReturnOffset(&self) -> ::windows::core::Result<u64>;
fn OutputStackTrace(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetDebuggeeType(&self, class: *mut u32, qualifier: *mut u32) -> ::windows::core::Result<()>;
fn GetActualProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetExecutingProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetPossibleExecutingProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberProcessors(&self) -> ::windows::core::Result<u32>;
fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::Result<()>;
fn GetPageSize(&self) -> ::windows::core::Result<u32>;
fn IsPointer64Bit(&self) -> ::windows::core::Result<()>;
fn ReadBugCheckData(&self, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::Result<()>;
fn GetNumberSupportedProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetSupportedProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetProcessorTypeNames(&self, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetEffectiveProcessorType(&self) -> ::windows::core::Result<u32>;
fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows::core::Result<()>;
fn GetExecutionStatus(&self) -> ::windows::core::Result<u32>;
fn SetExecutionStatus(&self, status: u32) -> ::windows::core::Result<()>;
fn GetCodeLevel(&self) -> ::windows::core::Result<u32>;
fn SetCodeLevel(&self, level: u32) -> ::windows::core::Result<()>;
fn GetEngineOptions(&self) -> ::windows::core::Result<u32>;
fn AddEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetSystemErrorControl(&self, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::Result<()>;
fn SetSystemErrorControl(&self, outputlevel: u32, breaklevel: u32) -> ::windows::core::Result<()>;
fn GetTextMacro(&self, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextMacro(&self, slot: u32, r#macro: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetRadix(&self) -> ::windows::core::Result<u32>;
fn SetRadix(&self, radix: u32) -> ::windows::core::Result<()>;
fn Evaluate(&self, expression: &::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::Result<()>;
fn CoerceValue(&self, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn CoerceValues(&self, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn Execute(&self, outputcontrol: u32, command: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn ExecuteCommandFile(&self, outputcontrol: u32, commandfile: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetNumberBreakpoints(&self) -> ::windows::core::Result<u32>;
fn GetBreakpointByIndex(&self, index: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointById(&self, id: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointParameters(&self, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::Result<()>;
fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn RemoveBreakpoint(&self, bp: ::core::option::Option<&IDebugBreakpoint>) -> ::windows::core::Result<()>;
fn AddExtension(&self, path: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u64>;
fn RemoveExtension(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetExtensionByPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn CallExtension(&self, handle: u64, function: &::windows::core::PCSTR, arguments: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExtensionFunction(&self, handle: u64, funcname: &::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis32(&self, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis64(&self, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::Result<()>;
fn GetNumberEventFilters(&self, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterText(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetEventFilterCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSpecificFilterParameters(&self, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetSpecificFilterParameters(&self, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSpecificFilterArgument(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSpecificFilterArgument(&self, index: u32, argument: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExceptionFilterParameters(&self, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetExceptionFilterParameters(&self, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetExceptionFilterSecondCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetExceptionFilterSecondCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WaitForEvent(&self, flags: u32, timeout: u32) -> ::windows::core::Result<()>;
fn GetLastEventInformation(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentTimeDate(&self) -> ::windows::core::Result<u32>;
fn GetCurrentSystemUpTime(&self) -> ::windows::core::Result<u32>;
fn GetDumpFormatFlags(&self) -> ::windows::core::Result<u32>;
fn GetNumberTextReplacements(&self) -> ::windows::core::Result<u32>;
fn GetTextReplacement(&self, srctext: &::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextReplacement(&self, srctext: &::windows::core::PCSTR, dsttext: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn RemoveTextReplacements(&self) -> ::windows::core::Result<()>;
fn OutputTextReplacements(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl ::windows::core::RuntimeName for IDebugControl2 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl IDebugControl2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>() -> IDebugControl2_Vtbl {
unsafe extern "system" fn GetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetInterrupt().into()
}
unsafe extern "system" fn SetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterrupt(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInterruptTimeout() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(seconds, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterruptTimeout(::core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn OpenLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile(::core::mem::transmute(&file), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CloseLogFile().into()
}
unsafe extern "system" fn GetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLogMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLogMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Input(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&inputsize)).into()
}
unsafe extern "system" fn ReturnInput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnInput(::core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Output(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVaList(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutput(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn OutputPrompt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPrompt(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPromptText(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn OutputCurrentState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputCurrentState(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVersionInformation(::core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNotifyEventHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNotifyEventHandle(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, instr: ::windows::core::PCSTR, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Assemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute(&instr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Disassemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&disassemblysize), ::core::mem::transmute_copy(&endoffset)).into()
}
unsafe extern "system" fn GetDisassembleEffectiveOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDisassembleEffectiveOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OutputDisassembly(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputDisassemblyLines(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&previouslines), ::core::mem::transmute_copy(&totallines), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offsetline), ::core::mem::transmute_copy(&startoffset), ::core::mem::transmute_copy(&endoffset), ::core::mem::transmute_copy(&lineoffsets)).into()
}
unsafe extern "system" fn GetNearInstruction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNearInstruction(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nearoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStackTrace(::core::mem::transmute_copy(&frameoffset), ::core::mem::transmute_copy(&stackoffset), ::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn GetReturnOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetReturnOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputStackTrace(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetDebuggeeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDebuggeeType(::core::mem::transmute_copy(&class), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetActualProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutingProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberPossibleExecutingProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPossibleExecutingProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetNumberProcessors<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberProcessors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersion(::core::mem::transmute_copy(&platformid), ::core::mem::transmute_copy(&major), ::core::mem::transmute_copy(&minor), ::core::mem::transmute_copy(&servicepackstring), ::core::mem::transmute_copy(&servicepackstringsize), ::core::mem::transmute_copy(&servicepackstringused), ::core::mem::transmute_copy(&servicepacknumber), ::core::mem::transmute_copy(&buildstring), ::core::mem::transmute_copy(&buildstringsize), ::core::mem::transmute_copy(&buildstringused))
.into()
}
unsafe extern "system" fn GetPageSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPageSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsPointer64Bit().into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBugCheckData(::core::mem::transmute_copy(&code), ::core::mem::transmute_copy(&arg1), ::core::mem::transmute_copy(&arg2), ::core::mem::transmute_copy(&arg3), ::core::mem::transmute_copy(&arg4)).into()
}
unsafe extern "system" fn GetNumberSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberSupportedProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSupportedProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetProcessorTypeNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessorTypeNames(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEffectiveProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEffectiveProcessorType(::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutionStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(status, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExecutionStatus(::core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCodeLevel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(level, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCodeLevel(::core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEngineOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&macrosize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, r#macro: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRadix() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(radix, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRadix(::core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Evaluate(::core::mem::transmute(&expression), ::core::mem::transmute_copy(&desiredtype), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&remainderindex)).into()
}
unsafe extern "system" fn CoerceValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValue(::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtype), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn CoerceValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValues(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtypes), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn Execute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, command: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Execute(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&command), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, commandfile: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteCommandFile(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&commandfile), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberBreakpoints() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointById(::core::mem::transmute_copy(&id)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBreakpointParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddBreakpoint(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&desiredid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveBreakpoint(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, flags: u32, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddExtension(::core::mem::transmute(&path), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveExtension(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtensionByPath(::core::mem::transmute(&path)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, function: ::windows::core::PCSTR, arguments: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CallExtension(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&function), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, funcname: ::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtensionFunction(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&funcname), ::core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis32(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis64(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberEventFilters(::core::mem::transmute_copy(&specificevents), ::core::mem::transmute_copy(&specificexceptions), ::core::mem::transmute_copy(&arbitraryexceptions)).into()
}
unsafe extern "system" fn GetEventFilterText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterText(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn GetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&argumentsize)).into()
}
unsafe extern "system" fn SetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, argument: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&codes), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForEvent(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastEventInformation(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&descriptionused)).into()
}
unsafe extern "system" fn GetCurrentTimeDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timedate: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentTimeDate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(timedate, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uptime: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentSystemUpTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(uptime, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, formatflags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDumpFormatFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(formatflags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numrepl: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberTextReplacements() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(numrepl, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&srcbuffer), ::core::mem::transmute_copy(&srcbuffersize), ::core::mem::transmute_copy(&srcsize), ::core::mem::transmute_copy(&dstbuffer), ::core::mem::transmute_copy(&dstbuffersize), ::core::mem::transmute_copy(&dstsize)).into()
}
unsafe extern "system" fn SetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, dsttext: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTextReplacements().into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTextReplacements(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, Impl, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, Impl, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, Impl, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, Impl, OFFSET>,
GetLogFile: GetLogFile::<Identity, Impl, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, Impl, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, Impl, OFFSET>,
GetLogMask: GetLogMask::<Identity, Impl, OFFSET>,
SetLogMask: SetLogMask::<Identity, Impl, OFFSET>,
Input: Input::<Identity, Impl, OFFSET>,
ReturnInput: ReturnInput::<Identity, Impl, OFFSET>,
Output: Output::<Identity, Impl, OFFSET>,
OutputVaList: OutputVaList::<Identity, Impl, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, Impl, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, Impl, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, Impl, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, Impl, OFFSET>,
GetPromptText: GetPromptText::<Identity, Impl, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, Impl, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, Impl, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, Impl, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, Impl, OFFSET>,
Assemble: Assemble::<Identity, Impl, OFFSET>,
Disassemble: Disassemble::<Identity, Impl, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, Impl, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, Impl, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, Impl, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, Impl, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, Impl, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, Impl, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, Impl, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, Impl, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, Impl, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, Impl, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, Impl, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, Impl, OFFSET>,
GetPageSize: GetPageSize::<Identity, Impl, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, Impl, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, Impl, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, Impl, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, Impl, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, Impl, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, Impl, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, Impl, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, Impl, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, Impl, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, Impl, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, Impl, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, Impl, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, Impl, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, Impl, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, Impl, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, Impl, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, Impl, OFFSET>,
GetRadix: GetRadix::<Identity, Impl, OFFSET>,
SetRadix: SetRadix::<Identity, Impl, OFFSET>,
Evaluate: Evaluate::<Identity, Impl, OFFSET>,
CoerceValue: CoerceValue::<Identity, Impl, OFFSET>,
CoerceValues: CoerceValues::<Identity, Impl, OFFSET>,
Execute: Execute::<Identity, Impl, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, Impl, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, Impl, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, Impl, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, Impl, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, Impl, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, Impl, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, Impl, OFFSET>,
AddExtension: AddExtension::<Identity, Impl, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, Impl, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, Impl, OFFSET>,
CallExtension: CallExtension::<Identity, Impl, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, Impl, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, Impl, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, Impl, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, Impl, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, Impl, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, Impl, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, Impl, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, Impl, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, Impl, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, Impl, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, Impl, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, Impl, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, Impl, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, Impl, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, Impl, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, Impl, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, Impl, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, Impl, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, Impl, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, Impl, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugControl2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub trait IDebugControl3_Impl: Sized {
fn GetInterrupt(&self) -> ::windows::core::Result<()>;
fn SetInterrupt(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetInterruptTimeout(&self) -> ::windows::core::Result<u32>;
fn SetInterruptTimeout(&self, seconds: u32) -> ::windows::core::Result<()>;
fn GetLogFile(&self, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OpenLogFile(&self, file: &::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn CloseLogFile(&self) -> ::windows::core::Result<()>;
fn GetLogMask(&self) -> ::windows::core::Result<u32>;
fn SetLogMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn Input(&self, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::Result<()>;
fn ReturnInput(&self, buffer: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn Output(&self, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputVaList(&self, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn ControlledOutput(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn ControlledOutputVaList(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn OutputPrompt(&self, outputcontrol: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputPromptVaList(&self, outputcontrol: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn GetPromptText(&self, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn OutputCurrentState(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn OutputVersionInformation(&self, outputcontrol: u32) -> ::windows::core::Result<()>;
fn GetNotifyEventHandle(&self) -> ::windows::core::Result<u64>;
fn SetNotifyEventHandle(&self, handle: u64) -> ::windows::core::Result<()>;
fn Assemble(&self, offset: u64, instr: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn Disassemble(&self, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::Result<()>;
fn GetDisassembleEffectiveOffset(&self) -> ::windows::core::Result<u64>;
fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows::core::Result<u64>;
fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::Result<()>;
fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows::core::Result<u64>;
fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn GetReturnOffset(&self) -> ::windows::core::Result<u64>;
fn OutputStackTrace(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetDebuggeeType(&self, class: *mut u32, qualifier: *mut u32) -> ::windows::core::Result<()>;
fn GetActualProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetExecutingProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetPossibleExecutingProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberProcessors(&self) -> ::windows::core::Result<u32>;
fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::Result<()>;
fn GetPageSize(&self) -> ::windows::core::Result<u32>;
fn IsPointer64Bit(&self) -> ::windows::core::Result<()>;
fn ReadBugCheckData(&self, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::Result<()>;
fn GetNumberSupportedProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetSupportedProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetProcessorTypeNames(&self, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetEffectiveProcessorType(&self) -> ::windows::core::Result<u32>;
fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows::core::Result<()>;
fn GetExecutionStatus(&self) -> ::windows::core::Result<u32>;
fn SetExecutionStatus(&self, status: u32) -> ::windows::core::Result<()>;
fn GetCodeLevel(&self) -> ::windows::core::Result<u32>;
fn SetCodeLevel(&self, level: u32) -> ::windows::core::Result<()>;
fn GetEngineOptions(&self) -> ::windows::core::Result<u32>;
fn AddEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetSystemErrorControl(&self, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::Result<()>;
fn SetSystemErrorControl(&self, outputlevel: u32, breaklevel: u32) -> ::windows::core::Result<()>;
fn GetTextMacro(&self, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextMacro(&self, slot: u32, r#macro: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetRadix(&self) -> ::windows::core::Result<u32>;
fn SetRadix(&self, radix: u32) -> ::windows::core::Result<()>;
fn Evaluate(&self, expression: &::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::Result<()>;
fn CoerceValue(&self, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn CoerceValues(&self, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn Execute(&self, outputcontrol: u32, command: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn ExecuteCommandFile(&self, outputcontrol: u32, commandfile: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetNumberBreakpoints(&self) -> ::windows::core::Result<u32>;
fn GetBreakpointByIndex(&self, index: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointById(&self, id: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointParameters(&self, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::Result<()>;
fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn RemoveBreakpoint(&self, bp: ::core::option::Option<&IDebugBreakpoint>) -> ::windows::core::Result<()>;
fn AddExtension(&self, path: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u64>;
fn RemoveExtension(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetExtensionByPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn CallExtension(&self, handle: u64, function: &::windows::core::PCSTR, arguments: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExtensionFunction(&self, handle: u64, funcname: &::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis32(&self, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis64(&self, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::Result<()>;
fn GetNumberEventFilters(&self, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterText(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetEventFilterCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSpecificFilterParameters(&self, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetSpecificFilterParameters(&self, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSpecificFilterArgument(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSpecificFilterArgument(&self, index: u32, argument: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExceptionFilterParameters(&self, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetExceptionFilterParameters(&self, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetExceptionFilterSecondCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetExceptionFilterSecondCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WaitForEvent(&self, flags: u32, timeout: u32) -> ::windows::core::Result<()>;
fn GetLastEventInformation(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentTimeDate(&self) -> ::windows::core::Result<u32>;
fn GetCurrentSystemUpTime(&self) -> ::windows::core::Result<u32>;
fn GetDumpFormatFlags(&self) -> ::windows::core::Result<u32>;
fn GetNumberTextReplacements(&self) -> ::windows::core::Result<u32>;
fn GetTextReplacement(&self, srctext: &::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextReplacement(&self, srctext: &::windows::core::PCSTR, dsttext: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn RemoveTextReplacements(&self) -> ::windows::core::Result<()>;
fn OutputTextReplacements(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetAssemblyOptions(&self) -> ::windows::core::Result<u32>;
fn AddAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetExpressionSyntax(&self) -> ::windows::core::Result<u32>;
fn SetExpressionSyntax(&self, flags: u32) -> ::windows::core::Result<()>;
fn SetExpressionSyntaxByName(&self, abbrevname: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetNumberExpressionSyntaxes(&self) -> ::windows::core::Result<u32>;
fn GetExpressionSyntaxNames(&self, index: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberEvents(&self) -> ::windows::core::Result<u32>;
fn GetEventIndexDescription(&self, index: u32, which: u32, buffer: &::windows::core::PCSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentEventIndex(&self) -> ::windows::core::Result<u32>;
fn SetNextEventIndex(&self, relation: u32, value: u32) -> ::windows::core::Result<u32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl ::windows::core::RuntimeName for IDebugControl3 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl IDebugControl3_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>() -> IDebugControl3_Vtbl {
unsafe extern "system" fn GetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetInterrupt().into()
}
unsafe extern "system" fn SetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterrupt(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInterruptTimeout() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(seconds, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterruptTimeout(::core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn OpenLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile(::core::mem::transmute(&file), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CloseLogFile().into()
}
unsafe extern "system" fn GetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLogMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLogMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Input(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&inputsize)).into()
}
unsafe extern "system" fn ReturnInput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnInput(::core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Output(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVaList(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutput(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn OutputPrompt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPrompt(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPromptText(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn OutputCurrentState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputCurrentState(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVersionInformation(::core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNotifyEventHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNotifyEventHandle(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, instr: ::windows::core::PCSTR, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Assemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute(&instr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Disassemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&disassemblysize), ::core::mem::transmute_copy(&endoffset)).into()
}
unsafe extern "system" fn GetDisassembleEffectiveOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDisassembleEffectiveOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OutputDisassembly(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputDisassemblyLines(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&previouslines), ::core::mem::transmute_copy(&totallines), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offsetline), ::core::mem::transmute_copy(&startoffset), ::core::mem::transmute_copy(&endoffset), ::core::mem::transmute_copy(&lineoffsets)).into()
}
unsafe extern "system" fn GetNearInstruction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNearInstruction(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nearoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStackTrace(::core::mem::transmute_copy(&frameoffset), ::core::mem::transmute_copy(&stackoffset), ::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn GetReturnOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetReturnOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputStackTrace(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetDebuggeeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDebuggeeType(::core::mem::transmute_copy(&class), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetActualProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutingProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberPossibleExecutingProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPossibleExecutingProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetNumberProcessors<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberProcessors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersion(::core::mem::transmute_copy(&platformid), ::core::mem::transmute_copy(&major), ::core::mem::transmute_copy(&minor), ::core::mem::transmute_copy(&servicepackstring), ::core::mem::transmute_copy(&servicepackstringsize), ::core::mem::transmute_copy(&servicepackstringused), ::core::mem::transmute_copy(&servicepacknumber), ::core::mem::transmute_copy(&buildstring), ::core::mem::transmute_copy(&buildstringsize), ::core::mem::transmute_copy(&buildstringused))
.into()
}
unsafe extern "system" fn GetPageSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPageSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsPointer64Bit().into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBugCheckData(::core::mem::transmute_copy(&code), ::core::mem::transmute_copy(&arg1), ::core::mem::transmute_copy(&arg2), ::core::mem::transmute_copy(&arg3), ::core::mem::transmute_copy(&arg4)).into()
}
unsafe extern "system" fn GetNumberSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberSupportedProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSupportedProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetProcessorTypeNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessorTypeNames(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEffectiveProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEffectiveProcessorType(::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutionStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(status, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExecutionStatus(::core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCodeLevel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(level, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCodeLevel(::core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEngineOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&macrosize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, r#macro: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRadix() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(radix, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRadix(::core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Evaluate(::core::mem::transmute(&expression), ::core::mem::transmute_copy(&desiredtype), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&remainderindex)).into()
}
unsafe extern "system" fn CoerceValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValue(::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtype), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn CoerceValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValues(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtypes), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn Execute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, command: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Execute(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&command), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, commandfile: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteCommandFile(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&commandfile), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberBreakpoints() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointById(::core::mem::transmute_copy(&id)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBreakpointParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddBreakpoint(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&desiredid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveBreakpoint(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, flags: u32, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddExtension(::core::mem::transmute(&path), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveExtension(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtensionByPath(::core::mem::transmute(&path)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, function: ::windows::core::PCSTR, arguments: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CallExtension(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&function), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, funcname: ::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtensionFunction(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&funcname), ::core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis32(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis64(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberEventFilters(::core::mem::transmute_copy(&specificevents), ::core::mem::transmute_copy(&specificexceptions), ::core::mem::transmute_copy(&arbitraryexceptions)).into()
}
unsafe extern "system" fn GetEventFilterText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterText(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn GetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&argumentsize)).into()
}
unsafe extern "system" fn SetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, argument: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&codes), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForEvent(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastEventInformation(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&descriptionused)).into()
}
unsafe extern "system" fn GetCurrentTimeDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timedate: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentTimeDate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(timedate, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uptime: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentSystemUpTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(uptime, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, formatflags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDumpFormatFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(formatflags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numrepl: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberTextReplacements() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(numrepl, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&srcbuffer), ::core::mem::transmute_copy(&srcbuffersize), ::core::mem::transmute_copy(&srcsize), ::core::mem::transmute_copy(&dstbuffer), ::core::mem::transmute_copy(&dstbuffersize), ::core::mem::transmute_copy(&dstsize)).into()
}
unsafe extern "system" fn SetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, dsttext: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTextReplacements().into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTextReplacements(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAssemblyOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetExpressionSyntax<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExpressionSyntax() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(flags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExpressionSyntax<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntax(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, abbrevname: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntaxByName(::core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetNumberExpressionSyntaxes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberExpressionSyntaxes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpressionSyntaxNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExpressionSyntaxNames(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetNumberEvents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, events: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberEvents() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(events, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventIndexDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, which: u32, buffer: ::windows::core::PCSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventIndexDescription(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&which), ::core::mem::transmute(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&descsize)).into()
}
unsafe extern "system" fn GetCurrentEventIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentEventIndex() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNextEventIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, relation: u32, value: u32, nextindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SetNextEventIndex(::core::mem::transmute_copy(&relation), ::core::mem::transmute_copy(&value)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nextindex, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, Impl, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, Impl, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, Impl, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, Impl, OFFSET>,
GetLogFile: GetLogFile::<Identity, Impl, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, Impl, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, Impl, OFFSET>,
GetLogMask: GetLogMask::<Identity, Impl, OFFSET>,
SetLogMask: SetLogMask::<Identity, Impl, OFFSET>,
Input: Input::<Identity, Impl, OFFSET>,
ReturnInput: ReturnInput::<Identity, Impl, OFFSET>,
Output: Output::<Identity, Impl, OFFSET>,
OutputVaList: OutputVaList::<Identity, Impl, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, Impl, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, Impl, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, Impl, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, Impl, OFFSET>,
GetPromptText: GetPromptText::<Identity, Impl, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, Impl, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, Impl, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, Impl, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, Impl, OFFSET>,
Assemble: Assemble::<Identity, Impl, OFFSET>,
Disassemble: Disassemble::<Identity, Impl, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, Impl, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, Impl, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, Impl, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, Impl, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, Impl, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, Impl, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, Impl, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, Impl, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, Impl, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, Impl, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, Impl, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, Impl, OFFSET>,
GetPageSize: GetPageSize::<Identity, Impl, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, Impl, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, Impl, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, Impl, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, Impl, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, Impl, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, Impl, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, Impl, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, Impl, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, Impl, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, Impl, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, Impl, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, Impl, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, Impl, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, Impl, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, Impl, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, Impl, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, Impl, OFFSET>,
GetRadix: GetRadix::<Identity, Impl, OFFSET>,
SetRadix: SetRadix::<Identity, Impl, OFFSET>,
Evaluate: Evaluate::<Identity, Impl, OFFSET>,
CoerceValue: CoerceValue::<Identity, Impl, OFFSET>,
CoerceValues: CoerceValues::<Identity, Impl, OFFSET>,
Execute: Execute::<Identity, Impl, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, Impl, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, Impl, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, Impl, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, Impl, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, Impl, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, Impl, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, Impl, OFFSET>,
AddExtension: AddExtension::<Identity, Impl, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, Impl, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, Impl, OFFSET>,
CallExtension: CallExtension::<Identity, Impl, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, Impl, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, Impl, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, Impl, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, Impl, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, Impl, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, Impl, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, Impl, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, Impl, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, Impl, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, Impl, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, Impl, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, Impl, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, Impl, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, Impl, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, Impl, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, Impl, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, Impl, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, Impl, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, Impl, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, Impl, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, Impl, OFFSET>,
GetAssemblyOptions: GetAssemblyOptions::<Identity, Impl, OFFSET>,
AddAssemblyOptions: AddAssemblyOptions::<Identity, Impl, OFFSET>,
RemoveAssemblyOptions: RemoveAssemblyOptions::<Identity, Impl, OFFSET>,
SetAssemblyOptions: SetAssemblyOptions::<Identity, Impl, OFFSET>,
GetExpressionSyntax: GetExpressionSyntax::<Identity, Impl, OFFSET>,
SetExpressionSyntax: SetExpressionSyntax::<Identity, Impl, OFFSET>,
SetExpressionSyntaxByName: SetExpressionSyntaxByName::<Identity, Impl, OFFSET>,
GetNumberExpressionSyntaxes: GetNumberExpressionSyntaxes::<Identity, Impl, OFFSET>,
GetExpressionSyntaxNames: GetExpressionSyntaxNames::<Identity, Impl, OFFSET>,
GetNumberEvents: GetNumberEvents::<Identity, Impl, OFFSET>,
GetEventIndexDescription: GetEventIndexDescription::<Identity, Impl, OFFSET>,
GetCurrentEventIndex: GetCurrentEventIndex::<Identity, Impl, OFFSET>,
SetNextEventIndex: SetNextEventIndex::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugControl3 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub trait IDebugControl4_Impl: Sized {
fn GetInterrupt(&self) -> ::windows::core::Result<()>;
fn SetInterrupt(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetInterruptTimeout(&self) -> ::windows::core::Result<u32>;
fn SetInterruptTimeout(&self, seconds: u32) -> ::windows::core::Result<()>;
fn GetLogFile(&self, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OpenLogFile(&self, file: &::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn CloseLogFile(&self) -> ::windows::core::Result<()>;
fn GetLogMask(&self) -> ::windows::core::Result<u32>;
fn SetLogMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn Input(&self, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::Result<()>;
fn ReturnInput(&self, buffer: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn Output(&self, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputVaList(&self, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn ControlledOutput(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn ControlledOutputVaList(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn OutputPrompt(&self, outputcontrol: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputPromptVaList(&self, outputcontrol: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn GetPromptText(&self, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn OutputCurrentState(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn OutputVersionInformation(&self, outputcontrol: u32) -> ::windows::core::Result<()>;
fn GetNotifyEventHandle(&self) -> ::windows::core::Result<u64>;
fn SetNotifyEventHandle(&self, handle: u64) -> ::windows::core::Result<()>;
fn Assemble(&self, offset: u64, instr: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn Disassemble(&self, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::Result<()>;
fn GetDisassembleEffectiveOffset(&self) -> ::windows::core::Result<u64>;
fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows::core::Result<u64>;
fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::Result<()>;
fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows::core::Result<u64>;
fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn GetReturnOffset(&self) -> ::windows::core::Result<u64>;
fn OutputStackTrace(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetDebuggeeType(&self, class: *mut u32, qualifier: *mut u32) -> ::windows::core::Result<()>;
fn GetActualProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetExecutingProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetPossibleExecutingProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberProcessors(&self) -> ::windows::core::Result<u32>;
fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::Result<()>;
fn GetPageSize(&self) -> ::windows::core::Result<u32>;
fn IsPointer64Bit(&self) -> ::windows::core::Result<()>;
fn ReadBugCheckData(&self, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::Result<()>;
fn GetNumberSupportedProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetSupportedProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetProcessorTypeNames(&self, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetEffectiveProcessorType(&self) -> ::windows::core::Result<u32>;
fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows::core::Result<()>;
fn GetExecutionStatus(&self) -> ::windows::core::Result<u32>;
fn SetExecutionStatus(&self, status: u32) -> ::windows::core::Result<()>;
fn GetCodeLevel(&self) -> ::windows::core::Result<u32>;
fn SetCodeLevel(&self, level: u32) -> ::windows::core::Result<()>;
fn GetEngineOptions(&self) -> ::windows::core::Result<u32>;
fn AddEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetSystemErrorControl(&self, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::Result<()>;
fn SetSystemErrorControl(&self, outputlevel: u32, breaklevel: u32) -> ::windows::core::Result<()>;
fn GetTextMacro(&self, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextMacro(&self, slot: u32, r#macro: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetRadix(&self) -> ::windows::core::Result<u32>;
fn SetRadix(&self, radix: u32) -> ::windows::core::Result<()>;
fn Evaluate(&self, expression: &::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::Result<()>;
fn CoerceValue(&self, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn CoerceValues(&self, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn Execute(&self, outputcontrol: u32, command: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn ExecuteCommandFile(&self, outputcontrol: u32, commandfile: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetNumberBreakpoints(&self) -> ::windows::core::Result<u32>;
fn GetBreakpointByIndex(&self, index: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointById(&self, id: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointParameters(&self, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::Result<()>;
fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn RemoveBreakpoint(&self, bp: ::core::option::Option<&IDebugBreakpoint>) -> ::windows::core::Result<()>;
fn AddExtension(&self, path: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u64>;
fn RemoveExtension(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetExtensionByPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn CallExtension(&self, handle: u64, function: &::windows::core::PCSTR, arguments: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExtensionFunction(&self, handle: u64, funcname: &::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis32(&self, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis64(&self, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::Result<()>;
fn GetNumberEventFilters(&self, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterText(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetEventFilterCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSpecificFilterParameters(&self, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetSpecificFilterParameters(&self, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSpecificFilterArgument(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSpecificFilterArgument(&self, index: u32, argument: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExceptionFilterParameters(&self, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetExceptionFilterParameters(&self, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetExceptionFilterSecondCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetExceptionFilterSecondCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WaitForEvent(&self, flags: u32, timeout: u32) -> ::windows::core::Result<()>;
fn GetLastEventInformation(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentTimeDate(&self) -> ::windows::core::Result<u32>;
fn GetCurrentSystemUpTime(&self) -> ::windows::core::Result<u32>;
fn GetDumpFormatFlags(&self) -> ::windows::core::Result<u32>;
fn GetNumberTextReplacements(&self) -> ::windows::core::Result<u32>;
fn GetTextReplacement(&self, srctext: &::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextReplacement(&self, srctext: &::windows::core::PCSTR, dsttext: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn RemoveTextReplacements(&self) -> ::windows::core::Result<()>;
fn OutputTextReplacements(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetAssemblyOptions(&self) -> ::windows::core::Result<u32>;
fn AddAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetExpressionSyntax(&self) -> ::windows::core::Result<u32>;
fn SetExpressionSyntax(&self, flags: u32) -> ::windows::core::Result<()>;
fn SetExpressionSyntaxByName(&self, abbrevname: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetNumberExpressionSyntaxes(&self) -> ::windows::core::Result<u32>;
fn GetExpressionSyntaxNames(&self, index: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberEvents(&self) -> ::windows::core::Result<u32>;
fn GetEventIndexDescription(&self, index: u32, which: u32, buffer: &::windows::core::PCSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentEventIndex(&self) -> ::windows::core::Result<u32>;
fn SetNextEventIndex(&self, relation: u32, value: u32) -> ::windows::core::Result<u32>;
fn GetLogFileWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OpenLogFileWide(&self, file: &::windows::core::PCWSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn InputWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::Result<()>;
fn ReturnInputWide(&self, buffer: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputWide(&self, mask: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputVaListWide(&self, mask: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn ControlledOutputWide(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn ControlledOutputVaListWide(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn OutputPromptWide(&self, outputcontrol: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputPromptVaListWide(&self, outputcontrol: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn GetPromptTextWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn AssembleWide(&self, offset: u64, instr: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn DisassembleWide(&self, offset: u64, flags: u32, buffer: ::windows::core::PWSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::Result<()>;
fn GetProcessorTypeNamesWide(&self, r#type: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTextMacroWide(&self, slot: u32, buffer: ::windows::core::PWSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextMacroWide(&self, slot: u32, r#macro: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn EvaluateWide(&self, expression: &::windows::core::PCWSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::Result<()>;
fn ExecuteWide(&self, outputcontrol: u32, command: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn ExecuteCommandFileWide(&self, outputcontrol: u32, commandfile: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetBreakpointByIndex2(&self, index: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn GetBreakpointById2(&self, id: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn AddBreakpoint2(&self, r#type: u32, desiredid: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn RemoveBreakpoint2(&self, bp: ::core::option::Option<&IDebugBreakpoint2>) -> ::windows::core::Result<()>;
fn AddExtensionWide(&self, path: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<u64>;
fn GetExtensionByPathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn CallExtensionWide(&self, handle: u64, function: &::windows::core::PCWSTR, arguments: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExtensionFunctionWide(&self, handle: u64, funcname: &::windows::core::PCWSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::Result<()>;
fn GetEventFilterTextWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterCommandWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetEventFilterCommandWide(&self, index: u32, command: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSpecificFilterArgumentWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSpecificFilterArgumentWide(&self, index: u32, argument: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExceptionFilterSecondCommandWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetExceptionFilterSecondCommandWide(&self, index: u32, command: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetLastEventInformationWide(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::Result<()>;
fn GetTextReplacementWide(&self, srctext: &::windows::core::PCWSTR, index: u32, srcbuffer: ::windows::core::PWSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PWSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextReplacementWide(&self, srctext: &::windows::core::PCWSTR, dsttext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetExpressionSyntaxByNameWide(&self, abbrevname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExpressionSyntaxNamesWide(&self, index: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventIndexDescriptionWide(&self, index: u32, which: u32, buffer: &::windows::core::PCWSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::Result<()>;
fn GetLogFile2(&self, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::Result<()>;
fn OpenLogFile2(&self, file: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetLogFile2Wide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::Result<()>;
fn OpenLogFile2Wide(&self, file: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetSystemVersionValues(&self, platformid: *mut u32, win32major: *mut u32, win32minor: *mut u32, kdmajor: *mut u32, kdminor: *mut u32) -> ::windows::core::Result<()>;
fn GetSystemVersionString(&self, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSystemVersionStringWide(&self, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetContextStackTrace(&self, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn OutputContextStackTrace(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetStoredEventInformation(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, context: *mut ::core::ffi::c_void, contextsize: u32, contextused: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32) -> ::windows::core::Result<()>;
fn GetManagedStatus(&self, flags: *mut u32, whichstring: u32, string: ::windows::core::PSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::Result<()>;
fn GetManagedStatusWide(&self, flags: *mut u32, whichstring: u32, string: ::windows::core::PWSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::Result<()>;
fn ResetManagedStatus(&self, flags: u32) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl ::windows::core::RuntimeName for IDebugControl4 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl IDebugControl4_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>() -> IDebugControl4_Vtbl {
unsafe extern "system" fn GetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetInterrupt().into()
}
unsafe extern "system" fn SetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterrupt(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInterruptTimeout() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(seconds, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterruptTimeout(::core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn OpenLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile(::core::mem::transmute(&file), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CloseLogFile().into()
}
unsafe extern "system" fn GetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLogMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLogMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Input(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&inputsize)).into()
}
unsafe extern "system" fn ReturnInput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnInput(::core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Output(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVaList(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutput(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn OutputPrompt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPrompt(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPromptText(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn OutputCurrentState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputCurrentState(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVersionInformation(::core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNotifyEventHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNotifyEventHandle(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, instr: ::windows::core::PCSTR, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Assemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute(&instr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Disassemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&disassemblysize), ::core::mem::transmute_copy(&endoffset)).into()
}
unsafe extern "system" fn GetDisassembleEffectiveOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDisassembleEffectiveOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OutputDisassembly(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputDisassemblyLines(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&previouslines), ::core::mem::transmute_copy(&totallines), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offsetline), ::core::mem::transmute_copy(&startoffset), ::core::mem::transmute_copy(&endoffset), ::core::mem::transmute_copy(&lineoffsets)).into()
}
unsafe extern "system" fn GetNearInstruction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNearInstruction(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nearoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStackTrace(::core::mem::transmute_copy(&frameoffset), ::core::mem::transmute_copy(&stackoffset), ::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn GetReturnOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetReturnOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputStackTrace(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetDebuggeeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDebuggeeType(::core::mem::transmute_copy(&class), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetActualProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutingProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberPossibleExecutingProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPossibleExecutingProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetNumberProcessors<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberProcessors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersion(::core::mem::transmute_copy(&platformid), ::core::mem::transmute_copy(&major), ::core::mem::transmute_copy(&minor), ::core::mem::transmute_copy(&servicepackstring), ::core::mem::transmute_copy(&servicepackstringsize), ::core::mem::transmute_copy(&servicepackstringused), ::core::mem::transmute_copy(&servicepacknumber), ::core::mem::transmute_copy(&buildstring), ::core::mem::transmute_copy(&buildstringsize), ::core::mem::transmute_copy(&buildstringused))
.into()
}
unsafe extern "system" fn GetPageSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPageSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsPointer64Bit().into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBugCheckData(::core::mem::transmute_copy(&code), ::core::mem::transmute_copy(&arg1), ::core::mem::transmute_copy(&arg2), ::core::mem::transmute_copy(&arg3), ::core::mem::transmute_copy(&arg4)).into()
}
unsafe extern "system" fn GetNumberSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberSupportedProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSupportedProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetProcessorTypeNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessorTypeNames(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEffectiveProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEffectiveProcessorType(::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutionStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(status, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExecutionStatus(::core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCodeLevel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(level, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCodeLevel(::core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEngineOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&macrosize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, r#macro: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRadix() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(radix, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRadix(::core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Evaluate(::core::mem::transmute(&expression), ::core::mem::transmute_copy(&desiredtype), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&remainderindex)).into()
}
unsafe extern "system" fn CoerceValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValue(::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtype), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn CoerceValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValues(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtypes), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn Execute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, command: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Execute(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&command), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, commandfile: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteCommandFile(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&commandfile), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberBreakpoints() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointById(::core::mem::transmute_copy(&id)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBreakpointParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddBreakpoint(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&desiredid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveBreakpoint(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, flags: u32, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddExtension(::core::mem::transmute(&path), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveExtension(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtensionByPath(::core::mem::transmute(&path)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, function: ::windows::core::PCSTR, arguments: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CallExtension(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&function), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, funcname: ::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtensionFunction(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&funcname), ::core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis32(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis64(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberEventFilters(::core::mem::transmute_copy(&specificevents), ::core::mem::transmute_copy(&specificexceptions), ::core::mem::transmute_copy(&arbitraryexceptions)).into()
}
unsafe extern "system" fn GetEventFilterText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterText(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn GetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&argumentsize)).into()
}
unsafe extern "system" fn SetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, argument: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&codes), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForEvent(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastEventInformation(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&descriptionused)).into()
}
unsafe extern "system" fn GetCurrentTimeDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timedate: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentTimeDate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(timedate, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uptime: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentSystemUpTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(uptime, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, formatflags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDumpFormatFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(formatflags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numrepl: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberTextReplacements() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(numrepl, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&srcbuffer), ::core::mem::transmute_copy(&srcbuffersize), ::core::mem::transmute_copy(&srcsize), ::core::mem::transmute_copy(&dstbuffer), ::core::mem::transmute_copy(&dstbuffersize), ::core::mem::transmute_copy(&dstsize)).into()
}
unsafe extern "system" fn SetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, dsttext: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTextReplacements().into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTextReplacements(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAssemblyOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetExpressionSyntax<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExpressionSyntax() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(flags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExpressionSyntax<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntax(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, abbrevname: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntaxByName(::core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetNumberExpressionSyntaxes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberExpressionSyntaxes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpressionSyntaxNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExpressionSyntaxNames(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetNumberEvents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, events: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberEvents() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(events, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventIndexDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, which: u32, buffer: ::windows::core::PCSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventIndexDescription(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&which), ::core::mem::transmute(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&descsize)).into()
}
unsafe extern "system" fn GetCurrentEventIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentEventIndex() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNextEventIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, relation: u32, value: u32, nextindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SetNextEventIndex(::core::mem::transmute_copy(&relation), ::core::mem::transmute_copy(&value)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nextindex, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFileWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn OpenLogFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCWSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFileWide(::core::mem::transmute(&file), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn InputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InputWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&inputsize)).into()
}
unsafe extern "system" fn ReturnInputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnInputWide(::core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn OutputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputWide(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVaListWide(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputVaListWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn OutputPromptWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptVaListWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptTextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPromptTextWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn AssembleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, instr: ::windows::core::PCWSTR, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AssembleWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute(&instr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisassembleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: ::windows::core::PWSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisassembleWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&disassemblysize), ::core::mem::transmute_copy(&endoffset)).into()
}
unsafe extern "system" fn GetProcessorTypeNamesWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessorTypeNamesWide(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetTextMacroWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, buffer: ::windows::core::PWSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextMacroWide(::core::mem::transmute_copy(&slot), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&macrosize)).into()
}
unsafe extern "system" fn SetTextMacroWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, r#macro: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextMacroWide(::core::mem::transmute_copy(&slot), ::core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn EvaluateWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCWSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EvaluateWide(::core::mem::transmute(&expression), ::core::mem::transmute_copy(&desiredtype), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&remainderindex)).into()
}
unsafe extern "system" fn ExecuteWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, command: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&command), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, commandfile: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteCommandFileWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&commandfile), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetBreakpointByIndex2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByIndex2(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointById2(::core::mem::transmute_copy(&id)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddBreakpoint2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddBreakpoint2(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&desiredid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveBreakpoint2(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtensionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR, flags: u32, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddExtensionWide(::core::mem::transmute(&path), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExtensionByPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtensionByPathWide(::core::mem::transmute(&path)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtensionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, function: ::windows::core::PCWSTR, arguments: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CallExtensionWide(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&function), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunctionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, funcname: ::windows::core::PCWSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtensionFunctionWide(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&funcname), ::core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetEventFilterTextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterTextWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn GetEventFilterCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetEventFilterCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilterCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterArgumentWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterArgumentWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&argumentsize)).into()
}
unsafe extern "system" fn SetSpecificFilterArgumentWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, argument: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterArgumentWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterSecondCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetExceptionFilterSecondCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterSecondCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetLastEventInformationWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastEventInformationWide(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&descriptionused)).into()
}
unsafe extern "system" fn GetTextReplacementWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCWSTR, index: u32, srcbuffer: ::windows::core::PWSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PWSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextReplacementWide(::core::mem::transmute(&srctext), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&srcbuffer), ::core::mem::transmute_copy(&srcbuffersize), ::core::mem::transmute_copy(&srcsize), ::core::mem::transmute_copy(&dstbuffer), ::core::mem::transmute_copy(&dstbuffersize), ::core::mem::transmute_copy(&dstsize)).into()
}
unsafe extern "system" fn SetTextReplacementWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCWSTR, dsttext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextReplacementWide(::core::mem::transmute(&srctext), ::core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, abbrevname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntaxByNameWide(::core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetExpressionSyntaxNamesWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExpressionSyntaxNamesWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetEventIndexDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, which: u32, buffer: ::windows::core::PCWSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventIndexDescriptionWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&which), ::core::mem::transmute(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&descsize)).into()
}
unsafe extern "system" fn GetLogFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile2(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OpenLogFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile2(::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetLogFile2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile2Wide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OpenLogFile2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile2Wide(::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetSystemVersionValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, platformid: *mut u32, win32major: *mut u32, win32minor: *mut u32, kdmajor: *mut u32, kdminor: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionValues(::core::mem::transmute_copy(&platformid), ::core::mem::transmute_copy(&win32major), ::core::mem::transmute_copy(&win32minor), ::core::mem::transmute_copy(&kdmajor), ::core::mem::transmute_copy(&kdminor)).into()
}
unsafe extern "system" fn GetSystemVersionString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionString(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSystemVersionStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionStringWide(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetContextStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetContextStackTrace(::core::mem::transmute_copy(&startcontext), ::core::mem::transmute_copy(&startcontextsize), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn OutputContextStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputContextStackTrace(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetStoredEventInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, context: *mut ::core::ffi::c_void, contextsize: u32, contextused: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStoredEventInformation(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize), ::core::mem::transmute_copy(&contextused), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused)).into()
}
unsafe extern "system" fn GetManagedStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32, whichstring: u32, string: ::windows::core::PSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetManagedStatus(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&whichstring), ::core::mem::transmute_copy(&string), ::core::mem::transmute_copy(&stringsize), ::core::mem::transmute_copy(&stringneeded)).into()
}
unsafe extern "system" fn GetManagedStatusWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32, whichstring: u32, string: ::windows::core::PWSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetManagedStatusWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&whichstring), ::core::mem::transmute_copy(&string), ::core::mem::transmute_copy(&stringsize), ::core::mem::transmute_copy(&stringneeded)).into()
}
unsafe extern "system" fn ResetManagedStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetManagedStatus(::core::mem::transmute_copy(&flags)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, Impl, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, Impl, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, Impl, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, Impl, OFFSET>,
GetLogFile: GetLogFile::<Identity, Impl, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, Impl, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, Impl, OFFSET>,
GetLogMask: GetLogMask::<Identity, Impl, OFFSET>,
SetLogMask: SetLogMask::<Identity, Impl, OFFSET>,
Input: Input::<Identity, Impl, OFFSET>,
ReturnInput: ReturnInput::<Identity, Impl, OFFSET>,
Output: Output::<Identity, Impl, OFFSET>,
OutputVaList: OutputVaList::<Identity, Impl, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, Impl, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, Impl, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, Impl, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, Impl, OFFSET>,
GetPromptText: GetPromptText::<Identity, Impl, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, Impl, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, Impl, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, Impl, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, Impl, OFFSET>,
Assemble: Assemble::<Identity, Impl, OFFSET>,
Disassemble: Disassemble::<Identity, Impl, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, Impl, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, Impl, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, Impl, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, Impl, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, Impl, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, Impl, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, Impl, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, Impl, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, Impl, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, Impl, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, Impl, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, Impl, OFFSET>,
GetPageSize: GetPageSize::<Identity, Impl, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, Impl, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, Impl, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, Impl, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, Impl, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, Impl, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, Impl, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, Impl, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, Impl, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, Impl, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, Impl, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, Impl, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, Impl, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, Impl, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, Impl, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, Impl, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, Impl, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, Impl, OFFSET>,
GetRadix: GetRadix::<Identity, Impl, OFFSET>,
SetRadix: SetRadix::<Identity, Impl, OFFSET>,
Evaluate: Evaluate::<Identity, Impl, OFFSET>,
CoerceValue: CoerceValue::<Identity, Impl, OFFSET>,
CoerceValues: CoerceValues::<Identity, Impl, OFFSET>,
Execute: Execute::<Identity, Impl, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, Impl, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, Impl, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, Impl, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, Impl, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, Impl, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, Impl, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, Impl, OFFSET>,
AddExtension: AddExtension::<Identity, Impl, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, Impl, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, Impl, OFFSET>,
CallExtension: CallExtension::<Identity, Impl, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, Impl, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, Impl, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, Impl, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, Impl, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, Impl, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, Impl, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, Impl, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, Impl, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, Impl, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, Impl, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, Impl, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, Impl, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, Impl, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, Impl, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, Impl, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, Impl, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, Impl, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, Impl, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, Impl, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, Impl, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, Impl, OFFSET>,
GetAssemblyOptions: GetAssemblyOptions::<Identity, Impl, OFFSET>,
AddAssemblyOptions: AddAssemblyOptions::<Identity, Impl, OFFSET>,
RemoveAssemblyOptions: RemoveAssemblyOptions::<Identity, Impl, OFFSET>,
SetAssemblyOptions: SetAssemblyOptions::<Identity, Impl, OFFSET>,
GetExpressionSyntax: GetExpressionSyntax::<Identity, Impl, OFFSET>,
SetExpressionSyntax: SetExpressionSyntax::<Identity, Impl, OFFSET>,
SetExpressionSyntaxByName: SetExpressionSyntaxByName::<Identity, Impl, OFFSET>,
GetNumberExpressionSyntaxes: GetNumberExpressionSyntaxes::<Identity, Impl, OFFSET>,
GetExpressionSyntaxNames: GetExpressionSyntaxNames::<Identity, Impl, OFFSET>,
GetNumberEvents: GetNumberEvents::<Identity, Impl, OFFSET>,
GetEventIndexDescription: GetEventIndexDescription::<Identity, Impl, OFFSET>,
GetCurrentEventIndex: GetCurrentEventIndex::<Identity, Impl, OFFSET>,
SetNextEventIndex: SetNextEventIndex::<Identity, Impl, OFFSET>,
GetLogFileWide: GetLogFileWide::<Identity, Impl, OFFSET>,
OpenLogFileWide: OpenLogFileWide::<Identity, Impl, OFFSET>,
InputWide: InputWide::<Identity, Impl, OFFSET>,
ReturnInputWide: ReturnInputWide::<Identity, Impl, OFFSET>,
OutputWide: OutputWide::<Identity, Impl, OFFSET>,
OutputVaListWide: OutputVaListWide::<Identity, Impl, OFFSET>,
ControlledOutputWide: ControlledOutputWide::<Identity, Impl, OFFSET>,
ControlledOutputVaListWide: ControlledOutputVaListWide::<Identity, Impl, OFFSET>,
OutputPromptWide: OutputPromptWide::<Identity, Impl, OFFSET>,
OutputPromptVaListWide: OutputPromptVaListWide::<Identity, Impl, OFFSET>,
GetPromptTextWide: GetPromptTextWide::<Identity, Impl, OFFSET>,
AssembleWide: AssembleWide::<Identity, Impl, OFFSET>,
DisassembleWide: DisassembleWide::<Identity, Impl, OFFSET>,
GetProcessorTypeNamesWide: GetProcessorTypeNamesWide::<Identity, Impl, OFFSET>,
GetTextMacroWide: GetTextMacroWide::<Identity, Impl, OFFSET>,
SetTextMacroWide: SetTextMacroWide::<Identity, Impl, OFFSET>,
EvaluateWide: EvaluateWide::<Identity, Impl, OFFSET>,
ExecuteWide: ExecuteWide::<Identity, Impl, OFFSET>,
ExecuteCommandFileWide: ExecuteCommandFileWide::<Identity, Impl, OFFSET>,
GetBreakpointByIndex2: GetBreakpointByIndex2::<Identity, Impl, OFFSET>,
GetBreakpointById2: GetBreakpointById2::<Identity, Impl, OFFSET>,
AddBreakpoint2: AddBreakpoint2::<Identity, Impl, OFFSET>,
RemoveBreakpoint2: RemoveBreakpoint2::<Identity, Impl, OFFSET>,
AddExtensionWide: AddExtensionWide::<Identity, Impl, OFFSET>,
GetExtensionByPathWide: GetExtensionByPathWide::<Identity, Impl, OFFSET>,
CallExtensionWide: CallExtensionWide::<Identity, Impl, OFFSET>,
GetExtensionFunctionWide: GetExtensionFunctionWide::<Identity, Impl, OFFSET>,
GetEventFilterTextWide: GetEventFilterTextWide::<Identity, Impl, OFFSET>,
GetEventFilterCommandWide: GetEventFilterCommandWide::<Identity, Impl, OFFSET>,
SetEventFilterCommandWide: SetEventFilterCommandWide::<Identity, Impl, OFFSET>,
GetSpecificFilterArgumentWide: GetSpecificFilterArgumentWide::<Identity, Impl, OFFSET>,
SetSpecificFilterArgumentWide: SetSpecificFilterArgumentWide::<Identity, Impl, OFFSET>,
GetExceptionFilterSecondCommandWide: GetExceptionFilterSecondCommandWide::<Identity, Impl, OFFSET>,
SetExceptionFilterSecondCommandWide: SetExceptionFilterSecondCommandWide::<Identity, Impl, OFFSET>,
GetLastEventInformationWide: GetLastEventInformationWide::<Identity, Impl, OFFSET>,
GetTextReplacementWide: GetTextReplacementWide::<Identity, Impl, OFFSET>,
SetTextReplacementWide: SetTextReplacementWide::<Identity, Impl, OFFSET>,
SetExpressionSyntaxByNameWide: SetExpressionSyntaxByNameWide::<Identity, Impl, OFFSET>,
GetExpressionSyntaxNamesWide: GetExpressionSyntaxNamesWide::<Identity, Impl, OFFSET>,
GetEventIndexDescriptionWide: GetEventIndexDescriptionWide::<Identity, Impl, OFFSET>,
GetLogFile2: GetLogFile2::<Identity, Impl, OFFSET>,
OpenLogFile2: OpenLogFile2::<Identity, Impl, OFFSET>,
GetLogFile2Wide: GetLogFile2Wide::<Identity, Impl, OFFSET>,
OpenLogFile2Wide: OpenLogFile2Wide::<Identity, Impl, OFFSET>,
GetSystemVersionValues: GetSystemVersionValues::<Identity, Impl, OFFSET>,
GetSystemVersionString: GetSystemVersionString::<Identity, Impl, OFFSET>,
GetSystemVersionStringWide: GetSystemVersionStringWide::<Identity, Impl, OFFSET>,
GetContextStackTrace: GetContextStackTrace::<Identity, Impl, OFFSET>,
OutputContextStackTrace: OutputContextStackTrace::<Identity, Impl, OFFSET>,
GetStoredEventInformation: GetStoredEventInformation::<Identity, Impl, OFFSET>,
GetManagedStatus: GetManagedStatus::<Identity, Impl, OFFSET>,
GetManagedStatusWide: GetManagedStatusWide::<Identity, Impl, OFFSET>,
ResetManagedStatus: ResetManagedStatus::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugControl4 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub trait IDebugControl5_Impl: Sized {
fn GetInterrupt(&self) -> ::windows::core::Result<()>;
fn SetInterrupt(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetInterruptTimeout(&self) -> ::windows::core::Result<u32>;
fn SetInterruptTimeout(&self, seconds: u32) -> ::windows::core::Result<()>;
fn GetLogFile(&self, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OpenLogFile(&self, file: &::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn CloseLogFile(&self) -> ::windows::core::Result<()>;
fn GetLogMask(&self) -> ::windows::core::Result<u32>;
fn SetLogMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn Input(&self, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::Result<()>;
fn ReturnInput(&self, buffer: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn Output(&self, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputVaList(&self, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn ControlledOutput(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn ControlledOutputVaList(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn OutputPrompt(&self, outputcontrol: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputPromptVaList(&self, outputcontrol: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn GetPromptText(&self, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn OutputCurrentState(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn OutputVersionInformation(&self, outputcontrol: u32) -> ::windows::core::Result<()>;
fn GetNotifyEventHandle(&self) -> ::windows::core::Result<u64>;
fn SetNotifyEventHandle(&self, handle: u64) -> ::windows::core::Result<()>;
fn Assemble(&self, offset: u64, instr: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn Disassemble(&self, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::Result<()>;
fn GetDisassembleEffectiveOffset(&self) -> ::windows::core::Result<u64>;
fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows::core::Result<u64>;
fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::Result<()>;
fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows::core::Result<u64>;
fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn GetReturnOffset(&self) -> ::windows::core::Result<u64>;
fn OutputStackTrace(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetDebuggeeType(&self, class: *mut u32, qualifier: *mut u32) -> ::windows::core::Result<()>;
fn GetActualProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetExecutingProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetPossibleExecutingProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberProcessors(&self) -> ::windows::core::Result<u32>;
fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::Result<()>;
fn GetPageSize(&self) -> ::windows::core::Result<u32>;
fn IsPointer64Bit(&self) -> ::windows::core::Result<()>;
fn ReadBugCheckData(&self, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::Result<()>;
fn GetNumberSupportedProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetSupportedProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetProcessorTypeNames(&self, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetEffectiveProcessorType(&self) -> ::windows::core::Result<u32>;
fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows::core::Result<()>;
fn GetExecutionStatus(&self) -> ::windows::core::Result<u32>;
fn SetExecutionStatus(&self, status: u32) -> ::windows::core::Result<()>;
fn GetCodeLevel(&self) -> ::windows::core::Result<u32>;
fn SetCodeLevel(&self, level: u32) -> ::windows::core::Result<()>;
fn GetEngineOptions(&self) -> ::windows::core::Result<u32>;
fn AddEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetSystemErrorControl(&self, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::Result<()>;
fn SetSystemErrorControl(&self, outputlevel: u32, breaklevel: u32) -> ::windows::core::Result<()>;
fn GetTextMacro(&self, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextMacro(&self, slot: u32, r#macro: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetRadix(&self) -> ::windows::core::Result<u32>;
fn SetRadix(&self, radix: u32) -> ::windows::core::Result<()>;
fn Evaluate(&self, expression: &::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::Result<()>;
fn CoerceValue(&self, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn CoerceValues(&self, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn Execute(&self, outputcontrol: u32, command: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn ExecuteCommandFile(&self, outputcontrol: u32, commandfile: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetNumberBreakpoints(&self) -> ::windows::core::Result<u32>;
fn GetBreakpointByIndex(&self, index: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointById(&self, id: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointParameters(&self, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::Result<()>;
fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn RemoveBreakpoint(&self, bp: ::core::option::Option<&IDebugBreakpoint>) -> ::windows::core::Result<()>;
fn AddExtension(&self, path: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u64>;
fn RemoveExtension(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetExtensionByPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn CallExtension(&self, handle: u64, function: &::windows::core::PCSTR, arguments: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExtensionFunction(&self, handle: u64, funcname: &::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis32(&self, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis64(&self, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::Result<()>;
fn GetNumberEventFilters(&self, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterText(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetEventFilterCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSpecificFilterParameters(&self, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetSpecificFilterParameters(&self, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSpecificFilterArgument(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSpecificFilterArgument(&self, index: u32, argument: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExceptionFilterParameters(&self, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetExceptionFilterParameters(&self, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetExceptionFilterSecondCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetExceptionFilterSecondCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WaitForEvent(&self, flags: u32, timeout: u32) -> ::windows::core::Result<()>;
fn GetLastEventInformation(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentTimeDate(&self) -> ::windows::core::Result<u32>;
fn GetCurrentSystemUpTime(&self) -> ::windows::core::Result<u32>;
fn GetDumpFormatFlags(&self) -> ::windows::core::Result<u32>;
fn GetNumberTextReplacements(&self) -> ::windows::core::Result<u32>;
fn GetTextReplacement(&self, srctext: &::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextReplacement(&self, srctext: &::windows::core::PCSTR, dsttext: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn RemoveTextReplacements(&self) -> ::windows::core::Result<()>;
fn OutputTextReplacements(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetAssemblyOptions(&self) -> ::windows::core::Result<u32>;
fn AddAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetExpressionSyntax(&self) -> ::windows::core::Result<u32>;
fn SetExpressionSyntax(&self, flags: u32) -> ::windows::core::Result<()>;
fn SetExpressionSyntaxByName(&self, abbrevname: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetNumberExpressionSyntaxes(&self) -> ::windows::core::Result<u32>;
fn GetExpressionSyntaxNames(&self, index: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberEvents(&self) -> ::windows::core::Result<u32>;
fn GetEventIndexDescription(&self, index: u32, which: u32, buffer: &::windows::core::PCSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentEventIndex(&self) -> ::windows::core::Result<u32>;
fn SetNextEventIndex(&self, relation: u32, value: u32) -> ::windows::core::Result<u32>;
fn GetLogFileWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OpenLogFileWide(&self, file: &::windows::core::PCWSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn InputWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::Result<()>;
fn ReturnInputWide(&self, buffer: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputWide(&self, mask: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputVaListWide(&self, mask: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn ControlledOutputWide(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn ControlledOutputVaListWide(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn OutputPromptWide(&self, outputcontrol: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputPromptVaListWide(&self, outputcontrol: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn GetPromptTextWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn AssembleWide(&self, offset: u64, instr: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn DisassembleWide(&self, offset: u64, flags: u32, buffer: ::windows::core::PWSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::Result<()>;
fn GetProcessorTypeNamesWide(&self, r#type: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTextMacroWide(&self, slot: u32, buffer: ::windows::core::PWSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextMacroWide(&self, slot: u32, r#macro: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn EvaluateWide(&self, expression: &::windows::core::PCWSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::Result<()>;
fn ExecuteWide(&self, outputcontrol: u32, command: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn ExecuteCommandFileWide(&self, outputcontrol: u32, commandfile: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetBreakpointByIndex2(&self, index: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn GetBreakpointById2(&self, id: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn AddBreakpoint2(&self, r#type: u32, desiredid: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn RemoveBreakpoint2(&self, bp: ::core::option::Option<&IDebugBreakpoint2>) -> ::windows::core::Result<()>;
fn AddExtensionWide(&self, path: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<u64>;
fn GetExtensionByPathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn CallExtensionWide(&self, handle: u64, function: &::windows::core::PCWSTR, arguments: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExtensionFunctionWide(&self, handle: u64, funcname: &::windows::core::PCWSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::Result<()>;
fn GetEventFilterTextWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterCommandWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetEventFilterCommandWide(&self, index: u32, command: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSpecificFilterArgumentWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSpecificFilterArgumentWide(&self, index: u32, argument: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExceptionFilterSecondCommandWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetExceptionFilterSecondCommandWide(&self, index: u32, command: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetLastEventInformationWide(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::Result<()>;
fn GetTextReplacementWide(&self, srctext: &::windows::core::PCWSTR, index: u32, srcbuffer: ::windows::core::PWSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PWSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextReplacementWide(&self, srctext: &::windows::core::PCWSTR, dsttext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetExpressionSyntaxByNameWide(&self, abbrevname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExpressionSyntaxNamesWide(&self, index: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventIndexDescriptionWide(&self, index: u32, which: u32, buffer: &::windows::core::PCWSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::Result<()>;
fn GetLogFile2(&self, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::Result<()>;
fn OpenLogFile2(&self, file: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetLogFile2Wide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::Result<()>;
fn OpenLogFile2Wide(&self, file: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetSystemVersionValues(&self, platformid: *mut u32, win32major: *mut u32, win32minor: *mut u32, kdmajor: *mut u32, kdminor: *mut u32) -> ::windows::core::Result<()>;
fn GetSystemVersionString(&self, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSystemVersionStringWide(&self, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetContextStackTrace(&self, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn OutputContextStackTrace(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetStoredEventInformation(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, context: *mut ::core::ffi::c_void, contextsize: u32, contextused: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32) -> ::windows::core::Result<()>;
fn GetManagedStatus(&self, flags: *mut u32, whichstring: u32, string: ::windows::core::PSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::Result<()>;
fn GetManagedStatusWide(&self, flags: *mut u32, whichstring: u32, string: ::windows::core::PWSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::Result<()>;
fn ResetManagedStatus(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetStackTraceEx(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn OutputStackTraceEx(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetContextStackTraceEx(&self, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn OutputContextStackTraceEx(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetBreakpointByGuid(&self, guid: *const ::windows::core::GUID) -> ::windows::core::Result<IDebugBreakpoint3>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl ::windows::core::RuntimeName for IDebugControl5 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl IDebugControl5_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>() -> IDebugControl5_Vtbl {
unsafe extern "system" fn GetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetInterrupt().into()
}
unsafe extern "system" fn SetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterrupt(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInterruptTimeout() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(seconds, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterruptTimeout(::core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn OpenLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile(::core::mem::transmute(&file), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CloseLogFile().into()
}
unsafe extern "system" fn GetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLogMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLogMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Input(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&inputsize)).into()
}
unsafe extern "system" fn ReturnInput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnInput(::core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Output(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVaList(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutput(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn OutputPrompt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPrompt(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPromptText(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn OutputCurrentState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputCurrentState(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVersionInformation(::core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNotifyEventHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNotifyEventHandle(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, instr: ::windows::core::PCSTR, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Assemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute(&instr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Disassemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&disassemblysize), ::core::mem::transmute_copy(&endoffset)).into()
}
unsafe extern "system" fn GetDisassembleEffectiveOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDisassembleEffectiveOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OutputDisassembly(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputDisassemblyLines(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&previouslines), ::core::mem::transmute_copy(&totallines), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offsetline), ::core::mem::transmute_copy(&startoffset), ::core::mem::transmute_copy(&endoffset), ::core::mem::transmute_copy(&lineoffsets)).into()
}
unsafe extern "system" fn GetNearInstruction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNearInstruction(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nearoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStackTrace(::core::mem::transmute_copy(&frameoffset), ::core::mem::transmute_copy(&stackoffset), ::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn GetReturnOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetReturnOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputStackTrace(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetDebuggeeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDebuggeeType(::core::mem::transmute_copy(&class), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetActualProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutingProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberPossibleExecutingProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPossibleExecutingProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetNumberProcessors<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberProcessors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersion(::core::mem::transmute_copy(&platformid), ::core::mem::transmute_copy(&major), ::core::mem::transmute_copy(&minor), ::core::mem::transmute_copy(&servicepackstring), ::core::mem::transmute_copy(&servicepackstringsize), ::core::mem::transmute_copy(&servicepackstringused), ::core::mem::transmute_copy(&servicepacknumber), ::core::mem::transmute_copy(&buildstring), ::core::mem::transmute_copy(&buildstringsize), ::core::mem::transmute_copy(&buildstringused))
.into()
}
unsafe extern "system" fn GetPageSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPageSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsPointer64Bit().into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBugCheckData(::core::mem::transmute_copy(&code), ::core::mem::transmute_copy(&arg1), ::core::mem::transmute_copy(&arg2), ::core::mem::transmute_copy(&arg3), ::core::mem::transmute_copy(&arg4)).into()
}
unsafe extern "system" fn GetNumberSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberSupportedProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSupportedProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetProcessorTypeNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessorTypeNames(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEffectiveProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEffectiveProcessorType(::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutionStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(status, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExecutionStatus(::core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCodeLevel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(level, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCodeLevel(::core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEngineOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&macrosize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, r#macro: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRadix() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(radix, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRadix(::core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Evaluate(::core::mem::transmute(&expression), ::core::mem::transmute_copy(&desiredtype), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&remainderindex)).into()
}
unsafe extern "system" fn CoerceValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValue(::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtype), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn CoerceValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValues(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtypes), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn Execute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, command: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Execute(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&command), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, commandfile: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteCommandFile(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&commandfile), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberBreakpoints() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointById(::core::mem::transmute_copy(&id)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBreakpointParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddBreakpoint(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&desiredid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveBreakpoint(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, flags: u32, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddExtension(::core::mem::transmute(&path), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveExtension(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtensionByPath(::core::mem::transmute(&path)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, function: ::windows::core::PCSTR, arguments: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CallExtension(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&function), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, funcname: ::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtensionFunction(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&funcname), ::core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis32(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis64(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberEventFilters(::core::mem::transmute_copy(&specificevents), ::core::mem::transmute_copy(&specificexceptions), ::core::mem::transmute_copy(&arbitraryexceptions)).into()
}
unsafe extern "system" fn GetEventFilterText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterText(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn GetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&argumentsize)).into()
}
unsafe extern "system" fn SetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, argument: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&codes), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForEvent(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastEventInformation(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&descriptionused)).into()
}
unsafe extern "system" fn GetCurrentTimeDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timedate: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentTimeDate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(timedate, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uptime: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentSystemUpTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(uptime, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, formatflags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDumpFormatFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(formatflags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numrepl: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberTextReplacements() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(numrepl, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&srcbuffer), ::core::mem::transmute_copy(&srcbuffersize), ::core::mem::transmute_copy(&srcsize), ::core::mem::transmute_copy(&dstbuffer), ::core::mem::transmute_copy(&dstbuffersize), ::core::mem::transmute_copy(&dstsize)).into()
}
unsafe extern "system" fn SetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, dsttext: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTextReplacements().into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTextReplacements(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAssemblyOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetExpressionSyntax<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExpressionSyntax() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(flags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExpressionSyntax<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntax(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, abbrevname: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntaxByName(::core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetNumberExpressionSyntaxes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberExpressionSyntaxes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpressionSyntaxNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExpressionSyntaxNames(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetNumberEvents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, events: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberEvents() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(events, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventIndexDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, which: u32, buffer: ::windows::core::PCSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventIndexDescription(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&which), ::core::mem::transmute(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&descsize)).into()
}
unsafe extern "system" fn GetCurrentEventIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentEventIndex() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNextEventIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, relation: u32, value: u32, nextindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SetNextEventIndex(::core::mem::transmute_copy(&relation), ::core::mem::transmute_copy(&value)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nextindex, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFileWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn OpenLogFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCWSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFileWide(::core::mem::transmute(&file), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn InputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InputWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&inputsize)).into()
}
unsafe extern "system" fn ReturnInputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnInputWide(::core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn OutputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputWide(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVaListWide(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputVaListWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn OutputPromptWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptVaListWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptTextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPromptTextWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn AssembleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, instr: ::windows::core::PCWSTR, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AssembleWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute(&instr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisassembleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: ::windows::core::PWSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisassembleWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&disassemblysize), ::core::mem::transmute_copy(&endoffset)).into()
}
unsafe extern "system" fn GetProcessorTypeNamesWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessorTypeNamesWide(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetTextMacroWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, buffer: ::windows::core::PWSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextMacroWide(::core::mem::transmute_copy(&slot), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&macrosize)).into()
}
unsafe extern "system" fn SetTextMacroWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, r#macro: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextMacroWide(::core::mem::transmute_copy(&slot), ::core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn EvaluateWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCWSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EvaluateWide(::core::mem::transmute(&expression), ::core::mem::transmute_copy(&desiredtype), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&remainderindex)).into()
}
unsafe extern "system" fn ExecuteWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, command: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&command), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, commandfile: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteCommandFileWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&commandfile), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetBreakpointByIndex2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByIndex2(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointById2(::core::mem::transmute_copy(&id)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddBreakpoint2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddBreakpoint2(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&desiredid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveBreakpoint2(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtensionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR, flags: u32, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddExtensionWide(::core::mem::transmute(&path), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExtensionByPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtensionByPathWide(::core::mem::transmute(&path)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtensionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, function: ::windows::core::PCWSTR, arguments: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CallExtensionWide(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&function), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunctionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, funcname: ::windows::core::PCWSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtensionFunctionWide(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&funcname), ::core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetEventFilterTextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterTextWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn GetEventFilterCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetEventFilterCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilterCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterArgumentWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterArgumentWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&argumentsize)).into()
}
unsafe extern "system" fn SetSpecificFilterArgumentWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, argument: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterArgumentWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterSecondCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetExceptionFilterSecondCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterSecondCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetLastEventInformationWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastEventInformationWide(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&descriptionused)).into()
}
unsafe extern "system" fn GetTextReplacementWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCWSTR, index: u32, srcbuffer: ::windows::core::PWSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PWSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextReplacementWide(::core::mem::transmute(&srctext), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&srcbuffer), ::core::mem::transmute_copy(&srcbuffersize), ::core::mem::transmute_copy(&srcsize), ::core::mem::transmute_copy(&dstbuffer), ::core::mem::transmute_copy(&dstbuffersize), ::core::mem::transmute_copy(&dstsize)).into()
}
unsafe extern "system" fn SetTextReplacementWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCWSTR, dsttext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextReplacementWide(::core::mem::transmute(&srctext), ::core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, abbrevname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntaxByNameWide(::core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetExpressionSyntaxNamesWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExpressionSyntaxNamesWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetEventIndexDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, which: u32, buffer: ::windows::core::PCWSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventIndexDescriptionWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&which), ::core::mem::transmute(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&descsize)).into()
}
unsafe extern "system" fn GetLogFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile2(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OpenLogFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile2(::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetLogFile2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile2Wide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OpenLogFile2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile2Wide(::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetSystemVersionValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, platformid: *mut u32, win32major: *mut u32, win32minor: *mut u32, kdmajor: *mut u32, kdminor: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionValues(::core::mem::transmute_copy(&platformid), ::core::mem::transmute_copy(&win32major), ::core::mem::transmute_copy(&win32minor), ::core::mem::transmute_copy(&kdmajor), ::core::mem::transmute_copy(&kdminor)).into()
}
unsafe extern "system" fn GetSystemVersionString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionString(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSystemVersionStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionStringWide(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetContextStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetContextStackTrace(::core::mem::transmute_copy(&startcontext), ::core::mem::transmute_copy(&startcontextsize), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn OutputContextStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputContextStackTrace(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetStoredEventInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, context: *mut ::core::ffi::c_void, contextsize: u32, contextused: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStoredEventInformation(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize), ::core::mem::transmute_copy(&contextused), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused)).into()
}
unsafe extern "system" fn GetManagedStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32, whichstring: u32, string: ::windows::core::PSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetManagedStatus(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&whichstring), ::core::mem::transmute_copy(&string), ::core::mem::transmute_copy(&stringsize), ::core::mem::transmute_copy(&stringneeded)).into()
}
unsafe extern "system" fn GetManagedStatusWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32, whichstring: u32, string: ::windows::core::PWSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetManagedStatusWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&whichstring), ::core::mem::transmute_copy(&string), ::core::mem::transmute_copy(&stringsize), ::core::mem::transmute_copy(&stringneeded)).into()
}
unsafe extern "system" fn ResetManagedStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetManagedStatus(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStackTraceEx(::core::mem::transmute_copy(&frameoffset), ::core::mem::transmute_copy(&stackoffset), ::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn OutputStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputStackTraceEx(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetContextStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetContextStackTraceEx(::core::mem::transmute_copy(&startcontext), ::core::mem::transmute_copy(&startcontextsize), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn OutputContextStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputContextStackTraceEx(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetBreakpointByGuid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByGuid(::core::mem::transmute_copy(&guid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, Impl, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, Impl, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, Impl, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, Impl, OFFSET>,
GetLogFile: GetLogFile::<Identity, Impl, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, Impl, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, Impl, OFFSET>,
GetLogMask: GetLogMask::<Identity, Impl, OFFSET>,
SetLogMask: SetLogMask::<Identity, Impl, OFFSET>,
Input: Input::<Identity, Impl, OFFSET>,
ReturnInput: ReturnInput::<Identity, Impl, OFFSET>,
Output: Output::<Identity, Impl, OFFSET>,
OutputVaList: OutputVaList::<Identity, Impl, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, Impl, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, Impl, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, Impl, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, Impl, OFFSET>,
GetPromptText: GetPromptText::<Identity, Impl, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, Impl, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, Impl, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, Impl, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, Impl, OFFSET>,
Assemble: Assemble::<Identity, Impl, OFFSET>,
Disassemble: Disassemble::<Identity, Impl, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, Impl, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, Impl, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, Impl, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, Impl, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, Impl, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, Impl, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, Impl, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, Impl, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, Impl, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, Impl, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, Impl, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, Impl, OFFSET>,
GetPageSize: GetPageSize::<Identity, Impl, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, Impl, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, Impl, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, Impl, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, Impl, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, Impl, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, Impl, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, Impl, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, Impl, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, Impl, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, Impl, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, Impl, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, Impl, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, Impl, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, Impl, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, Impl, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, Impl, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, Impl, OFFSET>,
GetRadix: GetRadix::<Identity, Impl, OFFSET>,
SetRadix: SetRadix::<Identity, Impl, OFFSET>,
Evaluate: Evaluate::<Identity, Impl, OFFSET>,
CoerceValue: CoerceValue::<Identity, Impl, OFFSET>,
CoerceValues: CoerceValues::<Identity, Impl, OFFSET>,
Execute: Execute::<Identity, Impl, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, Impl, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, Impl, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, Impl, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, Impl, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, Impl, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, Impl, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, Impl, OFFSET>,
AddExtension: AddExtension::<Identity, Impl, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, Impl, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, Impl, OFFSET>,
CallExtension: CallExtension::<Identity, Impl, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, Impl, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, Impl, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, Impl, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, Impl, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, Impl, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, Impl, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, Impl, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, Impl, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, Impl, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, Impl, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, Impl, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, Impl, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, Impl, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, Impl, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, Impl, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, Impl, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, Impl, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, Impl, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, Impl, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, Impl, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, Impl, OFFSET>,
GetAssemblyOptions: GetAssemblyOptions::<Identity, Impl, OFFSET>,
AddAssemblyOptions: AddAssemblyOptions::<Identity, Impl, OFFSET>,
RemoveAssemblyOptions: RemoveAssemblyOptions::<Identity, Impl, OFFSET>,
SetAssemblyOptions: SetAssemblyOptions::<Identity, Impl, OFFSET>,
GetExpressionSyntax: GetExpressionSyntax::<Identity, Impl, OFFSET>,
SetExpressionSyntax: SetExpressionSyntax::<Identity, Impl, OFFSET>,
SetExpressionSyntaxByName: SetExpressionSyntaxByName::<Identity, Impl, OFFSET>,
GetNumberExpressionSyntaxes: GetNumberExpressionSyntaxes::<Identity, Impl, OFFSET>,
GetExpressionSyntaxNames: GetExpressionSyntaxNames::<Identity, Impl, OFFSET>,
GetNumberEvents: GetNumberEvents::<Identity, Impl, OFFSET>,
GetEventIndexDescription: GetEventIndexDescription::<Identity, Impl, OFFSET>,
GetCurrentEventIndex: GetCurrentEventIndex::<Identity, Impl, OFFSET>,
SetNextEventIndex: SetNextEventIndex::<Identity, Impl, OFFSET>,
GetLogFileWide: GetLogFileWide::<Identity, Impl, OFFSET>,
OpenLogFileWide: OpenLogFileWide::<Identity, Impl, OFFSET>,
InputWide: InputWide::<Identity, Impl, OFFSET>,
ReturnInputWide: ReturnInputWide::<Identity, Impl, OFFSET>,
OutputWide: OutputWide::<Identity, Impl, OFFSET>,
OutputVaListWide: OutputVaListWide::<Identity, Impl, OFFSET>,
ControlledOutputWide: ControlledOutputWide::<Identity, Impl, OFFSET>,
ControlledOutputVaListWide: ControlledOutputVaListWide::<Identity, Impl, OFFSET>,
OutputPromptWide: OutputPromptWide::<Identity, Impl, OFFSET>,
OutputPromptVaListWide: OutputPromptVaListWide::<Identity, Impl, OFFSET>,
GetPromptTextWide: GetPromptTextWide::<Identity, Impl, OFFSET>,
AssembleWide: AssembleWide::<Identity, Impl, OFFSET>,
DisassembleWide: DisassembleWide::<Identity, Impl, OFFSET>,
GetProcessorTypeNamesWide: GetProcessorTypeNamesWide::<Identity, Impl, OFFSET>,
GetTextMacroWide: GetTextMacroWide::<Identity, Impl, OFFSET>,
SetTextMacroWide: SetTextMacroWide::<Identity, Impl, OFFSET>,
EvaluateWide: EvaluateWide::<Identity, Impl, OFFSET>,
ExecuteWide: ExecuteWide::<Identity, Impl, OFFSET>,
ExecuteCommandFileWide: ExecuteCommandFileWide::<Identity, Impl, OFFSET>,
GetBreakpointByIndex2: GetBreakpointByIndex2::<Identity, Impl, OFFSET>,
GetBreakpointById2: GetBreakpointById2::<Identity, Impl, OFFSET>,
AddBreakpoint2: AddBreakpoint2::<Identity, Impl, OFFSET>,
RemoveBreakpoint2: RemoveBreakpoint2::<Identity, Impl, OFFSET>,
AddExtensionWide: AddExtensionWide::<Identity, Impl, OFFSET>,
GetExtensionByPathWide: GetExtensionByPathWide::<Identity, Impl, OFFSET>,
CallExtensionWide: CallExtensionWide::<Identity, Impl, OFFSET>,
GetExtensionFunctionWide: GetExtensionFunctionWide::<Identity, Impl, OFFSET>,
GetEventFilterTextWide: GetEventFilterTextWide::<Identity, Impl, OFFSET>,
GetEventFilterCommandWide: GetEventFilterCommandWide::<Identity, Impl, OFFSET>,
SetEventFilterCommandWide: SetEventFilterCommandWide::<Identity, Impl, OFFSET>,
GetSpecificFilterArgumentWide: GetSpecificFilterArgumentWide::<Identity, Impl, OFFSET>,
SetSpecificFilterArgumentWide: SetSpecificFilterArgumentWide::<Identity, Impl, OFFSET>,
GetExceptionFilterSecondCommandWide: GetExceptionFilterSecondCommandWide::<Identity, Impl, OFFSET>,
SetExceptionFilterSecondCommandWide: SetExceptionFilterSecondCommandWide::<Identity, Impl, OFFSET>,
GetLastEventInformationWide: GetLastEventInformationWide::<Identity, Impl, OFFSET>,
GetTextReplacementWide: GetTextReplacementWide::<Identity, Impl, OFFSET>,
SetTextReplacementWide: SetTextReplacementWide::<Identity, Impl, OFFSET>,
SetExpressionSyntaxByNameWide: SetExpressionSyntaxByNameWide::<Identity, Impl, OFFSET>,
GetExpressionSyntaxNamesWide: GetExpressionSyntaxNamesWide::<Identity, Impl, OFFSET>,
GetEventIndexDescriptionWide: GetEventIndexDescriptionWide::<Identity, Impl, OFFSET>,
GetLogFile2: GetLogFile2::<Identity, Impl, OFFSET>,
OpenLogFile2: OpenLogFile2::<Identity, Impl, OFFSET>,
GetLogFile2Wide: GetLogFile2Wide::<Identity, Impl, OFFSET>,
OpenLogFile2Wide: OpenLogFile2Wide::<Identity, Impl, OFFSET>,
GetSystemVersionValues: GetSystemVersionValues::<Identity, Impl, OFFSET>,
GetSystemVersionString: GetSystemVersionString::<Identity, Impl, OFFSET>,
GetSystemVersionStringWide: GetSystemVersionStringWide::<Identity, Impl, OFFSET>,
GetContextStackTrace: GetContextStackTrace::<Identity, Impl, OFFSET>,
OutputContextStackTrace: OutputContextStackTrace::<Identity, Impl, OFFSET>,
GetStoredEventInformation: GetStoredEventInformation::<Identity, Impl, OFFSET>,
GetManagedStatus: GetManagedStatus::<Identity, Impl, OFFSET>,
GetManagedStatusWide: GetManagedStatusWide::<Identity, Impl, OFFSET>,
ResetManagedStatus: ResetManagedStatus::<Identity, Impl, OFFSET>,
GetStackTraceEx: GetStackTraceEx::<Identity, Impl, OFFSET>,
OutputStackTraceEx: OutputStackTraceEx::<Identity, Impl, OFFSET>,
GetContextStackTraceEx: GetContextStackTraceEx::<Identity, Impl, OFFSET>,
OutputContextStackTraceEx: OutputContextStackTraceEx::<Identity, Impl, OFFSET>,
GetBreakpointByGuid: GetBreakpointByGuid::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugControl5 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub trait IDebugControl6_Impl: Sized {
fn GetInterrupt(&self) -> ::windows::core::Result<()>;
fn SetInterrupt(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetInterruptTimeout(&self) -> ::windows::core::Result<u32>;
fn SetInterruptTimeout(&self, seconds: u32) -> ::windows::core::Result<()>;
fn GetLogFile(&self, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OpenLogFile(&self, file: &::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn CloseLogFile(&self) -> ::windows::core::Result<()>;
fn GetLogMask(&self) -> ::windows::core::Result<u32>;
fn SetLogMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn Input(&self, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::Result<()>;
fn ReturnInput(&self, buffer: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn Output(&self, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputVaList(&self, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn ControlledOutput(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn ControlledOutputVaList(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn OutputPrompt(&self, outputcontrol: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputPromptVaList(&self, outputcontrol: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn GetPromptText(&self, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn OutputCurrentState(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn OutputVersionInformation(&self, outputcontrol: u32) -> ::windows::core::Result<()>;
fn GetNotifyEventHandle(&self) -> ::windows::core::Result<u64>;
fn SetNotifyEventHandle(&self, handle: u64) -> ::windows::core::Result<()>;
fn Assemble(&self, offset: u64, instr: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn Disassemble(&self, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::Result<()>;
fn GetDisassembleEffectiveOffset(&self) -> ::windows::core::Result<u64>;
fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows::core::Result<u64>;
fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::Result<()>;
fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows::core::Result<u64>;
fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn GetReturnOffset(&self) -> ::windows::core::Result<u64>;
fn OutputStackTrace(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetDebuggeeType(&self, class: *mut u32, qualifier: *mut u32) -> ::windows::core::Result<()>;
fn GetActualProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetExecutingProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetPossibleExecutingProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberProcessors(&self) -> ::windows::core::Result<u32>;
fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::Result<()>;
fn GetPageSize(&self) -> ::windows::core::Result<u32>;
fn IsPointer64Bit(&self) -> ::windows::core::Result<()>;
fn ReadBugCheckData(&self, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::Result<()>;
fn GetNumberSupportedProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetSupportedProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetProcessorTypeNames(&self, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetEffectiveProcessorType(&self) -> ::windows::core::Result<u32>;
fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows::core::Result<()>;
fn GetExecutionStatus(&self) -> ::windows::core::Result<u32>;
fn SetExecutionStatus(&self, status: u32) -> ::windows::core::Result<()>;
fn GetCodeLevel(&self) -> ::windows::core::Result<u32>;
fn SetCodeLevel(&self, level: u32) -> ::windows::core::Result<()>;
fn GetEngineOptions(&self) -> ::windows::core::Result<u32>;
fn AddEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetSystemErrorControl(&self, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::Result<()>;
fn SetSystemErrorControl(&self, outputlevel: u32, breaklevel: u32) -> ::windows::core::Result<()>;
fn GetTextMacro(&self, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextMacro(&self, slot: u32, r#macro: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetRadix(&self) -> ::windows::core::Result<u32>;
fn SetRadix(&self, radix: u32) -> ::windows::core::Result<()>;
fn Evaluate(&self, expression: &::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::Result<()>;
fn CoerceValue(&self, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn CoerceValues(&self, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn Execute(&self, outputcontrol: u32, command: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn ExecuteCommandFile(&self, outputcontrol: u32, commandfile: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetNumberBreakpoints(&self) -> ::windows::core::Result<u32>;
fn GetBreakpointByIndex(&self, index: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointById(&self, id: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointParameters(&self, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::Result<()>;
fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn RemoveBreakpoint(&self, bp: ::core::option::Option<&IDebugBreakpoint>) -> ::windows::core::Result<()>;
fn AddExtension(&self, path: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u64>;
fn RemoveExtension(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetExtensionByPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn CallExtension(&self, handle: u64, function: &::windows::core::PCSTR, arguments: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExtensionFunction(&self, handle: u64, funcname: &::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis32(&self, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis64(&self, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::Result<()>;
fn GetNumberEventFilters(&self, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterText(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetEventFilterCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSpecificFilterParameters(&self, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetSpecificFilterParameters(&self, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSpecificFilterArgument(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSpecificFilterArgument(&self, index: u32, argument: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExceptionFilterParameters(&self, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetExceptionFilterParameters(&self, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetExceptionFilterSecondCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetExceptionFilterSecondCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WaitForEvent(&self, flags: u32, timeout: u32) -> ::windows::core::Result<()>;
fn GetLastEventInformation(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentTimeDate(&self) -> ::windows::core::Result<u32>;
fn GetCurrentSystemUpTime(&self) -> ::windows::core::Result<u32>;
fn GetDumpFormatFlags(&self) -> ::windows::core::Result<u32>;
fn GetNumberTextReplacements(&self) -> ::windows::core::Result<u32>;
fn GetTextReplacement(&self, srctext: &::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextReplacement(&self, srctext: &::windows::core::PCSTR, dsttext: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn RemoveTextReplacements(&self) -> ::windows::core::Result<()>;
fn OutputTextReplacements(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetAssemblyOptions(&self) -> ::windows::core::Result<u32>;
fn AddAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetExpressionSyntax(&self) -> ::windows::core::Result<u32>;
fn SetExpressionSyntax(&self, flags: u32) -> ::windows::core::Result<()>;
fn SetExpressionSyntaxByName(&self, abbrevname: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetNumberExpressionSyntaxes(&self) -> ::windows::core::Result<u32>;
fn GetExpressionSyntaxNames(&self, index: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberEvents(&self) -> ::windows::core::Result<u32>;
fn GetEventIndexDescription(&self, index: u32, which: u32, buffer: &::windows::core::PCSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentEventIndex(&self) -> ::windows::core::Result<u32>;
fn SetNextEventIndex(&self, relation: u32, value: u32) -> ::windows::core::Result<u32>;
fn GetLogFileWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OpenLogFileWide(&self, file: &::windows::core::PCWSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn InputWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::Result<()>;
fn ReturnInputWide(&self, buffer: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputWide(&self, mask: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputVaListWide(&self, mask: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn ControlledOutputWide(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn ControlledOutputVaListWide(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn OutputPromptWide(&self, outputcontrol: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputPromptVaListWide(&self, outputcontrol: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn GetPromptTextWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn AssembleWide(&self, offset: u64, instr: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn DisassembleWide(&self, offset: u64, flags: u32, buffer: ::windows::core::PWSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::Result<()>;
fn GetProcessorTypeNamesWide(&self, r#type: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTextMacroWide(&self, slot: u32, buffer: ::windows::core::PWSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextMacroWide(&self, slot: u32, r#macro: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn EvaluateWide(&self, expression: &::windows::core::PCWSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::Result<()>;
fn ExecuteWide(&self, outputcontrol: u32, command: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn ExecuteCommandFileWide(&self, outputcontrol: u32, commandfile: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetBreakpointByIndex2(&self, index: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn GetBreakpointById2(&self, id: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn AddBreakpoint2(&self, r#type: u32, desiredid: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn RemoveBreakpoint2(&self, bp: ::core::option::Option<&IDebugBreakpoint2>) -> ::windows::core::Result<()>;
fn AddExtensionWide(&self, path: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<u64>;
fn GetExtensionByPathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn CallExtensionWide(&self, handle: u64, function: &::windows::core::PCWSTR, arguments: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExtensionFunctionWide(&self, handle: u64, funcname: &::windows::core::PCWSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::Result<()>;
fn GetEventFilterTextWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterCommandWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetEventFilterCommandWide(&self, index: u32, command: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSpecificFilterArgumentWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSpecificFilterArgumentWide(&self, index: u32, argument: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExceptionFilterSecondCommandWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetExceptionFilterSecondCommandWide(&self, index: u32, command: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetLastEventInformationWide(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::Result<()>;
fn GetTextReplacementWide(&self, srctext: &::windows::core::PCWSTR, index: u32, srcbuffer: ::windows::core::PWSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PWSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextReplacementWide(&self, srctext: &::windows::core::PCWSTR, dsttext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetExpressionSyntaxByNameWide(&self, abbrevname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExpressionSyntaxNamesWide(&self, index: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventIndexDescriptionWide(&self, index: u32, which: u32, buffer: &::windows::core::PCWSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::Result<()>;
fn GetLogFile2(&self, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::Result<()>;
fn OpenLogFile2(&self, file: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetLogFile2Wide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::Result<()>;
fn OpenLogFile2Wide(&self, file: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetSystemVersionValues(&self, platformid: *mut u32, win32major: *mut u32, win32minor: *mut u32, kdmajor: *mut u32, kdminor: *mut u32) -> ::windows::core::Result<()>;
fn GetSystemVersionString(&self, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSystemVersionStringWide(&self, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetContextStackTrace(&self, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn OutputContextStackTrace(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetStoredEventInformation(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, context: *mut ::core::ffi::c_void, contextsize: u32, contextused: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32) -> ::windows::core::Result<()>;
fn GetManagedStatus(&self, flags: *mut u32, whichstring: u32, string: ::windows::core::PSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::Result<()>;
fn GetManagedStatusWide(&self, flags: *mut u32, whichstring: u32, string: ::windows::core::PWSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::Result<()>;
fn ResetManagedStatus(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetStackTraceEx(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn OutputStackTraceEx(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetContextStackTraceEx(&self, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn OutputContextStackTraceEx(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetBreakpointByGuid(&self, guid: *const ::windows::core::GUID) -> ::windows::core::Result<IDebugBreakpoint3>;
fn GetExecutionStatusEx(&self) -> ::windows::core::Result<u32>;
fn GetSynchronizationStatus(&self, sendsattempted: *mut u32, secondssincelastresponse: *mut u32) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl ::windows::core::RuntimeName for IDebugControl6 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl IDebugControl6_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>() -> IDebugControl6_Vtbl {
unsafe extern "system" fn GetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetInterrupt().into()
}
unsafe extern "system" fn SetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterrupt(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInterruptTimeout() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(seconds, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterruptTimeout(::core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn OpenLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile(::core::mem::transmute(&file), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CloseLogFile().into()
}
unsafe extern "system" fn GetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLogMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLogMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Input(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&inputsize)).into()
}
unsafe extern "system" fn ReturnInput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnInput(::core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Output(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVaList(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutput(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn OutputPrompt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPrompt(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPromptText(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn OutputCurrentState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputCurrentState(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVersionInformation(::core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNotifyEventHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNotifyEventHandle(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, instr: ::windows::core::PCSTR, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Assemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute(&instr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Disassemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&disassemblysize), ::core::mem::transmute_copy(&endoffset)).into()
}
unsafe extern "system" fn GetDisassembleEffectiveOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDisassembleEffectiveOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OutputDisassembly(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputDisassemblyLines(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&previouslines), ::core::mem::transmute_copy(&totallines), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offsetline), ::core::mem::transmute_copy(&startoffset), ::core::mem::transmute_copy(&endoffset), ::core::mem::transmute_copy(&lineoffsets)).into()
}
unsafe extern "system" fn GetNearInstruction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNearInstruction(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nearoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStackTrace(::core::mem::transmute_copy(&frameoffset), ::core::mem::transmute_copy(&stackoffset), ::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn GetReturnOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetReturnOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputStackTrace(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetDebuggeeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDebuggeeType(::core::mem::transmute_copy(&class), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetActualProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutingProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberPossibleExecutingProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPossibleExecutingProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetNumberProcessors<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberProcessors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersion(::core::mem::transmute_copy(&platformid), ::core::mem::transmute_copy(&major), ::core::mem::transmute_copy(&minor), ::core::mem::transmute_copy(&servicepackstring), ::core::mem::transmute_copy(&servicepackstringsize), ::core::mem::transmute_copy(&servicepackstringused), ::core::mem::transmute_copy(&servicepacknumber), ::core::mem::transmute_copy(&buildstring), ::core::mem::transmute_copy(&buildstringsize), ::core::mem::transmute_copy(&buildstringused))
.into()
}
unsafe extern "system" fn GetPageSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPageSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsPointer64Bit().into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBugCheckData(::core::mem::transmute_copy(&code), ::core::mem::transmute_copy(&arg1), ::core::mem::transmute_copy(&arg2), ::core::mem::transmute_copy(&arg3), ::core::mem::transmute_copy(&arg4)).into()
}
unsafe extern "system" fn GetNumberSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberSupportedProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSupportedProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetProcessorTypeNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessorTypeNames(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEffectiveProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEffectiveProcessorType(::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutionStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(status, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExecutionStatus(::core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCodeLevel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(level, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCodeLevel(::core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEngineOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&macrosize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, r#macro: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRadix() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(radix, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRadix(::core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Evaluate(::core::mem::transmute(&expression), ::core::mem::transmute_copy(&desiredtype), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&remainderindex)).into()
}
unsafe extern "system" fn CoerceValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValue(::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtype), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn CoerceValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValues(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtypes), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn Execute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, command: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Execute(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&command), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, commandfile: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteCommandFile(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&commandfile), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberBreakpoints() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointById(::core::mem::transmute_copy(&id)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBreakpointParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddBreakpoint(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&desiredid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveBreakpoint(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, flags: u32, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddExtension(::core::mem::transmute(&path), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveExtension(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtensionByPath(::core::mem::transmute(&path)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, function: ::windows::core::PCSTR, arguments: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CallExtension(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&function), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, funcname: ::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtensionFunction(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&funcname), ::core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis32(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis64(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberEventFilters(::core::mem::transmute_copy(&specificevents), ::core::mem::transmute_copy(&specificexceptions), ::core::mem::transmute_copy(&arbitraryexceptions)).into()
}
unsafe extern "system" fn GetEventFilterText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterText(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn GetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&argumentsize)).into()
}
unsafe extern "system" fn SetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, argument: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&codes), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForEvent(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastEventInformation(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&descriptionused)).into()
}
unsafe extern "system" fn GetCurrentTimeDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timedate: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentTimeDate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(timedate, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uptime: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentSystemUpTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(uptime, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, formatflags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDumpFormatFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(formatflags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numrepl: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberTextReplacements() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(numrepl, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&srcbuffer), ::core::mem::transmute_copy(&srcbuffersize), ::core::mem::transmute_copy(&srcsize), ::core::mem::transmute_copy(&dstbuffer), ::core::mem::transmute_copy(&dstbuffersize), ::core::mem::transmute_copy(&dstsize)).into()
}
unsafe extern "system" fn SetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, dsttext: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTextReplacements().into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTextReplacements(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAssemblyOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetExpressionSyntax<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExpressionSyntax() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(flags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExpressionSyntax<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntax(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, abbrevname: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntaxByName(::core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetNumberExpressionSyntaxes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberExpressionSyntaxes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpressionSyntaxNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExpressionSyntaxNames(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetNumberEvents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, events: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberEvents() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(events, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventIndexDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, which: u32, buffer: ::windows::core::PCSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventIndexDescription(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&which), ::core::mem::transmute(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&descsize)).into()
}
unsafe extern "system" fn GetCurrentEventIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentEventIndex() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNextEventIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, relation: u32, value: u32, nextindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SetNextEventIndex(::core::mem::transmute_copy(&relation), ::core::mem::transmute_copy(&value)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nextindex, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFileWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn OpenLogFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCWSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFileWide(::core::mem::transmute(&file), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn InputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InputWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&inputsize)).into()
}
unsafe extern "system" fn ReturnInputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnInputWide(::core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn OutputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputWide(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVaListWide(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputVaListWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn OutputPromptWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptVaListWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptTextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPromptTextWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn AssembleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, instr: ::windows::core::PCWSTR, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AssembleWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute(&instr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisassembleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: ::windows::core::PWSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisassembleWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&disassemblysize), ::core::mem::transmute_copy(&endoffset)).into()
}
unsafe extern "system" fn GetProcessorTypeNamesWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessorTypeNamesWide(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetTextMacroWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, buffer: ::windows::core::PWSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextMacroWide(::core::mem::transmute_copy(&slot), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&macrosize)).into()
}
unsafe extern "system" fn SetTextMacroWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, r#macro: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextMacroWide(::core::mem::transmute_copy(&slot), ::core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn EvaluateWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCWSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EvaluateWide(::core::mem::transmute(&expression), ::core::mem::transmute_copy(&desiredtype), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&remainderindex)).into()
}
unsafe extern "system" fn ExecuteWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, command: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&command), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, commandfile: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteCommandFileWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&commandfile), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetBreakpointByIndex2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByIndex2(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointById2(::core::mem::transmute_copy(&id)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddBreakpoint2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddBreakpoint2(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&desiredid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveBreakpoint2(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtensionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR, flags: u32, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddExtensionWide(::core::mem::transmute(&path), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExtensionByPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtensionByPathWide(::core::mem::transmute(&path)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtensionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, function: ::windows::core::PCWSTR, arguments: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CallExtensionWide(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&function), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunctionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, funcname: ::windows::core::PCWSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtensionFunctionWide(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&funcname), ::core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetEventFilterTextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterTextWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn GetEventFilterCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetEventFilterCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilterCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterArgumentWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterArgumentWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&argumentsize)).into()
}
unsafe extern "system" fn SetSpecificFilterArgumentWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, argument: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterArgumentWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterSecondCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetExceptionFilterSecondCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterSecondCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetLastEventInformationWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastEventInformationWide(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&descriptionused)).into()
}
unsafe extern "system" fn GetTextReplacementWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCWSTR, index: u32, srcbuffer: ::windows::core::PWSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PWSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextReplacementWide(::core::mem::transmute(&srctext), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&srcbuffer), ::core::mem::transmute_copy(&srcbuffersize), ::core::mem::transmute_copy(&srcsize), ::core::mem::transmute_copy(&dstbuffer), ::core::mem::transmute_copy(&dstbuffersize), ::core::mem::transmute_copy(&dstsize)).into()
}
unsafe extern "system" fn SetTextReplacementWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCWSTR, dsttext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextReplacementWide(::core::mem::transmute(&srctext), ::core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, abbrevname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntaxByNameWide(::core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetExpressionSyntaxNamesWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExpressionSyntaxNamesWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetEventIndexDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, which: u32, buffer: ::windows::core::PCWSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventIndexDescriptionWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&which), ::core::mem::transmute(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&descsize)).into()
}
unsafe extern "system" fn GetLogFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile2(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OpenLogFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile2(::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetLogFile2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile2Wide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OpenLogFile2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile2Wide(::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetSystemVersionValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, platformid: *mut u32, win32major: *mut u32, win32minor: *mut u32, kdmajor: *mut u32, kdminor: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionValues(::core::mem::transmute_copy(&platformid), ::core::mem::transmute_copy(&win32major), ::core::mem::transmute_copy(&win32minor), ::core::mem::transmute_copy(&kdmajor), ::core::mem::transmute_copy(&kdminor)).into()
}
unsafe extern "system" fn GetSystemVersionString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionString(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSystemVersionStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionStringWide(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetContextStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetContextStackTrace(::core::mem::transmute_copy(&startcontext), ::core::mem::transmute_copy(&startcontextsize), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn OutputContextStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputContextStackTrace(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetStoredEventInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, context: *mut ::core::ffi::c_void, contextsize: u32, contextused: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStoredEventInformation(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize), ::core::mem::transmute_copy(&contextused), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused)).into()
}
unsafe extern "system" fn GetManagedStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32, whichstring: u32, string: ::windows::core::PSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetManagedStatus(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&whichstring), ::core::mem::transmute_copy(&string), ::core::mem::transmute_copy(&stringsize), ::core::mem::transmute_copy(&stringneeded)).into()
}
unsafe extern "system" fn GetManagedStatusWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32, whichstring: u32, string: ::windows::core::PWSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetManagedStatusWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&whichstring), ::core::mem::transmute_copy(&string), ::core::mem::transmute_copy(&stringsize), ::core::mem::transmute_copy(&stringneeded)).into()
}
unsafe extern "system" fn ResetManagedStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetManagedStatus(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStackTraceEx(::core::mem::transmute_copy(&frameoffset), ::core::mem::transmute_copy(&stackoffset), ::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn OutputStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputStackTraceEx(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetContextStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetContextStackTraceEx(::core::mem::transmute_copy(&startcontext), ::core::mem::transmute_copy(&startcontextsize), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn OutputContextStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputContextStackTraceEx(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetBreakpointByGuid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByGuid(::core::mem::transmute_copy(&guid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutionStatusEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutionStatusEx() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(status, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSynchronizationStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl6_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sendsattempted: *mut u32, secondssincelastresponse: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSynchronizationStatus(::core::mem::transmute_copy(&sendsattempted), ::core::mem::transmute_copy(&secondssincelastresponse)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, Impl, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, Impl, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, Impl, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, Impl, OFFSET>,
GetLogFile: GetLogFile::<Identity, Impl, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, Impl, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, Impl, OFFSET>,
GetLogMask: GetLogMask::<Identity, Impl, OFFSET>,
SetLogMask: SetLogMask::<Identity, Impl, OFFSET>,
Input: Input::<Identity, Impl, OFFSET>,
ReturnInput: ReturnInput::<Identity, Impl, OFFSET>,
Output: Output::<Identity, Impl, OFFSET>,
OutputVaList: OutputVaList::<Identity, Impl, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, Impl, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, Impl, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, Impl, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, Impl, OFFSET>,
GetPromptText: GetPromptText::<Identity, Impl, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, Impl, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, Impl, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, Impl, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, Impl, OFFSET>,
Assemble: Assemble::<Identity, Impl, OFFSET>,
Disassemble: Disassemble::<Identity, Impl, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, Impl, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, Impl, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, Impl, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, Impl, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, Impl, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, Impl, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, Impl, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, Impl, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, Impl, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, Impl, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, Impl, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, Impl, OFFSET>,
GetPageSize: GetPageSize::<Identity, Impl, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, Impl, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, Impl, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, Impl, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, Impl, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, Impl, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, Impl, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, Impl, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, Impl, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, Impl, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, Impl, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, Impl, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, Impl, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, Impl, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, Impl, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, Impl, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, Impl, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, Impl, OFFSET>,
GetRadix: GetRadix::<Identity, Impl, OFFSET>,
SetRadix: SetRadix::<Identity, Impl, OFFSET>,
Evaluate: Evaluate::<Identity, Impl, OFFSET>,
CoerceValue: CoerceValue::<Identity, Impl, OFFSET>,
CoerceValues: CoerceValues::<Identity, Impl, OFFSET>,
Execute: Execute::<Identity, Impl, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, Impl, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, Impl, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, Impl, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, Impl, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, Impl, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, Impl, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, Impl, OFFSET>,
AddExtension: AddExtension::<Identity, Impl, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, Impl, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, Impl, OFFSET>,
CallExtension: CallExtension::<Identity, Impl, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, Impl, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, Impl, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, Impl, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, Impl, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, Impl, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, Impl, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, Impl, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, Impl, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, Impl, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, Impl, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, Impl, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, Impl, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, Impl, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, Impl, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, Impl, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, Impl, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, Impl, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, Impl, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, Impl, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, Impl, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, Impl, OFFSET>,
GetAssemblyOptions: GetAssemblyOptions::<Identity, Impl, OFFSET>,
AddAssemblyOptions: AddAssemblyOptions::<Identity, Impl, OFFSET>,
RemoveAssemblyOptions: RemoveAssemblyOptions::<Identity, Impl, OFFSET>,
SetAssemblyOptions: SetAssemblyOptions::<Identity, Impl, OFFSET>,
GetExpressionSyntax: GetExpressionSyntax::<Identity, Impl, OFFSET>,
SetExpressionSyntax: SetExpressionSyntax::<Identity, Impl, OFFSET>,
SetExpressionSyntaxByName: SetExpressionSyntaxByName::<Identity, Impl, OFFSET>,
GetNumberExpressionSyntaxes: GetNumberExpressionSyntaxes::<Identity, Impl, OFFSET>,
GetExpressionSyntaxNames: GetExpressionSyntaxNames::<Identity, Impl, OFFSET>,
GetNumberEvents: GetNumberEvents::<Identity, Impl, OFFSET>,
GetEventIndexDescription: GetEventIndexDescription::<Identity, Impl, OFFSET>,
GetCurrentEventIndex: GetCurrentEventIndex::<Identity, Impl, OFFSET>,
SetNextEventIndex: SetNextEventIndex::<Identity, Impl, OFFSET>,
GetLogFileWide: GetLogFileWide::<Identity, Impl, OFFSET>,
OpenLogFileWide: OpenLogFileWide::<Identity, Impl, OFFSET>,
InputWide: InputWide::<Identity, Impl, OFFSET>,
ReturnInputWide: ReturnInputWide::<Identity, Impl, OFFSET>,
OutputWide: OutputWide::<Identity, Impl, OFFSET>,
OutputVaListWide: OutputVaListWide::<Identity, Impl, OFFSET>,
ControlledOutputWide: ControlledOutputWide::<Identity, Impl, OFFSET>,
ControlledOutputVaListWide: ControlledOutputVaListWide::<Identity, Impl, OFFSET>,
OutputPromptWide: OutputPromptWide::<Identity, Impl, OFFSET>,
OutputPromptVaListWide: OutputPromptVaListWide::<Identity, Impl, OFFSET>,
GetPromptTextWide: GetPromptTextWide::<Identity, Impl, OFFSET>,
AssembleWide: AssembleWide::<Identity, Impl, OFFSET>,
DisassembleWide: DisassembleWide::<Identity, Impl, OFFSET>,
GetProcessorTypeNamesWide: GetProcessorTypeNamesWide::<Identity, Impl, OFFSET>,
GetTextMacroWide: GetTextMacroWide::<Identity, Impl, OFFSET>,
SetTextMacroWide: SetTextMacroWide::<Identity, Impl, OFFSET>,
EvaluateWide: EvaluateWide::<Identity, Impl, OFFSET>,
ExecuteWide: ExecuteWide::<Identity, Impl, OFFSET>,
ExecuteCommandFileWide: ExecuteCommandFileWide::<Identity, Impl, OFFSET>,
GetBreakpointByIndex2: GetBreakpointByIndex2::<Identity, Impl, OFFSET>,
GetBreakpointById2: GetBreakpointById2::<Identity, Impl, OFFSET>,
AddBreakpoint2: AddBreakpoint2::<Identity, Impl, OFFSET>,
RemoveBreakpoint2: RemoveBreakpoint2::<Identity, Impl, OFFSET>,
AddExtensionWide: AddExtensionWide::<Identity, Impl, OFFSET>,
GetExtensionByPathWide: GetExtensionByPathWide::<Identity, Impl, OFFSET>,
CallExtensionWide: CallExtensionWide::<Identity, Impl, OFFSET>,
GetExtensionFunctionWide: GetExtensionFunctionWide::<Identity, Impl, OFFSET>,
GetEventFilterTextWide: GetEventFilterTextWide::<Identity, Impl, OFFSET>,
GetEventFilterCommandWide: GetEventFilterCommandWide::<Identity, Impl, OFFSET>,
SetEventFilterCommandWide: SetEventFilterCommandWide::<Identity, Impl, OFFSET>,
GetSpecificFilterArgumentWide: GetSpecificFilterArgumentWide::<Identity, Impl, OFFSET>,
SetSpecificFilterArgumentWide: SetSpecificFilterArgumentWide::<Identity, Impl, OFFSET>,
GetExceptionFilterSecondCommandWide: GetExceptionFilterSecondCommandWide::<Identity, Impl, OFFSET>,
SetExceptionFilterSecondCommandWide: SetExceptionFilterSecondCommandWide::<Identity, Impl, OFFSET>,
GetLastEventInformationWide: GetLastEventInformationWide::<Identity, Impl, OFFSET>,
GetTextReplacementWide: GetTextReplacementWide::<Identity, Impl, OFFSET>,
SetTextReplacementWide: SetTextReplacementWide::<Identity, Impl, OFFSET>,
SetExpressionSyntaxByNameWide: SetExpressionSyntaxByNameWide::<Identity, Impl, OFFSET>,
GetExpressionSyntaxNamesWide: GetExpressionSyntaxNamesWide::<Identity, Impl, OFFSET>,
GetEventIndexDescriptionWide: GetEventIndexDescriptionWide::<Identity, Impl, OFFSET>,
GetLogFile2: GetLogFile2::<Identity, Impl, OFFSET>,
OpenLogFile2: OpenLogFile2::<Identity, Impl, OFFSET>,
GetLogFile2Wide: GetLogFile2Wide::<Identity, Impl, OFFSET>,
OpenLogFile2Wide: OpenLogFile2Wide::<Identity, Impl, OFFSET>,
GetSystemVersionValues: GetSystemVersionValues::<Identity, Impl, OFFSET>,
GetSystemVersionString: GetSystemVersionString::<Identity, Impl, OFFSET>,
GetSystemVersionStringWide: GetSystemVersionStringWide::<Identity, Impl, OFFSET>,
GetContextStackTrace: GetContextStackTrace::<Identity, Impl, OFFSET>,
OutputContextStackTrace: OutputContextStackTrace::<Identity, Impl, OFFSET>,
GetStoredEventInformation: GetStoredEventInformation::<Identity, Impl, OFFSET>,
GetManagedStatus: GetManagedStatus::<Identity, Impl, OFFSET>,
GetManagedStatusWide: GetManagedStatusWide::<Identity, Impl, OFFSET>,
ResetManagedStatus: ResetManagedStatus::<Identity, Impl, OFFSET>,
GetStackTraceEx: GetStackTraceEx::<Identity, Impl, OFFSET>,
OutputStackTraceEx: OutputStackTraceEx::<Identity, Impl, OFFSET>,
GetContextStackTraceEx: GetContextStackTraceEx::<Identity, Impl, OFFSET>,
OutputContextStackTraceEx: OutputContextStackTraceEx::<Identity, Impl, OFFSET>,
GetBreakpointByGuid: GetBreakpointByGuid::<Identity, Impl, OFFSET>,
GetExecutionStatusEx: GetExecutionStatusEx::<Identity, Impl, OFFSET>,
GetSynchronizationStatus: GetSynchronizationStatus::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugControl6 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub trait IDebugControl7_Impl: Sized {
fn GetInterrupt(&self) -> ::windows::core::Result<()>;
fn SetInterrupt(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetInterruptTimeout(&self) -> ::windows::core::Result<u32>;
fn SetInterruptTimeout(&self, seconds: u32) -> ::windows::core::Result<()>;
fn GetLogFile(&self, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OpenLogFile(&self, file: &::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn CloseLogFile(&self) -> ::windows::core::Result<()>;
fn GetLogMask(&self) -> ::windows::core::Result<u32>;
fn SetLogMask(&self, mask: u32) -> ::windows::core::Result<()>;
fn Input(&self, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::Result<()>;
fn ReturnInput(&self, buffer: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn Output(&self, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputVaList(&self, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn ControlledOutput(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn ControlledOutputVaList(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn OutputPrompt(&self, outputcontrol: u32, format: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputPromptVaList(&self, outputcontrol: u32, format: &::windows::core::PCSTR, args: *const i8) -> ::windows::core::Result<()>;
fn GetPromptText(&self, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn OutputCurrentState(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn OutputVersionInformation(&self, outputcontrol: u32) -> ::windows::core::Result<()>;
fn GetNotifyEventHandle(&self) -> ::windows::core::Result<u64>;
fn SetNotifyEventHandle(&self, handle: u64) -> ::windows::core::Result<()>;
fn Assemble(&self, offset: u64, instr: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn Disassemble(&self, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::Result<()>;
fn GetDisassembleEffectiveOffset(&self) -> ::windows::core::Result<u64>;
fn OutputDisassembly(&self, outputcontrol: u32, offset: u64, flags: u32) -> ::windows::core::Result<u64>;
fn OutputDisassemblyLines(&self, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::Result<()>;
fn GetNearInstruction(&self, offset: u64, delta: i32) -> ::windows::core::Result<u64>;
fn GetStackTrace(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn GetReturnOffset(&self) -> ::windows::core::Result<u64>;
fn OutputStackTrace(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetDebuggeeType(&self, class: *mut u32, qualifier: *mut u32) -> ::windows::core::Result<()>;
fn GetActualProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetExecutingProcessorType(&self) -> ::windows::core::Result<u32>;
fn GetNumberPossibleExecutingProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetPossibleExecutingProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberProcessors(&self) -> ::windows::core::Result<u32>;
fn GetSystemVersion(&self, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::Result<()>;
fn GetPageSize(&self) -> ::windows::core::Result<u32>;
fn IsPointer64Bit(&self) -> ::windows::core::Result<()>;
fn ReadBugCheckData(&self, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::Result<()>;
fn GetNumberSupportedProcessorTypes(&self) -> ::windows::core::Result<u32>;
fn GetSupportedProcessorTypes(&self, start: u32, count: u32, types: *mut u32) -> ::windows::core::Result<()>;
fn GetProcessorTypeNames(&self, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetEffectiveProcessorType(&self) -> ::windows::core::Result<u32>;
fn SetEffectiveProcessorType(&self, r#type: u32) -> ::windows::core::Result<()>;
fn GetExecutionStatus(&self) -> ::windows::core::Result<u32>;
fn SetExecutionStatus(&self, status: u32) -> ::windows::core::Result<()>;
fn GetCodeLevel(&self) -> ::windows::core::Result<u32>;
fn SetCodeLevel(&self, level: u32) -> ::windows::core::Result<()>;
fn GetEngineOptions(&self) -> ::windows::core::Result<u32>;
fn AddEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetEngineOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetSystemErrorControl(&self, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::Result<()>;
fn SetSystemErrorControl(&self, outputlevel: u32, breaklevel: u32) -> ::windows::core::Result<()>;
fn GetTextMacro(&self, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextMacro(&self, slot: u32, r#macro: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetRadix(&self) -> ::windows::core::Result<u32>;
fn SetRadix(&self, radix: u32) -> ::windows::core::Result<()>;
fn Evaluate(&self, expression: &::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::Result<()>;
fn CoerceValue(&self, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn CoerceValues(&self, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn Execute(&self, outputcontrol: u32, command: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn ExecuteCommandFile(&self, outputcontrol: u32, commandfile: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetNumberBreakpoints(&self) -> ::windows::core::Result<u32>;
fn GetBreakpointByIndex(&self, index: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointById(&self, id: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn GetBreakpointParameters(&self, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::Result<()>;
fn AddBreakpoint(&self, r#type: u32, desiredid: u32) -> ::windows::core::Result<IDebugBreakpoint>;
fn RemoveBreakpoint(&self, bp: ::core::option::Option<&IDebugBreakpoint>) -> ::windows::core::Result<()>;
fn AddExtension(&self, path: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<u64>;
fn RemoveExtension(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetExtensionByPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn CallExtension(&self, handle: u64, function: &::windows::core::PCSTR, arguments: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExtensionFunction(&self, handle: u64, funcname: &::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis32(&self, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::Result<()>;
fn GetWindbgExtensionApis64(&self, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::Result<()>;
fn GetNumberEventFilters(&self, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterText(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetEventFilterCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSpecificFilterParameters(&self, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetSpecificFilterParameters(&self, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSpecificFilterArgument(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSpecificFilterArgument(&self, index: u32, argument: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetExceptionFilterParameters(&self, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn SetExceptionFilterParameters(&self, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::Result<()>;
fn GetExceptionFilterSecondCommand(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetExceptionFilterSecondCommand(&self, index: u32, command: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn WaitForEvent(&self, flags: u32, timeout: u32) -> ::windows::core::Result<()>;
fn GetLastEventInformation(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentTimeDate(&self) -> ::windows::core::Result<u32>;
fn GetCurrentSystemUpTime(&self) -> ::windows::core::Result<u32>;
fn GetDumpFormatFlags(&self) -> ::windows::core::Result<u32>;
fn GetNumberTextReplacements(&self) -> ::windows::core::Result<u32>;
fn GetTextReplacement(&self, srctext: &::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextReplacement(&self, srctext: &::windows::core::PCSTR, dsttext: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn RemoveTextReplacements(&self) -> ::windows::core::Result<()>;
fn OutputTextReplacements(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetAssemblyOptions(&self) -> ::windows::core::Result<u32>;
fn AddAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetAssemblyOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetExpressionSyntax(&self) -> ::windows::core::Result<u32>;
fn SetExpressionSyntax(&self, flags: u32) -> ::windows::core::Result<()>;
fn SetExpressionSyntaxByName(&self, abbrevname: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetNumberExpressionSyntaxes(&self) -> ::windows::core::Result<u32>;
fn GetExpressionSyntaxNames(&self, index: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetNumberEvents(&self) -> ::windows::core::Result<u32>;
fn GetEventIndexDescription(&self, index: u32, which: u32, buffer: &::windows::core::PCSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentEventIndex(&self) -> ::windows::core::Result<u32>;
fn SetNextEventIndex(&self, relation: u32, value: u32) -> ::windows::core::Result<u32>;
fn GetLogFileWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OpenLogFileWide(&self, file: &::windows::core::PCWSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn InputWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::Result<()>;
fn ReturnInputWide(&self, buffer: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputWide(&self, mask: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputVaListWide(&self, mask: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn ControlledOutputWide(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn ControlledOutputVaListWide(&self, outputcontrol: u32, mask: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn OutputPromptWide(&self, outputcontrol: u32, format: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputPromptVaListWide(&self, outputcontrol: u32, format: &::windows::core::PCWSTR, args: *const i8) -> ::windows::core::Result<()>;
fn GetPromptTextWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn AssembleWide(&self, offset: u64, instr: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn DisassembleWide(&self, offset: u64, flags: u32, buffer: ::windows::core::PWSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::Result<()>;
fn GetProcessorTypeNamesWide(&self, r#type: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTextMacroWide(&self, slot: u32, buffer: ::windows::core::PWSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextMacroWide(&self, slot: u32, r#macro: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn EvaluateWide(&self, expression: &::windows::core::PCWSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::Result<()>;
fn ExecuteWide(&self, outputcontrol: u32, command: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn ExecuteCommandFileWide(&self, outputcontrol: u32, commandfile: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetBreakpointByIndex2(&self, index: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn GetBreakpointById2(&self, id: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn AddBreakpoint2(&self, r#type: u32, desiredid: u32) -> ::windows::core::Result<IDebugBreakpoint2>;
fn RemoveBreakpoint2(&self, bp: ::core::option::Option<&IDebugBreakpoint2>) -> ::windows::core::Result<()>;
fn AddExtensionWide(&self, path: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<u64>;
fn GetExtensionByPathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn CallExtensionWide(&self, handle: u64, function: &::windows::core::PCWSTR, arguments: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExtensionFunctionWide(&self, handle: u64, funcname: &::windows::core::PCWSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::Result<()>;
fn GetEventFilterTextWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventFilterCommandWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetEventFilterCommandWide(&self, index: u32, command: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSpecificFilterArgumentWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSpecificFilterArgumentWide(&self, index: u32, argument: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExceptionFilterSecondCommandWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::Result<()>;
fn SetExceptionFilterSecondCommandWide(&self, index: u32, command: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetLastEventInformationWide(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::Result<()>;
fn GetTextReplacementWide(&self, srctext: &::windows::core::PCWSTR, index: u32, srcbuffer: ::windows::core::PWSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PWSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::Result<()>;
fn SetTextReplacementWide(&self, srctext: &::windows::core::PCWSTR, dsttext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetExpressionSyntaxByNameWide(&self, abbrevname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetExpressionSyntaxNamesWide(&self, index: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetEventIndexDescriptionWide(&self, index: u32, which: u32, buffer: &::windows::core::PCWSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::Result<()>;
fn GetLogFile2(&self, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::Result<()>;
fn OpenLogFile2(&self, file: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetLogFile2Wide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::Result<()>;
fn OpenLogFile2Wide(&self, file: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn GetSystemVersionValues(&self, platformid: *mut u32, win32major: *mut u32, win32minor: *mut u32, kdmajor: *mut u32, kdminor: *mut u32) -> ::windows::core::Result<()>;
fn GetSystemVersionString(&self, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSystemVersionStringWide(&self, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetContextStackTrace(&self, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn OutputContextStackTrace(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetStoredEventInformation(&self, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, context: *mut ::core::ffi::c_void, contextsize: u32, contextused: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32) -> ::windows::core::Result<()>;
fn GetManagedStatus(&self, flags: *mut u32, whichstring: u32, string: ::windows::core::PSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::Result<()>;
fn GetManagedStatusWide(&self, flags: *mut u32, whichstring: u32, string: ::windows::core::PWSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::Result<()>;
fn ResetManagedStatus(&self, flags: u32) -> ::windows::core::Result<()>;
fn GetStackTraceEx(&self, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn OutputStackTraceEx(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetContextStackTraceEx(&self, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::Result<()>;
fn OutputContextStackTraceEx(&self, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetBreakpointByGuid(&self, guid: *const ::windows::core::GUID) -> ::windows::core::Result<IDebugBreakpoint3>;
fn GetExecutionStatusEx(&self) -> ::windows::core::Result<u32>;
fn GetSynchronizationStatus(&self, sendsattempted: *mut u32, secondssincelastresponse: *mut u32) -> ::windows::core::Result<()>;
fn GetDebuggeeType2(&self, flags: u32, class: *mut u32, qualifier: *mut u32) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl ::windows::core::RuntimeName for IDebugControl7 {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl IDebugControl7_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>() -> IDebugControl7_Vtbl {
unsafe extern "system" fn GetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetInterrupt().into()
}
unsafe extern "system" fn SetInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterrupt(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInterruptTimeout() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(seconds, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, seconds: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterruptTimeout(::core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn OpenLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile(::core::mem::transmute(&file), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CloseLogFile().into()
}
unsafe extern "system" fn GetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLogMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLogMask(::core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Input(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&inputsize)).into()
}
unsafe extern "system" fn ReturnInput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnInput(::core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Output(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVaList(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutput(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn OutputPrompt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPrompt(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptVaList(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPromptText(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn OutputCurrentState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputCurrentState(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVersionInformation(::core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNotifyEventHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNotifyEventHandle(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, instr: ::windows::core::PCSTR, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Assemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute(&instr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: ::windows::core::PSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Disassemble(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&disassemblysize), ::core::mem::transmute_copy(&endoffset)).into()
}
unsafe extern "system" fn GetDisassembleEffectiveOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDisassembleEffectiveOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OutputDisassembly(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, previouslines: u32, totallines: u32, offset: u64, flags: u32, offsetline: *mut u32, startoffset: *mut u64, endoffset: *mut u64, lineoffsets: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputDisassemblyLines(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&previouslines), ::core::mem::transmute_copy(&totallines), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offsetline), ::core::mem::transmute_copy(&startoffset), ::core::mem::transmute_copy(&endoffset), ::core::mem::transmute_copy(&lineoffsets)).into()
}
unsafe extern "system" fn GetNearInstruction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNearInstruction(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nearoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStackTrace(::core::mem::transmute_copy(&frameoffset), ::core::mem::transmute_copy(&stackoffset), ::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn GetReturnOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetReturnOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputStackTrace(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetDebuggeeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDebuggeeType(::core::mem::transmute_copy(&class), ::core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetActualProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutingProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberPossibleExecutingProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPossibleExecutingProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetNumberProcessors<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberProcessors() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, platformid: *mut u32, major: *mut u32, minor: *mut u32, servicepackstring: ::windows::core::PSTR, servicepackstringsize: u32, servicepackstringused: *mut u32, servicepacknumber: *mut u32, buildstring: ::windows::core::PSTR, buildstringsize: u32, buildstringused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersion(::core::mem::transmute_copy(&platformid), ::core::mem::transmute_copy(&major), ::core::mem::transmute_copy(&minor), ::core::mem::transmute_copy(&servicepackstring), ::core::mem::transmute_copy(&servicepackstringsize), ::core::mem::transmute_copy(&servicepackstringused), ::core::mem::transmute_copy(&servicepacknumber), ::core::mem::transmute_copy(&buildstring), ::core::mem::transmute_copy(&buildstringsize), ::core::mem::transmute_copy(&buildstringused))
.into()
}
unsafe extern "system" fn GetPageSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPageSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsPointer64Bit().into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, code: *mut u32, arg1: *mut u64, arg2: *mut u64, arg3: *mut u64, arg4: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBugCheckData(::core::mem::transmute_copy(&code), ::core::mem::transmute_copy(&arg1), ::core::mem::transmute_copy(&arg2), ::core::mem::transmute_copy(&arg3), ::core::mem::transmute_copy(&arg4)).into()
}
unsafe extern "system" fn GetNumberSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberSupportedProcessorTypes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSupportedProcessorTypes(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&types)).into()
}
unsafe extern "system" fn GetProcessorTypeNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessorTypeNames(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEffectiveProcessorType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEffectiveProcessorType(::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutionStatus() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(status, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExecutionStatus(::core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCodeLevel() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(level, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCodeLevel(::core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEngineOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEngineOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSystemErrorControl(::core::mem::transmute_copy(&outputlevel), ::core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, buffer: ::windows::core::PSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&macrosize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, r#macro: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextMacro(::core::mem::transmute_copy(&slot), ::core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRadix() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(radix, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, radix: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetRadix(::core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Evaluate(::core::mem::transmute(&expression), ::core::mem::transmute_copy(&desiredtype), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&remainderindex)).into()
}
unsafe extern "system" fn CoerceValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValue(::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtype), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn CoerceValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, r#in: *const DEBUG_VALUE, outtypes: *const u32, out: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CoerceValues(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&r#in), ::core::mem::transmute_copy(&outtypes), ::core::mem::transmute_copy(&out)).into()
}
unsafe extern "system" fn Execute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, command: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Execute(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&command), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, commandfile: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteCommandFile(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&commandfile), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberBreakpoints() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointById(::core::mem::transmute_copy(&id)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBreakpointParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddBreakpoint(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&desiredid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveBreakpoint(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, flags: u32, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddExtension(::core::mem::transmute(&path), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveExtension(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtensionByPath(::core::mem::transmute(&path)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, function: ::windows::core::PCSTR, arguments: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CallExtension(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&function), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, funcname: ::windows::core::PCSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtensionFunction(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&funcname), ::core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis32(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetWindbgExtensionApis64(::core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberEventFilters(::core::mem::transmute_copy(&specificevents), ::core::mem::transmute_copy(&specificexceptions), ::core::mem::transmute_copy(&arbitraryexceptions)).into()
}
unsafe extern "system" fn GetEventFilterText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterText(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn GetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetEventFilterCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilterCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&argumentsize)).into()
}
unsafe extern "system" fn SetSpecificFilterArgument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, argument: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterArgument(::core::mem::transmute_copy(&index), ::core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, codes: *const u32, start: u32, params: *mut DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&codes), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetExceptionFilterSecondCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterSecondCommand(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, timeout: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WaitForEvent(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastEventInformation(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&descriptionused)).into()
}
unsafe extern "system" fn GetCurrentTimeDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timedate: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentTimeDate() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(timedate, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uptime: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentSystemUpTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(uptime, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, formatflags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDumpFormatFlags() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(formatflags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numrepl: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberTextReplacements() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(numrepl, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, index: u32, srcbuffer: ::windows::core::PSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&srcbuffer), ::core::mem::transmute_copy(&srcbuffersize), ::core::mem::transmute_copy(&srcsize), ::core::mem::transmute_copy(&dstbuffer), ::core::mem::transmute_copy(&dstbuffersize), ::core::mem::transmute_copy(&dstsize)).into()
}
unsafe extern "system" fn SetTextReplacement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCSTR, dsttext: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextReplacement(::core::mem::transmute(&srctext), ::core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTextReplacements().into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTextReplacements(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetAssemblyOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetAssemblyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAssemblyOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetExpressionSyntax<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExpressionSyntax() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(flags, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExpressionSyntax<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntax(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, abbrevname: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntaxByName(::core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetNumberExpressionSyntaxes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberExpressionSyntaxes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpressionSyntaxNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, fullnamebuffer: ::windows::core::PSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExpressionSyntaxNames(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetNumberEvents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, events: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberEvents() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(events, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventIndexDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, which: u32, buffer: ::windows::core::PCSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventIndexDescription(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&which), ::core::mem::transmute(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&descsize)).into()
}
unsafe extern "system" fn GetCurrentEventIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentEventIndex() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNextEventIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, relation: u32, value: u32, nextindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SetNextEventIndex(::core::mem::transmute_copy(&relation), ::core::mem::transmute_copy(&value)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nextindex, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFileWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn OpenLogFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCWSTR, append: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFileWide(::core::mem::transmute(&file), ::core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn InputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, inputsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InputWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&inputsize)).into()
}
unsafe extern "system" fn ReturnInputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReturnInputWide(::core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn OutputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputWide(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputVaListWide(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutputWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, mask: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ControlledOutputVaListWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&mask), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn OutputPromptWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaListWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, format: ::windows::core::PCWSTR, args: *const i8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputPromptVaListWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&format), ::core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptTextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPromptTextWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn AssembleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, instr: ::windows::core::PCWSTR, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AssembleWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute(&instr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(endoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DisassembleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: ::windows::core::PWSTR, buffersize: u32, disassemblysize: *mut u32, endoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisassembleWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&disassemblysize), ::core::mem::transmute_copy(&endoffset)).into()
}
unsafe extern "system" fn GetProcessorTypeNamesWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessorTypeNamesWide(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetTextMacroWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, buffer: ::windows::core::PWSTR, buffersize: u32, macrosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextMacroWide(::core::mem::transmute_copy(&slot), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&macrosize)).into()
}
unsafe extern "system" fn SetTextMacroWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, slot: u32, r#macro: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextMacroWide(::core::mem::transmute_copy(&slot), ::core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn EvaluateWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, expression: ::windows::core::PCWSTR, desiredtype: u32, value: *mut DEBUG_VALUE, remainderindex: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EvaluateWide(::core::mem::transmute(&expression), ::core::mem::transmute_copy(&desiredtype), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&remainderindex)).into()
}
unsafe extern "system" fn ExecuteWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, command: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&command), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, commandfile: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExecuteCommandFileWide(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute(&commandfile), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetBreakpointByIndex2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByIndex2(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointById2(::core::mem::transmute_copy(&id)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddBreakpoint2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddBreakpoint2(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&desiredid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveBreakpoint2(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtensionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR, flags: u32, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddExtensionWide(::core::mem::transmute(&path), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExtensionByPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExtensionByPathWide(::core::mem::transmute(&path)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtensionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, function: ::windows::core::PCWSTR, arguments: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CallExtensionWide(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&function), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunctionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, funcname: ::windows::core::PCWSTR, function: *mut super::super::super::Foundation::FARPROC) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtensionFunctionWide(::core::mem::transmute_copy(&handle), ::core::mem::transmute(&funcname), ::core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetEventFilterTextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, textsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterTextWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&textsize)).into()
}
unsafe extern "system" fn GetEventFilterCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventFilterCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetEventFilterCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventFilterCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterArgumentWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSpecificFilterArgumentWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&argumentsize)).into()
}
unsafe extern "system" fn SetSpecificFilterArgumentWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, argument: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSpecificFilterArgumentWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, commandsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExceptionFilterSecondCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&commandsize)).into()
}
unsafe extern "system" fn SetExceptionFilterSecondCommandWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, command: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExceptionFilterSecondCommandWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetLastEventInformationWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32, description: ::windows::core::PWSTR, descriptionsize: u32, descriptionused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLastEventInformationWide(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused), ::core::mem::transmute_copy(&description), ::core::mem::transmute_copy(&descriptionsize), ::core::mem::transmute_copy(&descriptionused)).into()
}
unsafe extern "system" fn GetTextReplacementWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCWSTR, index: u32, srcbuffer: ::windows::core::PWSTR, srcbuffersize: u32, srcsize: *mut u32, dstbuffer: ::windows::core::PWSTR, dstbuffersize: u32, dstsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTextReplacementWide(::core::mem::transmute(&srctext), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&srcbuffer), ::core::mem::transmute_copy(&srcbuffersize), ::core::mem::transmute_copy(&srcsize), ::core::mem::transmute_copy(&dstbuffer), ::core::mem::transmute_copy(&dstbuffersize), ::core::mem::transmute_copy(&dstsize)).into()
}
unsafe extern "system" fn SetTextReplacementWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, srctext: ::windows::core::PCWSTR, dsttext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextReplacementWide(::core::mem::transmute(&srctext), ::core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, abbrevname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetExpressionSyntaxByNameWide(::core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetExpressionSyntaxNamesWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, fullnamebuffer: ::windows::core::PWSTR, fullnamebuffersize: u32, fullnamesize: *mut u32, abbrevnamebuffer: ::windows::core::PWSTR, abbrevnamebuffersize: u32, abbrevnamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExpressionSyntaxNamesWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&fullnamebuffer), ::core::mem::transmute_copy(&fullnamebuffersize), ::core::mem::transmute_copy(&fullnamesize), ::core::mem::transmute_copy(&abbrevnamebuffer), ::core::mem::transmute_copy(&abbrevnamebuffersize), ::core::mem::transmute_copy(&abbrevnamesize)).into()
}
unsafe extern "system" fn GetEventIndexDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, which: u32, buffer: ::windows::core::PCWSTR, buffersize: u32, descsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventIndexDescriptionWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&which), ::core::mem::transmute(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&descsize)).into()
}
unsafe extern "system" fn GetLogFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile2(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OpenLogFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile2(::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetLogFile2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLogFile2Wide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OpenLogFile2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OpenLogFile2Wide(::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetSystemVersionValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, platformid: *mut u32, win32major: *mut u32, win32minor: *mut u32, kdmajor: *mut u32, kdminor: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionValues(::core::mem::transmute_copy(&platformid), ::core::mem::transmute_copy(&win32major), ::core::mem::transmute_copy(&win32minor), ::core::mem::transmute_copy(&kdmajor), ::core::mem::transmute_copy(&kdminor)).into()
}
unsafe extern "system" fn GetSystemVersionString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionString(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSystemVersionStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemVersionStringWide(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetContextStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetContextStackTrace(::core::mem::transmute_copy(&startcontext), ::core::mem::transmute_copy(&startcontextsize), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn OutputContextStackTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputContextStackTrace(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetStoredEventInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut u32, processid: *mut u32, threadid: *mut u32, context: *mut ::core::ffi::c_void, contextsize: u32, contextused: *mut u32, extrainformation: *mut ::core::ffi::c_void, extrainformationsize: u32, extrainformationused: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStoredEventInformation(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize), ::core::mem::transmute_copy(&contextused), ::core::mem::transmute_copy(&extrainformation), ::core::mem::transmute_copy(&extrainformationsize), ::core::mem::transmute_copy(&extrainformationused)).into()
}
unsafe extern "system" fn GetManagedStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32, whichstring: u32, string: ::windows::core::PSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetManagedStatus(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&whichstring), ::core::mem::transmute_copy(&string), ::core::mem::transmute_copy(&stringsize), ::core::mem::transmute_copy(&stringneeded)).into()
}
unsafe extern "system" fn GetManagedStatusWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: *mut u32, whichstring: u32, string: ::windows::core::PWSTR, stringsize: u32, stringneeded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetManagedStatusWide(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&whichstring), ::core::mem::transmute_copy(&string), ::core::mem::transmute_copy(&stringsize), ::core::mem::transmute_copy(&stringneeded)).into()
}
unsafe extern "system" fn ResetManagedStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetManagedStatus(::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frameoffset: u64, stackoffset: u64, instructionoffset: u64, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStackTraceEx(::core::mem::transmute_copy(&frameoffset), ::core::mem::transmute_copy(&stackoffset), ::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn OutputStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputStackTraceEx(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetContextStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startcontext: *const ::core::ffi::c_void, startcontextsize: u32, frames: *mut DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *mut ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, framesfilled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetContextStackTraceEx(::core::mem::transmute_copy(&startcontext), ::core::mem::transmute_copy(&startcontextsize), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&framesfilled)).into()
}
unsafe extern "system" fn OutputContextStackTraceEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, framecontexts: *const ::core::ffi::c_void, framecontextssize: u32, framecontextsentrysize: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputContextStackTraceEx(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&frames), ::core::mem::transmute_copy(&framessize), ::core::mem::transmute_copy(&framecontexts), ::core::mem::transmute_copy(&framecontextssize), ::core::mem::transmute_copy(&framecontextsentrysize), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetBreakpointByGuid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, bp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBreakpointByGuid(::core::mem::transmute_copy(&guid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(bp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutionStatusEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExecutionStatusEx() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(status, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSynchronizationStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sendsattempted: *mut u32, secondssincelastresponse: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSynchronizationStatus(::core::mem::transmute_copy(&sendsattempted), ::core::mem::transmute_copy(&secondssincelastresponse)).into()
}
unsafe extern "system" fn GetDebuggeeType2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugControl7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, class: *mut u32, qualifier: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDebuggeeType2(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&class), ::core::mem::transmute_copy(&qualifier)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, Impl, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, Impl, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, Impl, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, Impl, OFFSET>,
GetLogFile: GetLogFile::<Identity, Impl, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, Impl, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, Impl, OFFSET>,
GetLogMask: GetLogMask::<Identity, Impl, OFFSET>,
SetLogMask: SetLogMask::<Identity, Impl, OFFSET>,
Input: Input::<Identity, Impl, OFFSET>,
ReturnInput: ReturnInput::<Identity, Impl, OFFSET>,
Output: Output::<Identity, Impl, OFFSET>,
OutputVaList: OutputVaList::<Identity, Impl, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, Impl, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, Impl, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, Impl, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, Impl, OFFSET>,
GetPromptText: GetPromptText::<Identity, Impl, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, Impl, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, Impl, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, Impl, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, Impl, OFFSET>,
Assemble: Assemble::<Identity, Impl, OFFSET>,
Disassemble: Disassemble::<Identity, Impl, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, Impl, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, Impl, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, Impl, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, Impl, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, Impl, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, Impl, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, Impl, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, Impl, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, Impl, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, Impl, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, Impl, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, Impl, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, Impl, OFFSET>,
GetPageSize: GetPageSize::<Identity, Impl, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, Impl, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, Impl, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, Impl, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, Impl, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, Impl, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, Impl, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, Impl, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, Impl, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, Impl, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, Impl, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, Impl, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, Impl, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, Impl, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, Impl, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, Impl, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, Impl, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, Impl, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, Impl, OFFSET>,
GetRadix: GetRadix::<Identity, Impl, OFFSET>,
SetRadix: SetRadix::<Identity, Impl, OFFSET>,
Evaluate: Evaluate::<Identity, Impl, OFFSET>,
CoerceValue: CoerceValue::<Identity, Impl, OFFSET>,
CoerceValues: CoerceValues::<Identity, Impl, OFFSET>,
Execute: Execute::<Identity, Impl, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, Impl, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, Impl, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, Impl, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, Impl, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, Impl, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, Impl, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, Impl, OFFSET>,
AddExtension: AddExtension::<Identity, Impl, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, Impl, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, Impl, OFFSET>,
CallExtension: CallExtension::<Identity, Impl, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, Impl, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, Impl, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, Impl, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, Impl, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, Impl, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, Impl, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, Impl, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, Impl, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, Impl, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, Impl, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, Impl, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, Impl, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, Impl, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, Impl, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, Impl, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, Impl, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, Impl, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, Impl, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, Impl, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, Impl, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, Impl, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, Impl, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, Impl, OFFSET>,
GetAssemblyOptions: GetAssemblyOptions::<Identity, Impl, OFFSET>,
AddAssemblyOptions: AddAssemblyOptions::<Identity, Impl, OFFSET>,
RemoveAssemblyOptions: RemoveAssemblyOptions::<Identity, Impl, OFFSET>,
SetAssemblyOptions: SetAssemblyOptions::<Identity, Impl, OFFSET>,
GetExpressionSyntax: GetExpressionSyntax::<Identity, Impl, OFFSET>,
SetExpressionSyntax: SetExpressionSyntax::<Identity, Impl, OFFSET>,
SetExpressionSyntaxByName: SetExpressionSyntaxByName::<Identity, Impl, OFFSET>,
GetNumberExpressionSyntaxes: GetNumberExpressionSyntaxes::<Identity, Impl, OFFSET>,
GetExpressionSyntaxNames: GetExpressionSyntaxNames::<Identity, Impl, OFFSET>,
GetNumberEvents: GetNumberEvents::<Identity, Impl, OFFSET>,
GetEventIndexDescription: GetEventIndexDescription::<Identity, Impl, OFFSET>,
GetCurrentEventIndex: GetCurrentEventIndex::<Identity, Impl, OFFSET>,
SetNextEventIndex: SetNextEventIndex::<Identity, Impl, OFFSET>,
GetLogFileWide: GetLogFileWide::<Identity, Impl, OFFSET>,
OpenLogFileWide: OpenLogFileWide::<Identity, Impl, OFFSET>,
InputWide: InputWide::<Identity, Impl, OFFSET>,
ReturnInputWide: ReturnInputWide::<Identity, Impl, OFFSET>,
OutputWide: OutputWide::<Identity, Impl, OFFSET>,
OutputVaListWide: OutputVaListWide::<Identity, Impl, OFFSET>,
ControlledOutputWide: ControlledOutputWide::<Identity, Impl, OFFSET>,
ControlledOutputVaListWide: ControlledOutputVaListWide::<Identity, Impl, OFFSET>,
OutputPromptWide: OutputPromptWide::<Identity, Impl, OFFSET>,
OutputPromptVaListWide: OutputPromptVaListWide::<Identity, Impl, OFFSET>,
GetPromptTextWide: GetPromptTextWide::<Identity, Impl, OFFSET>,
AssembleWide: AssembleWide::<Identity, Impl, OFFSET>,
DisassembleWide: DisassembleWide::<Identity, Impl, OFFSET>,
GetProcessorTypeNamesWide: GetProcessorTypeNamesWide::<Identity, Impl, OFFSET>,
GetTextMacroWide: GetTextMacroWide::<Identity, Impl, OFFSET>,
SetTextMacroWide: SetTextMacroWide::<Identity, Impl, OFFSET>,
EvaluateWide: EvaluateWide::<Identity, Impl, OFFSET>,
ExecuteWide: ExecuteWide::<Identity, Impl, OFFSET>,
ExecuteCommandFileWide: ExecuteCommandFileWide::<Identity, Impl, OFFSET>,
GetBreakpointByIndex2: GetBreakpointByIndex2::<Identity, Impl, OFFSET>,
GetBreakpointById2: GetBreakpointById2::<Identity, Impl, OFFSET>,
AddBreakpoint2: AddBreakpoint2::<Identity, Impl, OFFSET>,
RemoveBreakpoint2: RemoveBreakpoint2::<Identity, Impl, OFFSET>,
AddExtensionWide: AddExtensionWide::<Identity, Impl, OFFSET>,
GetExtensionByPathWide: GetExtensionByPathWide::<Identity, Impl, OFFSET>,
CallExtensionWide: CallExtensionWide::<Identity, Impl, OFFSET>,
GetExtensionFunctionWide: GetExtensionFunctionWide::<Identity, Impl, OFFSET>,
GetEventFilterTextWide: GetEventFilterTextWide::<Identity, Impl, OFFSET>,
GetEventFilterCommandWide: GetEventFilterCommandWide::<Identity, Impl, OFFSET>,
SetEventFilterCommandWide: SetEventFilterCommandWide::<Identity, Impl, OFFSET>,
GetSpecificFilterArgumentWide: GetSpecificFilterArgumentWide::<Identity, Impl, OFFSET>,
SetSpecificFilterArgumentWide: SetSpecificFilterArgumentWide::<Identity, Impl, OFFSET>,
GetExceptionFilterSecondCommandWide: GetExceptionFilterSecondCommandWide::<Identity, Impl, OFFSET>,
SetExceptionFilterSecondCommandWide: SetExceptionFilterSecondCommandWide::<Identity, Impl, OFFSET>,
GetLastEventInformationWide: GetLastEventInformationWide::<Identity, Impl, OFFSET>,
GetTextReplacementWide: GetTextReplacementWide::<Identity, Impl, OFFSET>,
SetTextReplacementWide: SetTextReplacementWide::<Identity, Impl, OFFSET>,
SetExpressionSyntaxByNameWide: SetExpressionSyntaxByNameWide::<Identity, Impl, OFFSET>,
GetExpressionSyntaxNamesWide: GetExpressionSyntaxNamesWide::<Identity, Impl, OFFSET>,
GetEventIndexDescriptionWide: GetEventIndexDescriptionWide::<Identity, Impl, OFFSET>,
GetLogFile2: GetLogFile2::<Identity, Impl, OFFSET>,
OpenLogFile2: OpenLogFile2::<Identity, Impl, OFFSET>,
GetLogFile2Wide: GetLogFile2Wide::<Identity, Impl, OFFSET>,
OpenLogFile2Wide: OpenLogFile2Wide::<Identity, Impl, OFFSET>,
GetSystemVersionValues: GetSystemVersionValues::<Identity, Impl, OFFSET>,
GetSystemVersionString: GetSystemVersionString::<Identity, Impl, OFFSET>,
GetSystemVersionStringWide: GetSystemVersionStringWide::<Identity, Impl, OFFSET>,
GetContextStackTrace: GetContextStackTrace::<Identity, Impl, OFFSET>,
OutputContextStackTrace: OutputContextStackTrace::<Identity, Impl, OFFSET>,
GetStoredEventInformation: GetStoredEventInformation::<Identity, Impl, OFFSET>,
GetManagedStatus: GetManagedStatus::<Identity, Impl, OFFSET>,
GetManagedStatusWide: GetManagedStatusWide::<Identity, Impl, OFFSET>,
ResetManagedStatus: ResetManagedStatus::<Identity, Impl, OFFSET>,
GetStackTraceEx: GetStackTraceEx::<Identity, Impl, OFFSET>,
OutputStackTraceEx: OutputStackTraceEx::<Identity, Impl, OFFSET>,
GetContextStackTraceEx: GetContextStackTraceEx::<Identity, Impl, OFFSET>,
OutputContextStackTraceEx: OutputContextStackTraceEx::<Identity, Impl, OFFSET>,
GetBreakpointByGuid: GetBreakpointByGuid::<Identity, Impl, OFFSET>,
GetExecutionStatusEx: GetExecutionStatusEx::<Identity, Impl, OFFSET>,
GetSynchronizationStatus: GetSynchronizationStatus::<Identity, Impl, OFFSET>,
GetDebuggeeType2: GetDebuggeeType2::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugControl7 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugCookie_Impl: Sized {
fn SetDebugCookie(&self, dwdebugappcookie: u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugCookie {}
impl IDebugCookie_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugCookie_Impl, const OFFSET: isize>() -> IDebugCookie_Vtbl {
unsafe extern "system" fn SetDebugCookie<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugCookie_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwdebugappcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDebugCookie(::core::mem::transmute_copy(&dwdebugappcookie)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetDebugCookie: SetDebugCookie::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugCookie as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugDataSpaces_Impl: Sized {
fn ReadVirtual(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteVirtual(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn SearchVirtual(&self, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32) -> ::windows::core::Result<u64>;
fn ReadVirtualUncached(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteVirtualUncached(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadPointersVirtual(&self, count: u32, offset: u64, ptrs: *mut u64) -> ::windows::core::Result<()>;
fn WritePointersVirtual(&self, count: u32, offset: u64, ptrs: *const u64) -> ::windows::core::Result<()>;
fn ReadPhysical(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WritePhysical(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadControl(&self, processor: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteControl(&self, processor: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadIo(&self, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteIo(&self, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadMsr(&self, msr: u32) -> ::windows::core::Result<u64>;
fn WriteMsr(&self, msr: u32, value: u64) -> ::windows::core::Result<()>;
fn ReadBusData(&self, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteBusData(&self, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn CheckLowMemory(&self) -> ::windows::core::Result<()>;
fn ReadDebuggerData(&self, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::Result<()>;
fn ReadProcessorSystemData(&self, processor: u32, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugDataSpaces {}
impl IDebugDataSpaces_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>() -> IDebugDataSpaces_Vtbl {
unsafe extern "system" fn ReadVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn SearchVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32, matchoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SearchVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&length), ::core::mem::transmute_copy(&pattern), ::core::mem::transmute_copy(&patternsize), ::core::mem::transmute_copy(&patterngranularity)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(matchoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadVirtualUncached<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadVirtualUncached(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteVirtualUncached<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteVirtualUncached(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadPointersVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, offset: u64, ptrs: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadPointersVirtual(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&ptrs)).into()
}
unsafe extern "system" fn WritePointersVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, offset: u64, ptrs: *const u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WritePointersVirtual(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&ptrs)).into()
}
unsafe extern "system" fn ReadPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WritePhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WritePhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadControl(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteControl(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadIo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadIo(::core::mem::transmute_copy(&interfacetype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&addressspace), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteIo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteIo(::core::mem::transmute_copy(&interfacetype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&addressspace), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadMsr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, msr: u32, value: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ReadMsr(::core::mem::transmute_copy(&msr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(value, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn WriteMsr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, msr: u32, value: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteMsr(::core::mem::transmute_copy(&msr), ::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ReadBusData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBusData(::core::mem::transmute_copy(&busdatatype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&slotnumber), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteBusData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteBusData(::core::mem::transmute_copy(&busdatatype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&slotnumber), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn CheckLowMemory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CheckLowMemory().into()
}
unsafe extern "system" fn ReadDebuggerData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadDebuggerData(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&datasize)).into()
}
unsafe extern "system" fn ReadProcessorSystemData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadProcessorSystemData(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&datasize)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ReadVirtual: ReadVirtual::<Identity, Impl, OFFSET>,
WriteVirtual: WriteVirtual::<Identity, Impl, OFFSET>,
SearchVirtual: SearchVirtual::<Identity, Impl, OFFSET>,
ReadVirtualUncached: ReadVirtualUncached::<Identity, Impl, OFFSET>,
WriteVirtualUncached: WriteVirtualUncached::<Identity, Impl, OFFSET>,
ReadPointersVirtual: ReadPointersVirtual::<Identity, Impl, OFFSET>,
WritePointersVirtual: WritePointersVirtual::<Identity, Impl, OFFSET>,
ReadPhysical: ReadPhysical::<Identity, Impl, OFFSET>,
WritePhysical: WritePhysical::<Identity, Impl, OFFSET>,
ReadControl: ReadControl::<Identity, Impl, OFFSET>,
WriteControl: WriteControl::<Identity, Impl, OFFSET>,
ReadIo: ReadIo::<Identity, Impl, OFFSET>,
WriteIo: WriteIo::<Identity, Impl, OFFSET>,
ReadMsr: ReadMsr::<Identity, Impl, OFFSET>,
WriteMsr: WriteMsr::<Identity, Impl, OFFSET>,
ReadBusData: ReadBusData::<Identity, Impl, OFFSET>,
WriteBusData: WriteBusData::<Identity, Impl, OFFSET>,
CheckLowMemory: CheckLowMemory::<Identity, Impl, OFFSET>,
ReadDebuggerData: ReadDebuggerData::<Identity, Impl, OFFSET>,
ReadProcessorSystemData: ReadProcessorSystemData::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDataSpaces as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Memory\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Memory")]
pub trait IDebugDataSpaces2_Impl: Sized {
fn ReadVirtual(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteVirtual(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn SearchVirtual(&self, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32) -> ::windows::core::Result<u64>;
fn ReadVirtualUncached(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteVirtualUncached(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadPointersVirtual(&self, count: u32, offset: u64, ptrs: *mut u64) -> ::windows::core::Result<()>;
fn WritePointersVirtual(&self, count: u32, offset: u64, ptrs: *const u64) -> ::windows::core::Result<()>;
fn ReadPhysical(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WritePhysical(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadControl(&self, processor: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteControl(&self, processor: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadIo(&self, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteIo(&self, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadMsr(&self, msr: u32) -> ::windows::core::Result<u64>;
fn WriteMsr(&self, msr: u32, value: u64) -> ::windows::core::Result<()>;
fn ReadBusData(&self, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteBusData(&self, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn CheckLowMemory(&self) -> ::windows::core::Result<()>;
fn ReadDebuggerData(&self, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::Result<()>;
fn ReadProcessorSystemData(&self, processor: u32, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::Result<()>;
fn VirtualToPhysical(&self, r#virtual: u64) -> ::windows::core::Result<u64>;
fn GetVirtualTranslationPhysicalOffsets(&self, r#virtual: u64, offsets: *mut u64, offsetssize: u32, levels: *mut u32) -> ::windows::core::Result<()>;
fn ReadHandleData(&self, handle: u64, datatype: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::Result<()>;
fn FillVirtual(&self, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::Result<()>;
fn FillPhysical(&self, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::Result<()>;
fn QueryVirtual(&self, offset: u64, info: *mut super::super::Memory::MEMORY_BASIC_INFORMATION64) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_System_Memory")]
impl ::windows::core::RuntimeName for IDebugDataSpaces2 {}
#[cfg(feature = "Win32_System_Memory")]
impl IDebugDataSpaces2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>() -> IDebugDataSpaces2_Vtbl {
unsafe extern "system" fn ReadVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn SearchVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32, matchoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SearchVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&length), ::core::mem::transmute_copy(&pattern), ::core::mem::transmute_copy(&patternsize), ::core::mem::transmute_copy(&patterngranularity)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(matchoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadVirtualUncached<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadVirtualUncached(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteVirtualUncached<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteVirtualUncached(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadPointersVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, offset: u64, ptrs: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadPointersVirtual(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&ptrs)).into()
}
unsafe extern "system" fn WritePointersVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, offset: u64, ptrs: *const u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WritePointersVirtual(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&ptrs)).into()
}
unsafe extern "system" fn ReadPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WritePhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WritePhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadControl(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteControl(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadIo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadIo(::core::mem::transmute_copy(&interfacetype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&addressspace), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteIo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteIo(::core::mem::transmute_copy(&interfacetype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&addressspace), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadMsr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, msr: u32, value: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ReadMsr(::core::mem::transmute_copy(&msr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(value, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn WriteMsr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, msr: u32, value: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteMsr(::core::mem::transmute_copy(&msr), ::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ReadBusData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBusData(::core::mem::transmute_copy(&busdatatype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&slotnumber), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteBusData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteBusData(::core::mem::transmute_copy(&busdatatype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&slotnumber), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn CheckLowMemory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CheckLowMemory().into()
}
unsafe extern "system" fn ReadDebuggerData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadDebuggerData(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&datasize)).into()
}
unsafe extern "system" fn ReadProcessorSystemData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadProcessorSystemData(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&datasize)).into()
}
unsafe extern "system" fn VirtualToPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#virtual: u64, physical: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VirtualToPhysical(::core::mem::transmute_copy(&r#virtual)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(physical, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVirtualTranslationPhysicalOffsets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#virtual: u64, offsets: *mut u64, offsetssize: u32, levels: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetVirtualTranslationPhysicalOffsets(::core::mem::transmute_copy(&r#virtual), ::core::mem::transmute_copy(&offsets), ::core::mem::transmute_copy(&offsetssize), ::core::mem::transmute_copy(&levels)).into()
}
unsafe extern "system" fn ReadHandleData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, datatype: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadHandleData(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&datatype), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&datasize)).into()
}
unsafe extern "system" fn FillVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FillVirtual(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&pattern), ::core::mem::transmute_copy(&patternsize), ::core::mem::transmute_copy(&filled)).into()
}
unsafe extern "system" fn FillPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FillPhysical(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&pattern), ::core::mem::transmute_copy(&patternsize), ::core::mem::transmute_copy(&filled)).into()
}
unsafe extern "system" fn QueryVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, info: *mut super::super::Memory::MEMORY_BASIC_INFORMATION64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&info)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ReadVirtual: ReadVirtual::<Identity, Impl, OFFSET>,
WriteVirtual: WriteVirtual::<Identity, Impl, OFFSET>,
SearchVirtual: SearchVirtual::<Identity, Impl, OFFSET>,
ReadVirtualUncached: ReadVirtualUncached::<Identity, Impl, OFFSET>,
WriteVirtualUncached: WriteVirtualUncached::<Identity, Impl, OFFSET>,
ReadPointersVirtual: ReadPointersVirtual::<Identity, Impl, OFFSET>,
WritePointersVirtual: WritePointersVirtual::<Identity, Impl, OFFSET>,
ReadPhysical: ReadPhysical::<Identity, Impl, OFFSET>,
WritePhysical: WritePhysical::<Identity, Impl, OFFSET>,
ReadControl: ReadControl::<Identity, Impl, OFFSET>,
WriteControl: WriteControl::<Identity, Impl, OFFSET>,
ReadIo: ReadIo::<Identity, Impl, OFFSET>,
WriteIo: WriteIo::<Identity, Impl, OFFSET>,
ReadMsr: ReadMsr::<Identity, Impl, OFFSET>,
WriteMsr: WriteMsr::<Identity, Impl, OFFSET>,
ReadBusData: ReadBusData::<Identity, Impl, OFFSET>,
WriteBusData: WriteBusData::<Identity, Impl, OFFSET>,
CheckLowMemory: CheckLowMemory::<Identity, Impl, OFFSET>,
ReadDebuggerData: ReadDebuggerData::<Identity, Impl, OFFSET>,
ReadProcessorSystemData: ReadProcessorSystemData::<Identity, Impl, OFFSET>,
VirtualToPhysical: VirtualToPhysical::<Identity, Impl, OFFSET>,
GetVirtualTranslationPhysicalOffsets: GetVirtualTranslationPhysicalOffsets::<Identity, Impl, OFFSET>,
ReadHandleData: ReadHandleData::<Identity, Impl, OFFSET>,
FillVirtual: FillVirtual::<Identity, Impl, OFFSET>,
FillPhysical: FillPhysical::<Identity, Impl, OFFSET>,
QueryVirtual: QueryVirtual::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDataSpaces2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Memory\"`, `\"Win32_System_SystemInformation\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_System_Memory", feature = "Win32_System_SystemInformation"))]
pub trait IDebugDataSpaces3_Impl: Sized {
fn ReadVirtual(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteVirtual(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn SearchVirtual(&self, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32) -> ::windows::core::Result<u64>;
fn ReadVirtualUncached(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteVirtualUncached(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadPointersVirtual(&self, count: u32, offset: u64, ptrs: *mut u64) -> ::windows::core::Result<()>;
fn WritePointersVirtual(&self, count: u32, offset: u64, ptrs: *const u64) -> ::windows::core::Result<()>;
fn ReadPhysical(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WritePhysical(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadControl(&self, processor: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteControl(&self, processor: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadIo(&self, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteIo(&self, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadMsr(&self, msr: u32) -> ::windows::core::Result<u64>;
fn WriteMsr(&self, msr: u32, value: u64) -> ::windows::core::Result<()>;
fn ReadBusData(&self, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteBusData(&self, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn CheckLowMemory(&self) -> ::windows::core::Result<()>;
fn ReadDebuggerData(&self, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::Result<()>;
fn ReadProcessorSystemData(&self, processor: u32, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::Result<()>;
fn VirtualToPhysical(&self, r#virtual: u64) -> ::windows::core::Result<u64>;
fn GetVirtualTranslationPhysicalOffsets(&self, r#virtual: u64, offsets: *mut u64, offsetssize: u32, levels: *mut u32) -> ::windows::core::Result<()>;
fn ReadHandleData(&self, handle: u64, datatype: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::Result<()>;
fn FillVirtual(&self, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::Result<()>;
fn FillPhysical(&self, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::Result<()>;
fn QueryVirtual(&self, offset: u64, info: *mut super::super::Memory::MEMORY_BASIC_INFORMATION64) -> ::windows::core::Result<()>;
fn ReadImageNtHeaders(&self, imagebase: u64, headers: *mut IMAGE_NT_HEADERS64) -> ::windows::core::Result<()>;
fn ReadTagged(&self, tag: *const ::windows::core::GUID, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, totalsize: *mut u32) -> ::windows::core::Result<()>;
fn StartEnumTagged(&self) -> ::windows::core::Result<u64>;
fn GetNextTagged(&self, handle: u64, tag: *mut ::windows::core::GUID, size: *mut u32) -> ::windows::core::Result<()>;
fn EndEnumTagged(&self, handle: u64) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Memory", feature = "Win32_System_SystemInformation"))]
impl ::windows::core::RuntimeName for IDebugDataSpaces3 {}
#[cfg(all(feature = "Win32_System_Memory", feature = "Win32_System_SystemInformation"))]
impl IDebugDataSpaces3_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>() -> IDebugDataSpaces3_Vtbl {
unsafe extern "system" fn ReadVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn SearchVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32, matchoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SearchVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&length), ::core::mem::transmute_copy(&pattern), ::core::mem::transmute_copy(&patternsize), ::core::mem::transmute_copy(&patterngranularity)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(matchoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadVirtualUncached<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadVirtualUncached(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteVirtualUncached<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteVirtualUncached(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadPointersVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, offset: u64, ptrs: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadPointersVirtual(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&ptrs)).into()
}
unsafe extern "system" fn WritePointersVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, offset: u64, ptrs: *const u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WritePointersVirtual(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&ptrs)).into()
}
unsafe extern "system" fn ReadPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WritePhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WritePhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadControl(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteControl(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadIo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadIo(::core::mem::transmute_copy(&interfacetype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&addressspace), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteIo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteIo(::core::mem::transmute_copy(&interfacetype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&addressspace), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadMsr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, msr: u32, value: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ReadMsr(::core::mem::transmute_copy(&msr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(value, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn WriteMsr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, msr: u32, value: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteMsr(::core::mem::transmute_copy(&msr), ::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ReadBusData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBusData(::core::mem::transmute_copy(&busdatatype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&slotnumber), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteBusData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteBusData(::core::mem::transmute_copy(&busdatatype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&slotnumber), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn CheckLowMemory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CheckLowMemory().into()
}
unsafe extern "system" fn ReadDebuggerData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadDebuggerData(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&datasize)).into()
}
unsafe extern "system" fn ReadProcessorSystemData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadProcessorSystemData(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&datasize)).into()
}
unsafe extern "system" fn VirtualToPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#virtual: u64, physical: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VirtualToPhysical(::core::mem::transmute_copy(&r#virtual)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(physical, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVirtualTranslationPhysicalOffsets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#virtual: u64, offsets: *mut u64, offsetssize: u32, levels: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetVirtualTranslationPhysicalOffsets(::core::mem::transmute_copy(&r#virtual), ::core::mem::transmute_copy(&offsets), ::core::mem::transmute_copy(&offsetssize), ::core::mem::transmute_copy(&levels)).into()
}
unsafe extern "system" fn ReadHandleData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, datatype: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadHandleData(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&datatype), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&datasize)).into()
}
unsafe extern "system" fn FillVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FillVirtual(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&pattern), ::core::mem::transmute_copy(&patternsize), ::core::mem::transmute_copy(&filled)).into()
}
unsafe extern "system" fn FillPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FillPhysical(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&pattern), ::core::mem::transmute_copy(&patternsize), ::core::mem::transmute_copy(&filled)).into()
}
unsafe extern "system" fn QueryVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, info: *mut super::super::Memory::MEMORY_BASIC_INFORMATION64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&info)).into()
}
unsafe extern "system" fn ReadImageNtHeaders<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imagebase: u64, headers: *mut IMAGE_NT_HEADERS64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadImageNtHeaders(::core::mem::transmute_copy(&imagebase), ::core::mem::transmute_copy(&headers)).into()
}
unsafe extern "system" fn ReadTagged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tag: *const ::windows::core::GUID, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, totalsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTagged(::core::mem::transmute_copy(&tag), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&totalsize)).into()
}
unsafe extern "system" fn StartEnumTagged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StartEnumTagged() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextTagged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, tag: *mut ::windows::core::GUID, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNextTagged(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&tag), ::core::mem::transmute_copy(&size)).into()
}
unsafe extern "system" fn EndEnumTagged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndEnumTagged(::core::mem::transmute_copy(&handle)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ReadVirtual: ReadVirtual::<Identity, Impl, OFFSET>,
WriteVirtual: WriteVirtual::<Identity, Impl, OFFSET>,
SearchVirtual: SearchVirtual::<Identity, Impl, OFFSET>,
ReadVirtualUncached: ReadVirtualUncached::<Identity, Impl, OFFSET>,
WriteVirtualUncached: WriteVirtualUncached::<Identity, Impl, OFFSET>,
ReadPointersVirtual: ReadPointersVirtual::<Identity, Impl, OFFSET>,
WritePointersVirtual: WritePointersVirtual::<Identity, Impl, OFFSET>,
ReadPhysical: ReadPhysical::<Identity, Impl, OFFSET>,
WritePhysical: WritePhysical::<Identity, Impl, OFFSET>,
ReadControl: ReadControl::<Identity, Impl, OFFSET>,
WriteControl: WriteControl::<Identity, Impl, OFFSET>,
ReadIo: ReadIo::<Identity, Impl, OFFSET>,
WriteIo: WriteIo::<Identity, Impl, OFFSET>,
ReadMsr: ReadMsr::<Identity, Impl, OFFSET>,
WriteMsr: WriteMsr::<Identity, Impl, OFFSET>,
ReadBusData: ReadBusData::<Identity, Impl, OFFSET>,
WriteBusData: WriteBusData::<Identity, Impl, OFFSET>,
CheckLowMemory: CheckLowMemory::<Identity, Impl, OFFSET>,
ReadDebuggerData: ReadDebuggerData::<Identity, Impl, OFFSET>,
ReadProcessorSystemData: ReadProcessorSystemData::<Identity, Impl, OFFSET>,
VirtualToPhysical: VirtualToPhysical::<Identity, Impl, OFFSET>,
GetVirtualTranslationPhysicalOffsets: GetVirtualTranslationPhysicalOffsets::<Identity, Impl, OFFSET>,
ReadHandleData: ReadHandleData::<Identity, Impl, OFFSET>,
FillVirtual: FillVirtual::<Identity, Impl, OFFSET>,
FillPhysical: FillPhysical::<Identity, Impl, OFFSET>,
QueryVirtual: QueryVirtual::<Identity, Impl, OFFSET>,
ReadImageNtHeaders: ReadImageNtHeaders::<Identity, Impl, OFFSET>,
ReadTagged: ReadTagged::<Identity, Impl, OFFSET>,
StartEnumTagged: StartEnumTagged::<Identity, Impl, OFFSET>,
GetNextTagged: GetNextTagged::<Identity, Impl, OFFSET>,
EndEnumTagged: EndEnumTagged::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDataSpaces3 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Memory\"`, `\"Win32_System_SystemInformation\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_System_Memory", feature = "Win32_System_SystemInformation"))]
pub trait IDebugDataSpaces4_Impl: Sized {
fn ReadVirtual(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteVirtual(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn SearchVirtual(&self, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32) -> ::windows::core::Result<u64>;
fn ReadVirtualUncached(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteVirtualUncached(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadPointersVirtual(&self, count: u32, offset: u64, ptrs: *mut u64) -> ::windows::core::Result<()>;
fn WritePointersVirtual(&self, count: u32, offset: u64, ptrs: *const u64) -> ::windows::core::Result<()>;
fn ReadPhysical(&self, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WritePhysical(&self, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadControl(&self, processor: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteControl(&self, processor: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadIo(&self, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteIo(&self, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn ReadMsr(&self, msr: u32) -> ::windows::core::Result<u64>;
fn WriteMsr(&self, msr: u32, value: u64) -> ::windows::core::Result<()>;
fn ReadBusData(&self, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteBusData(&self, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn CheckLowMemory(&self) -> ::windows::core::Result<()>;
fn ReadDebuggerData(&self, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::Result<()>;
fn ReadProcessorSystemData(&self, processor: u32, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::Result<()>;
fn VirtualToPhysical(&self, r#virtual: u64) -> ::windows::core::Result<u64>;
fn GetVirtualTranslationPhysicalOffsets(&self, r#virtual: u64, offsets: *mut u64, offsetssize: u32, levels: *mut u32) -> ::windows::core::Result<()>;
fn ReadHandleData(&self, handle: u64, datatype: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::Result<()>;
fn FillVirtual(&self, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::Result<()>;
fn FillPhysical(&self, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::Result<()>;
fn QueryVirtual(&self, offset: u64, info: *mut super::super::Memory::MEMORY_BASIC_INFORMATION64) -> ::windows::core::Result<()>;
fn ReadImageNtHeaders(&self, imagebase: u64, headers: *mut IMAGE_NT_HEADERS64) -> ::windows::core::Result<()>;
fn ReadTagged(&self, tag: *const ::windows::core::GUID, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, totalsize: *mut u32) -> ::windows::core::Result<()>;
fn StartEnumTagged(&self) -> ::windows::core::Result<u64>;
fn GetNextTagged(&self, handle: u64, tag: *mut ::windows::core::GUID, size: *mut u32) -> ::windows::core::Result<()>;
fn EndEnumTagged(&self, handle: u64) -> ::windows::core::Result<()>;
fn GetOffsetInformation(&self, space: u32, which: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::Result<()>;
fn GetNextDifferentlyValidOffsetVirtual(&self, offset: u64) -> ::windows::core::Result<u64>;
fn GetValidRegionVirtual(&self, base: u64, size: u32, validbase: *mut u64, validsize: *mut u32) -> ::windows::core::Result<()>;
fn SearchVirtual2(&self, offset: u64, length: u64, flags: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32) -> ::windows::core::Result<u64>;
fn ReadMultiByteStringVirtual(&self, offset: u64, maxbytes: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringbytes: *mut u32) -> ::windows::core::Result<()>;
fn ReadMultiByteStringVirtualWide(&self, offset: u64, maxbytes: u32, codepage: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringbytes: *mut u32) -> ::windows::core::Result<()>;
fn ReadUnicodeStringVirtual(&self, offset: u64, maxbytes: u32, codepage: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringbytes: *mut u32) -> ::windows::core::Result<()>;
fn ReadUnicodeStringVirtualWide(&self, offset: u64, maxbytes: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringbytes: *mut u32) -> ::windows::core::Result<()>;
fn ReadPhysical2(&self, offset: u64, flags: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WritePhysical2(&self, offset: u64, flags: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Memory", feature = "Win32_System_SystemInformation"))]
impl ::windows::core::RuntimeName for IDebugDataSpaces4 {}
#[cfg(all(feature = "Win32_System_Memory", feature = "Win32_System_SystemInformation"))]
impl IDebugDataSpaces4_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>() -> IDebugDataSpaces4_Vtbl {
unsafe extern "system" fn ReadVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn SearchVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, length: u64, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32, matchoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SearchVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&length), ::core::mem::transmute_copy(&pattern), ::core::mem::transmute_copy(&patternsize), ::core::mem::transmute_copy(&patterngranularity)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(matchoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadVirtualUncached<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadVirtualUncached(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteVirtualUncached<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteVirtualUncached(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadPointersVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, offset: u64, ptrs: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadPointersVirtual(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&ptrs)).into()
}
unsafe extern "system" fn WritePointersVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, offset: u64, ptrs: *const u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WritePointersVirtual(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&ptrs)).into()
}
unsafe extern "system" fn ReadPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WritePhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WritePhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadControl(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteControl(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadIo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadIo(::core::mem::transmute_copy(&interfacetype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&addressspace), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteIo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, interfacetype: u32, busnumber: u32, addressspace: u32, offset: u64, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteIo(::core::mem::transmute_copy(&interfacetype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&addressspace), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadMsr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, msr: u32, value: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ReadMsr(::core::mem::transmute_copy(&msr)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(value, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn WriteMsr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, msr: u32, value: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteMsr(::core::mem::transmute_copy(&msr), ::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ReadBusData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBusData(::core::mem::transmute_copy(&busdatatype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&slotnumber), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteBusData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, busdatatype: u32, busnumber: u32, slotnumber: u32, offset: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteBusData(::core::mem::transmute_copy(&busdatatype), ::core::mem::transmute_copy(&busnumber), ::core::mem::transmute_copy(&slotnumber), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn CheckLowMemory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CheckLowMemory().into()
}
unsafe extern "system" fn ReadDebuggerData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadDebuggerData(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&datasize)).into()
}
unsafe extern "system" fn ReadProcessorSystemData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, index: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadProcessorSystemData(::core::mem::transmute_copy(&processor), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&datasize)).into()
}
unsafe extern "system" fn VirtualToPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#virtual: u64, physical: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.VirtualToPhysical(::core::mem::transmute_copy(&r#virtual)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(physical, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVirtualTranslationPhysicalOffsets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#virtual: u64, offsets: *mut u64, offsetssize: u32, levels: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetVirtualTranslationPhysicalOffsets(::core::mem::transmute_copy(&r#virtual), ::core::mem::transmute_copy(&offsets), ::core::mem::transmute_copy(&offsetssize), ::core::mem::transmute_copy(&levels)).into()
}
unsafe extern "system" fn ReadHandleData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, datatype: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, datasize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadHandleData(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&datatype), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&datasize)).into()
}
unsafe extern "system" fn FillVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FillVirtual(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&pattern), ::core::mem::transmute_copy(&patternsize), ::core::mem::transmute_copy(&filled)).into()
}
unsafe extern "system" fn FillPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u64, size: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, filled: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FillPhysical(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&pattern), ::core::mem::transmute_copy(&patternsize), ::core::mem::transmute_copy(&filled)).into()
}
unsafe extern "system" fn QueryVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, info: *mut super::super::Memory::MEMORY_BASIC_INFORMATION64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&info)).into()
}
unsafe extern "system" fn ReadImageNtHeaders<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imagebase: u64, headers: *mut IMAGE_NT_HEADERS64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadImageNtHeaders(::core::mem::transmute_copy(&imagebase), ::core::mem::transmute_copy(&headers)).into()
}
unsafe extern "system" fn ReadTagged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, tag: *const ::windows::core::GUID, offset: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, totalsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTagged(::core::mem::transmute_copy(&tag), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&totalsize)).into()
}
unsafe extern "system" fn StartEnumTagged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StartEnumTagged() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextTagged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, tag: *mut ::windows::core::GUID, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNextTagged(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&tag), ::core::mem::transmute_copy(&size)).into()
}
unsafe extern "system" fn EndEnumTagged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndEnumTagged(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetOffsetInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, space: u32, which: u32, offset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, infosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOffsetInformation(::core::mem::transmute_copy(&space), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&infosize)).into()
}
unsafe extern "system" fn GetNextDifferentlyValidOffsetVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, nextoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNextDifferentlyValidOffsetVirtual(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nextoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValidRegionVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, base: u64, size: u32, validbase: *mut u64, validsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetValidRegionVirtual(::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&validbase), ::core::mem::transmute_copy(&validsize)).into()
}
unsafe extern "system" fn SearchVirtual2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, length: u64, flags: u32, pattern: *const ::core::ffi::c_void, patternsize: u32, patterngranularity: u32, matchoffset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.SearchVirtual2(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&length), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pattern), ::core::mem::transmute_copy(&patternsize), ::core::mem::transmute_copy(&patterngranularity)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(matchoffset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadMultiByteStringVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, maxbytes: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringbytes: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadMultiByteStringVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&maxbytes), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringbytes)).into()
}
unsafe extern "system" fn ReadMultiByteStringVirtualWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, maxbytes: u32, codepage: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringbytes: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadMultiByteStringVirtualWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&maxbytes), ::core::mem::transmute_copy(&codepage), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringbytes)).into()
}
unsafe extern "system" fn ReadUnicodeStringVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, maxbytes: u32, codepage: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringbytes: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadUnicodeStringVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&maxbytes), ::core::mem::transmute_copy(&codepage), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringbytes)).into()
}
unsafe extern "system" fn ReadUnicodeStringVirtualWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, maxbytes: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringbytes: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadUnicodeStringVirtualWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&maxbytes), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringbytes)).into()
}
unsafe extern "system" fn ReadPhysical2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadPhysical2(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WritePhysical2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDataSpaces4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WritePhysical2(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ReadVirtual: ReadVirtual::<Identity, Impl, OFFSET>,
WriteVirtual: WriteVirtual::<Identity, Impl, OFFSET>,
SearchVirtual: SearchVirtual::<Identity, Impl, OFFSET>,
ReadVirtualUncached: ReadVirtualUncached::<Identity, Impl, OFFSET>,
WriteVirtualUncached: WriteVirtualUncached::<Identity, Impl, OFFSET>,
ReadPointersVirtual: ReadPointersVirtual::<Identity, Impl, OFFSET>,
WritePointersVirtual: WritePointersVirtual::<Identity, Impl, OFFSET>,
ReadPhysical: ReadPhysical::<Identity, Impl, OFFSET>,
WritePhysical: WritePhysical::<Identity, Impl, OFFSET>,
ReadControl: ReadControl::<Identity, Impl, OFFSET>,
WriteControl: WriteControl::<Identity, Impl, OFFSET>,
ReadIo: ReadIo::<Identity, Impl, OFFSET>,
WriteIo: WriteIo::<Identity, Impl, OFFSET>,
ReadMsr: ReadMsr::<Identity, Impl, OFFSET>,
WriteMsr: WriteMsr::<Identity, Impl, OFFSET>,
ReadBusData: ReadBusData::<Identity, Impl, OFFSET>,
WriteBusData: WriteBusData::<Identity, Impl, OFFSET>,
CheckLowMemory: CheckLowMemory::<Identity, Impl, OFFSET>,
ReadDebuggerData: ReadDebuggerData::<Identity, Impl, OFFSET>,
ReadProcessorSystemData: ReadProcessorSystemData::<Identity, Impl, OFFSET>,
VirtualToPhysical: VirtualToPhysical::<Identity, Impl, OFFSET>,
GetVirtualTranslationPhysicalOffsets: GetVirtualTranslationPhysicalOffsets::<Identity, Impl, OFFSET>,
ReadHandleData: ReadHandleData::<Identity, Impl, OFFSET>,
FillVirtual: FillVirtual::<Identity, Impl, OFFSET>,
FillPhysical: FillPhysical::<Identity, Impl, OFFSET>,
QueryVirtual: QueryVirtual::<Identity, Impl, OFFSET>,
ReadImageNtHeaders: ReadImageNtHeaders::<Identity, Impl, OFFSET>,
ReadTagged: ReadTagged::<Identity, Impl, OFFSET>,
StartEnumTagged: StartEnumTagged::<Identity, Impl, OFFSET>,
GetNextTagged: GetNextTagged::<Identity, Impl, OFFSET>,
EndEnumTagged: EndEnumTagged::<Identity, Impl, OFFSET>,
GetOffsetInformation: GetOffsetInformation::<Identity, Impl, OFFSET>,
GetNextDifferentlyValidOffsetVirtual: GetNextDifferentlyValidOffsetVirtual::<Identity, Impl, OFFSET>,
GetValidRegionVirtual: GetValidRegionVirtual::<Identity, Impl, OFFSET>,
SearchVirtual2: SearchVirtual2::<Identity, Impl, OFFSET>,
ReadMultiByteStringVirtual: ReadMultiByteStringVirtual::<Identity, Impl, OFFSET>,
ReadMultiByteStringVirtualWide: ReadMultiByteStringVirtualWide::<Identity, Impl, OFFSET>,
ReadUnicodeStringVirtual: ReadUnicodeStringVirtual::<Identity, Impl, OFFSET>,
ReadUnicodeStringVirtualWide: ReadUnicodeStringVirtualWide::<Identity, Impl, OFFSET>,
ReadPhysical2: ReadPhysical2::<Identity, Impl, OFFSET>,
WritePhysical2: WritePhysical2::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDataSpaces4 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugDocument_Impl: Sized + IDebugDocumentInfo_Impl {}
impl ::windows::core::RuntimeName for IDebugDocument {}
impl IDebugDocument_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocument_Impl, const OFFSET: isize>() -> IDebugDocument_Vtbl {
Self { base__: IDebugDocumentInfo_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDocument as ::windows::core::ComInterface>::IID || iid == &<IDebugDocumentInfo as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugDocumentContext_Impl: Sized {
fn GetDocument(&self) -> ::windows::core::Result<IDebugDocument>;
fn EnumCodeContexts(&self) -> ::windows::core::Result<IEnumDebugCodeContexts>;
}
impl ::windows::core::RuntimeName for IDebugDocumentContext {}
impl IDebugDocumentContext_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentContext_Impl, const OFFSET: isize>() -> IDebugDocumentContext_Vtbl {
unsafe extern "system" fn GetDocument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppsd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDocument() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsd, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumCodeContexts<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppescc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumCodeContexts() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppescc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDocument: GetDocument::<Identity, Impl, OFFSET>,
EnumCodeContexts: EnumCodeContexts::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDocumentContext as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugDocumentHelper32_Impl: Sized {
fn Init(&self, pda: ::core::option::Option<&IDebugApplication32>, pszshortname: &::windows::core::PCWSTR, pszlongname: &::windows::core::PCWSTR, docattr: u32) -> ::windows::core::Result<()>;
fn Attach(&self, pddhparent: ::core::option::Option<&IDebugDocumentHelper32>) -> ::windows::core::Result<()>;
fn Detach(&self) -> ::windows::core::Result<()>;
fn AddUnicodeText(&self, psztext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AddDBCSText(&self, psztext: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn SetDebugDocumentHost(&self, pddh: ::core::option::Option<&IDebugDocumentHost>) -> ::windows::core::Result<()>;
fn AddDeferredText(&self, cchars: u32, dwtextstartcookie: u32) -> ::windows::core::Result<()>;
fn DefineScriptBlock(&self, ulcharoffset: u32, cchars: u32, pas: ::core::option::Option<&IActiveScript>, fscriptlet: super::super::super::Foundation::BOOL) -> ::windows::core::Result<u32>;
fn SetDefaultTextAttr(&self, statextattr: u16) -> ::windows::core::Result<()>;
fn SetTextAttributes(&self, ulcharoffset: u32, cchars: u32, pstatextattr: *const u16) -> ::windows::core::Result<()>;
fn SetLongName(&self, pszlongname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetShortName(&self, pszshortname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetDocumentAttr(&self, pszattributes: u32) -> ::windows::core::Result<()>;
fn GetDebugApplicationNode(&self) -> ::windows::core::Result<IDebugApplicationNode>;
fn GetScriptBlockInfo(&self, dwsourcecontext: u32, ppasd: *mut ::core::option::Option<IActiveScript>, picharpos: *mut u32, pcchars: *mut u32) -> ::windows::core::Result<()>;
fn CreateDebugDocumentContext(&self, icharpos: u32, cchars: u32) -> ::windows::core::Result<IDebugDocumentContext>;
fn BringDocumentToTop(&self) -> ::windows::core::Result<()>;
fn BringDocumentContextToTop(&self, pddc: ::core::option::Option<&IDebugDocumentContext>) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugDocumentHelper32 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugDocumentHelper32_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>() -> IDebugDocumentHelper32_Vtbl {
unsafe extern "system" fn Init<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pda: *mut ::core::ffi::c_void, pszshortname: ::windows::core::PCWSTR, pszlongname: ::windows::core::PCWSTR, docattr: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Init(::windows::core::from_raw_borrowed(&pda), ::core::mem::transmute(&pszshortname), ::core::mem::transmute(&pszlongname), ::core::mem::transmute_copy(&docattr)).into()
}
unsafe extern "system" fn Attach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pddhparent: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Attach(::windows::core::from_raw_borrowed(&pddhparent)).into()
}
unsafe extern "system" fn Detach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Detach().into()
}
unsafe extern "system" fn AddUnicodeText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psztext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddUnicodeText(::core::mem::transmute(&psztext)).into()
}
unsafe extern "system" fn AddDBCSText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psztext: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDBCSText(::core::mem::transmute(&psztext)).into()
}
unsafe extern "system" fn SetDebugDocumentHost<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pddh: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDebugDocumentHost(::windows::core::from_raw_borrowed(&pddh)).into()
}
unsafe extern "system" fn AddDeferredText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cchars: u32, dwtextstartcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDeferredText(::core::mem::transmute_copy(&cchars), ::core::mem::transmute_copy(&dwtextstartcookie)).into()
}
unsafe extern "system" fn DefineScriptBlock<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulcharoffset: u32, cchars: u32, pas: *mut ::core::ffi::c_void, fscriptlet: super::super::super::Foundation::BOOL, pdwsourcecontext: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefineScriptBlock(::core::mem::transmute_copy(&ulcharoffset), ::core::mem::transmute_copy(&cchars), ::windows::core::from_raw_borrowed(&pas), ::core::mem::transmute_copy(&fscriptlet)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwsourcecontext, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDefaultTextAttr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, statextattr: u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDefaultTextAttr(::core::mem::transmute_copy(&statextattr)).into()
}
unsafe extern "system" fn SetTextAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulcharoffset: u32, cchars: u32, pstatextattr: *const u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextAttributes(::core::mem::transmute_copy(&ulcharoffset), ::core::mem::transmute_copy(&cchars), ::core::mem::transmute_copy(&pstatextattr)).into()
}
unsafe extern "system" fn SetLongName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszlongname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLongName(::core::mem::transmute(&pszlongname)).into()
}
unsafe extern "system" fn SetShortName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszshortname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetShortName(::core::mem::transmute(&pszshortname)).into()
}
unsafe extern "system" fn SetDocumentAttr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszattributes: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDocumentAttr(::core::mem::transmute_copy(&pszattributes)).into()
}
unsafe extern "system" fn GetDebugApplicationNode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdan: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDebugApplicationNode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdan, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetScriptBlockInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwsourcecontext: u32, ppasd: *mut *mut ::core::ffi::c_void, picharpos: *mut u32, pcchars: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScriptBlockInfo(::core::mem::transmute_copy(&dwsourcecontext), ::core::mem::transmute_copy(&ppasd), ::core::mem::transmute_copy(&picharpos), ::core::mem::transmute_copy(&pcchars)).into()
}
unsafe extern "system" fn CreateDebugDocumentContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, icharpos: u32, cchars: u32, ppddc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateDebugDocumentContext(::core::mem::transmute_copy(&icharpos), ::core::mem::transmute_copy(&cchars)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppddc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn BringDocumentToTop<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BringDocumentToTop().into()
}
unsafe extern "system" fn BringDocumentContextToTop<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pddc: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BringDocumentContextToTop(::windows::core::from_raw_borrowed(&pddc)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Init: Init::<Identity, Impl, OFFSET>,
Attach: Attach::<Identity, Impl, OFFSET>,
Detach: Detach::<Identity, Impl, OFFSET>,
AddUnicodeText: AddUnicodeText::<Identity, Impl, OFFSET>,
AddDBCSText: AddDBCSText::<Identity, Impl, OFFSET>,
SetDebugDocumentHost: SetDebugDocumentHost::<Identity, Impl, OFFSET>,
AddDeferredText: AddDeferredText::<Identity, Impl, OFFSET>,
DefineScriptBlock: DefineScriptBlock::<Identity, Impl, OFFSET>,
SetDefaultTextAttr: SetDefaultTextAttr::<Identity, Impl, OFFSET>,
SetTextAttributes: SetTextAttributes::<Identity, Impl, OFFSET>,
SetLongName: SetLongName::<Identity, Impl, OFFSET>,
SetShortName: SetShortName::<Identity, Impl, OFFSET>,
SetDocumentAttr: SetDocumentAttr::<Identity, Impl, OFFSET>,
GetDebugApplicationNode: GetDebugApplicationNode::<Identity, Impl, OFFSET>,
GetScriptBlockInfo: GetScriptBlockInfo::<Identity, Impl, OFFSET>,
CreateDebugDocumentContext: CreateDebugDocumentContext::<Identity, Impl, OFFSET>,
BringDocumentToTop: BringDocumentToTop::<Identity, Impl, OFFSET>,
BringDocumentContextToTop: BringDocumentContextToTop::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDocumentHelper32 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugDocumentHelper64_Impl: Sized {
fn Init(&self, pda: ::core::option::Option<&IDebugApplication64>, pszshortname: &::windows::core::PCWSTR, pszlongname: &::windows::core::PCWSTR, docattr: u32) -> ::windows::core::Result<()>;
fn Attach(&self, pddhparent: ::core::option::Option<&IDebugDocumentHelper64>) -> ::windows::core::Result<()>;
fn Detach(&self) -> ::windows::core::Result<()>;
fn AddUnicodeText(&self, psztext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AddDBCSText(&self, psztext: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn SetDebugDocumentHost(&self, pddh: ::core::option::Option<&IDebugDocumentHost>) -> ::windows::core::Result<()>;
fn AddDeferredText(&self, cchars: u32, dwtextstartcookie: u32) -> ::windows::core::Result<()>;
fn DefineScriptBlock(&self, ulcharoffset: u32, cchars: u32, pas: ::core::option::Option<&IActiveScript>, fscriptlet: super::super::super::Foundation::BOOL) -> ::windows::core::Result<u64>;
fn SetDefaultTextAttr(&self, statextattr: u16) -> ::windows::core::Result<()>;
fn SetTextAttributes(&self, ulcharoffset: u32, cchars: u32, pstatextattr: *const u16) -> ::windows::core::Result<()>;
fn SetLongName(&self, pszlongname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetShortName(&self, pszshortname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SetDocumentAttr(&self, pszattributes: u32) -> ::windows::core::Result<()>;
fn GetDebugApplicationNode(&self) -> ::windows::core::Result<IDebugApplicationNode>;
fn GetScriptBlockInfo(&self, dwsourcecontext: u64, ppasd: *mut ::core::option::Option<IActiveScript>, picharpos: *mut u32, pcchars: *mut u32) -> ::windows::core::Result<()>;
fn CreateDebugDocumentContext(&self, icharpos: u32, cchars: u32) -> ::windows::core::Result<IDebugDocumentContext>;
fn BringDocumentToTop(&self) -> ::windows::core::Result<()>;
fn BringDocumentContextToTop(&self, pddc: ::core::option::Option<&IDebugDocumentContext>) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugDocumentHelper64 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugDocumentHelper64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>() -> IDebugDocumentHelper64_Vtbl {
unsafe extern "system" fn Init<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pda: *mut ::core::ffi::c_void, pszshortname: ::windows::core::PCWSTR, pszlongname: ::windows::core::PCWSTR, docattr: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Init(::windows::core::from_raw_borrowed(&pda), ::core::mem::transmute(&pszshortname), ::core::mem::transmute(&pszlongname), ::core::mem::transmute_copy(&docattr)).into()
}
unsafe extern "system" fn Attach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pddhparent: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Attach(::windows::core::from_raw_borrowed(&pddhparent)).into()
}
unsafe extern "system" fn Detach<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Detach().into()
}
unsafe extern "system" fn AddUnicodeText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psztext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddUnicodeText(::core::mem::transmute(&psztext)).into()
}
unsafe extern "system" fn AddDBCSText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psztext: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDBCSText(::core::mem::transmute(&psztext)).into()
}
unsafe extern "system" fn SetDebugDocumentHost<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pddh: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDebugDocumentHost(::windows::core::from_raw_borrowed(&pddh)).into()
}
unsafe extern "system" fn AddDeferredText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cchars: u32, dwtextstartcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddDeferredText(::core::mem::transmute_copy(&cchars), ::core::mem::transmute_copy(&dwtextstartcookie)).into()
}
unsafe extern "system" fn DefineScriptBlock<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulcharoffset: u32, cchars: u32, pas: *mut ::core::ffi::c_void, fscriptlet: super::super::super::Foundation::BOOL, pdwsourcecontext: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DefineScriptBlock(::core::mem::transmute_copy(&ulcharoffset), ::core::mem::transmute_copy(&cchars), ::windows::core::from_raw_borrowed(&pas), ::core::mem::transmute_copy(&fscriptlet)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwsourcecontext, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDefaultTextAttr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, statextattr: u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDefaultTextAttr(::core::mem::transmute_copy(&statextattr)).into()
}
unsafe extern "system" fn SetTextAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulcharoffset: u32, cchars: u32, pstatextattr: *const u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTextAttributes(::core::mem::transmute_copy(&ulcharoffset), ::core::mem::transmute_copy(&cchars), ::core::mem::transmute_copy(&pstatextattr)).into()
}
unsafe extern "system" fn SetLongName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszlongname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetLongName(::core::mem::transmute(&pszlongname)).into()
}
unsafe extern "system" fn SetShortName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszshortname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetShortName(::core::mem::transmute(&pszshortname)).into()
}
unsafe extern "system" fn SetDocumentAttr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszattributes: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDocumentAttr(::core::mem::transmute_copy(&pszattributes)).into()
}
unsafe extern "system" fn GetDebugApplicationNode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdan: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDebugApplicationNode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdan, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetScriptBlockInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwsourcecontext: u64, ppasd: *mut *mut ::core::ffi::c_void, picharpos: *mut u32, pcchars: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScriptBlockInfo(::core::mem::transmute_copy(&dwsourcecontext), ::core::mem::transmute_copy(&ppasd), ::core::mem::transmute_copy(&picharpos), ::core::mem::transmute_copy(&pcchars)).into()
}
unsafe extern "system" fn CreateDebugDocumentContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, icharpos: u32, cchars: u32, ppddc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateDebugDocumentContext(::core::mem::transmute_copy(&icharpos), ::core::mem::transmute_copy(&cchars)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppddc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn BringDocumentToTop<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BringDocumentToTop().into()
}
unsafe extern "system" fn BringDocumentContextToTop<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHelper64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pddc: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.BringDocumentContextToTop(::windows::core::from_raw_borrowed(&pddc)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Init: Init::<Identity, Impl, OFFSET>,
Attach: Attach::<Identity, Impl, OFFSET>,
Detach: Detach::<Identity, Impl, OFFSET>,
AddUnicodeText: AddUnicodeText::<Identity, Impl, OFFSET>,
AddDBCSText: AddDBCSText::<Identity, Impl, OFFSET>,
SetDebugDocumentHost: SetDebugDocumentHost::<Identity, Impl, OFFSET>,
AddDeferredText: AddDeferredText::<Identity, Impl, OFFSET>,
DefineScriptBlock: DefineScriptBlock::<Identity, Impl, OFFSET>,
SetDefaultTextAttr: SetDefaultTextAttr::<Identity, Impl, OFFSET>,
SetTextAttributes: SetTextAttributes::<Identity, Impl, OFFSET>,
SetLongName: SetLongName::<Identity, Impl, OFFSET>,
SetShortName: SetShortName::<Identity, Impl, OFFSET>,
SetDocumentAttr: SetDocumentAttr::<Identity, Impl, OFFSET>,
GetDebugApplicationNode: GetDebugApplicationNode::<Identity, Impl, OFFSET>,
GetScriptBlockInfo: GetScriptBlockInfo::<Identity, Impl, OFFSET>,
CreateDebugDocumentContext: CreateDebugDocumentContext::<Identity, Impl, OFFSET>,
BringDocumentToTop: BringDocumentToTop::<Identity, Impl, OFFSET>,
BringDocumentContextToTop: BringDocumentContextToTop::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDocumentHelper64 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugDocumentHost_Impl: Sized {
fn GetDeferredText(&self, dwtextstartcookie: u32, pchartext: &::windows::core::PWSTR, pstatextattr: *mut u16, pcnumchars: *mut u32, cmaxchars: u32) -> ::windows::core::Result<()>;
fn GetScriptTextAttributes(&self, pstrcode: &::windows::core::PCWSTR, unumcodechars: u32, pstrdelimiter: &::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::Result<()>;
fn OnCreateDocumentContext(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
fn GetPathName(&self, pbstrlongname: *mut ::windows::core::BSTR, pfisoriginalfile: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn GetFileName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn NotifyChanged(&self) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugDocumentHost {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugDocumentHost_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHost_Impl, const OFFSET: isize>() -> IDebugDocumentHost_Vtbl {
unsafe extern "system" fn GetDeferredText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtextstartcookie: u32, pchartext: ::windows::core::PWSTR, pstatextattr: *mut u16, pcnumchars: *mut u32, cmaxchars: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDeferredText(::core::mem::transmute_copy(&dwtextstartcookie), ::core::mem::transmute(&pchartext), ::core::mem::transmute_copy(&pstatextattr), ::core::mem::transmute_copy(&pcnumchars), ::core::mem::transmute_copy(&cmaxchars)).into()
}
unsafe extern "system" fn GetScriptTextAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, unumcodechars: u32, pstrdelimiter: ::windows::core::PCWSTR, dwflags: u32, pattr: *mut u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScriptTextAttributes(::core::mem::transmute(&pstrcode), ::core::mem::transmute_copy(&unumcodechars), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pattr)).into()
}
unsafe extern "system" fn OnCreateDocumentContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunkouter: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OnCreateDocumentContext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunkouter, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPathName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrlongname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pfisoriginalfile: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPathName(::core::mem::transmute_copy(&pbstrlongname), ::core::mem::transmute_copy(&pfisoriginalfile)).into()
}
unsafe extern "system" fn GetFileName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrshortname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFileName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrshortname, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn NotifyChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.NotifyChanged().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDeferredText: GetDeferredText::<Identity, Impl, OFFSET>,
GetScriptTextAttributes: GetScriptTextAttributes::<Identity, Impl, OFFSET>,
OnCreateDocumentContext: OnCreateDocumentContext::<Identity, Impl, OFFSET>,
GetPathName: GetPathName::<Identity, Impl, OFFSET>,
GetFileName: GetFileName::<Identity, Impl, OFFSET>,
NotifyChanged: NotifyChanged::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDocumentHost as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugDocumentInfo_Impl: Sized {
fn GetName(&self, dnt: DOCUMENTNAMETYPE) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetDocumentClassId(&self) -> ::windows::core::Result<::windows::core::GUID>;
}
impl ::windows::core::RuntimeName for IDebugDocumentInfo {}
impl IDebugDocumentInfo_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentInfo_Impl, const OFFSET: isize>() -> IDebugDocumentInfo_Vtbl {
unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dnt: DOCUMENTNAMETYPE, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName(::core::mem::transmute_copy(&dnt)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDocumentClassId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pclsiddocument: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDocumentClassId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pclsiddocument, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetName: GetName::<Identity, Impl, OFFSET>,
GetDocumentClassId: GetDocumentClassId::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDocumentInfo as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugDocumentProvider_Impl: Sized + IDebugDocumentInfo_Impl {
fn GetDocument(&self) -> ::windows::core::Result<IDebugDocument>;
}
impl ::windows::core::RuntimeName for IDebugDocumentProvider {}
impl IDebugDocumentProvider_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentProvider_Impl, const OFFSET: isize>() -> IDebugDocumentProvider_Vtbl {
unsafe extern "system" fn GetDocument<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppssd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDocument() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppssd, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IDebugDocumentInfo_Vtbl::new::<Identity, Impl, OFFSET>(), GetDocument: GetDocument::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDocumentProvider as ::windows::core::ComInterface>::IID || iid == &<IDebugDocumentInfo as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugDocumentText_Impl: Sized + IDebugDocument_Impl {
fn GetDocumentAttributes(&self) -> ::windows::core::Result<u32>;
fn GetSize(&self, pcnumlines: *mut u32, pcnumchars: *mut u32) -> ::windows::core::Result<()>;
fn GetPositionOfLine(&self, clinenumber: u32) -> ::windows::core::Result<u32>;
fn GetLineOfPosition(&self, ccharacterposition: u32, pclinenumber: *mut u32, pccharacteroffsetinline: *mut u32) -> ::windows::core::Result<()>;
fn GetText(&self, ccharacterposition: u32, pchartext: &::windows::core::PWSTR, pstatextattr: *mut u16, pcnumchars: *mut u32, cmaxchars: u32) -> ::windows::core::Result<()>;
fn GetPositionOfContext(&self, psc: ::core::option::Option<&IDebugDocumentContext>, pccharacterposition: *mut u32, cnumchars: *mut u32) -> ::windows::core::Result<()>;
fn GetContextOfPosition(&self, ccharacterposition: u32, cnumchars: u32) -> ::windows::core::Result<IDebugDocumentContext>;
}
impl ::windows::core::RuntimeName for IDebugDocumentText {}
impl IDebugDocumentText_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentText_Impl, const OFFSET: isize>() -> IDebugDocumentText_Vtbl {
unsafe extern "system" fn GetDocumentAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentText_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptextdocattr: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDocumentAttributes() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ptextdocattr, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentText_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcnumlines: *mut u32, pcnumchars: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSize(::core::mem::transmute_copy(&pcnumlines), ::core::mem::transmute_copy(&pcnumchars)).into()
}
unsafe extern "system" fn GetPositionOfLine<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentText_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, clinenumber: u32, pccharacterposition: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPositionOfLine(::core::mem::transmute_copy(&clinenumber)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pccharacterposition, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLineOfPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentText_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ccharacterposition: u32, pclinenumber: *mut u32, pccharacteroffsetinline: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineOfPosition(::core::mem::transmute_copy(&ccharacterposition), ::core::mem::transmute_copy(&pclinenumber), ::core::mem::transmute_copy(&pccharacteroffsetinline)).into()
}
unsafe extern "system" fn GetText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentText_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ccharacterposition: u32, pchartext: ::windows::core::PWSTR, pstatextattr: *mut u16, pcnumchars: *mut u32, cmaxchars: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetText(::core::mem::transmute_copy(&ccharacterposition), ::core::mem::transmute(&pchartext), ::core::mem::transmute_copy(&pstatextattr), ::core::mem::transmute_copy(&pcnumchars), ::core::mem::transmute_copy(&cmaxchars)).into()
}
unsafe extern "system" fn GetPositionOfContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentText_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psc: *mut ::core::ffi::c_void, pccharacterposition: *mut u32, cnumchars: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPositionOfContext(::windows::core::from_raw_borrowed(&psc), ::core::mem::transmute_copy(&pccharacterposition), ::core::mem::transmute_copy(&cnumchars)).into()
}
unsafe extern "system" fn GetContextOfPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentText_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ccharacterposition: u32, cnumchars: u32, ppsc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContextOfPosition(::core::mem::transmute_copy(&ccharacterposition), ::core::mem::transmute_copy(&cnumchars)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDebugDocument_Vtbl::new::<Identity, Impl, OFFSET>(),
GetDocumentAttributes: GetDocumentAttributes::<Identity, Impl, OFFSET>,
GetSize: GetSize::<Identity, Impl, OFFSET>,
GetPositionOfLine: GetPositionOfLine::<Identity, Impl, OFFSET>,
GetLineOfPosition: GetLineOfPosition::<Identity, Impl, OFFSET>,
GetText: GetText::<Identity, Impl, OFFSET>,
GetPositionOfContext: GetPositionOfContext::<Identity, Impl, OFFSET>,
GetContextOfPosition: GetContextOfPosition::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDocumentText as ::windows::core::ComInterface>::IID || iid == &<IDebugDocumentInfo as ::windows::core::ComInterface>::IID || iid == &<IDebugDocument as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugDocumentTextAuthor_Impl: Sized + IDebugDocumentText_Impl {
fn InsertText(&self, ccharacterposition: u32, cnumtoinsert: u32, pchartext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn RemoveText(&self, ccharacterposition: u32, cnumtoremove: u32) -> ::windows::core::Result<()>;
fn ReplaceText(&self, ccharacterposition: u32, cnumtoreplace: u32, pchartext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugDocumentTextAuthor {}
impl IDebugDocumentTextAuthor_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextAuthor_Impl, const OFFSET: isize>() -> IDebugDocumentTextAuthor_Vtbl {
unsafe extern "system" fn InsertText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ccharacterposition: u32, cnumtoinsert: u32, pchartext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InsertText(::core::mem::transmute_copy(&ccharacterposition), ::core::mem::transmute_copy(&cnumtoinsert), ::core::mem::transmute(&pchartext)).into()
}
unsafe extern "system" fn RemoveText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ccharacterposition: u32, cnumtoremove: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveText(::core::mem::transmute_copy(&ccharacterposition), ::core::mem::transmute_copy(&cnumtoremove)).into()
}
unsafe extern "system" fn ReplaceText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ccharacterposition: u32, cnumtoreplace: u32, pchartext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReplaceText(::core::mem::transmute_copy(&ccharacterposition), ::core::mem::transmute_copy(&cnumtoreplace), ::core::mem::transmute(&pchartext)).into()
}
Self {
base__: IDebugDocumentText_Vtbl::new::<Identity, Impl, OFFSET>(),
InsertText: InsertText::<Identity, Impl, OFFSET>,
RemoveText: RemoveText::<Identity, Impl, OFFSET>,
ReplaceText: ReplaceText::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDocumentTextAuthor as ::windows::core::ComInterface>::IID || iid == &<IDebugDocumentInfo as ::windows::core::ComInterface>::IID || iid == &<IDebugDocument as ::windows::core::ComInterface>::IID || iid == &<IDebugDocumentText as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugDocumentTextEvents_Impl: Sized {
fn onDestroy(&self) -> ::windows::core::Result<()>;
fn onInsertText(&self, ccharacterposition: u32, cnumtoinsert: u32) -> ::windows::core::Result<()>;
fn onRemoveText(&self, ccharacterposition: u32, cnumtoremove: u32) -> ::windows::core::Result<()>;
fn onReplaceText(&self, ccharacterposition: u32, cnumtoreplace: u32) -> ::windows::core::Result<()>;
fn onUpdateTextAttributes(&self, ccharacterposition: u32, cnumtoupdate: u32) -> ::windows::core::Result<()>;
fn onUpdateDocumentAttributes(&self, textdocattr: u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugDocumentTextEvents {}
impl IDebugDocumentTextEvents_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextEvents_Impl, const OFFSET: isize>() -> IDebugDocumentTextEvents_Vtbl {
unsafe extern "system" fn onDestroy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onDestroy().into()
}
unsafe extern "system" fn onInsertText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ccharacterposition: u32, cnumtoinsert: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onInsertText(::core::mem::transmute_copy(&ccharacterposition), ::core::mem::transmute_copy(&cnumtoinsert)).into()
}
unsafe extern "system" fn onRemoveText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ccharacterposition: u32, cnumtoremove: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onRemoveText(::core::mem::transmute_copy(&ccharacterposition), ::core::mem::transmute_copy(&cnumtoremove)).into()
}
unsafe extern "system" fn onReplaceText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ccharacterposition: u32, cnumtoreplace: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onReplaceText(::core::mem::transmute_copy(&ccharacterposition), ::core::mem::transmute_copy(&cnumtoreplace)).into()
}
unsafe extern "system" fn onUpdateTextAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ccharacterposition: u32, cnumtoupdate: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onUpdateTextAttributes(::core::mem::transmute_copy(&ccharacterposition), ::core::mem::transmute_copy(&cnumtoupdate)).into()
}
unsafe extern "system" fn onUpdateDocumentAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, textdocattr: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onUpdateDocumentAttributes(::core::mem::transmute_copy(&textdocattr)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
onDestroy: onDestroy::<Identity, Impl, OFFSET>,
onInsertText: onInsertText::<Identity, Impl, OFFSET>,
onRemoveText: onRemoveText::<Identity, Impl, OFFSET>,
onReplaceText: onReplaceText::<Identity, Impl, OFFSET>,
onUpdateTextAttributes: onUpdateTextAttributes::<Identity, Impl, OFFSET>,
onUpdateDocumentAttributes: onUpdateDocumentAttributes::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDocumentTextEvents as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugDocumentTextExternalAuthor_Impl: Sized {
fn GetPathName(&self, pbstrlongname: *mut ::windows::core::BSTR, pfisoriginalfile: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn GetFileName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn NotifyChanged(&self) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugDocumentTextExternalAuthor {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugDocumentTextExternalAuthor_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextExternalAuthor_Impl, const OFFSET: isize>() -> IDebugDocumentTextExternalAuthor_Vtbl {
unsafe extern "system" fn GetPathName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextExternalAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrlongname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pfisoriginalfile: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPathName(::core::mem::transmute_copy(&pbstrlongname), ::core::mem::transmute_copy(&pfisoriginalfile)).into()
}
unsafe extern "system" fn GetFileName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextExternalAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrshortname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFileName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrshortname, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn NotifyChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugDocumentTextExternalAuthor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.NotifyChanged().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetPathName: GetPathName::<Identity, Impl, OFFSET>,
GetFileName: GetFileName::<Identity, Impl, OFFSET>,
NotifyChanged: NotifyChanged::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugDocumentTextExternalAuthor as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugEventCallbacks_Impl: Sized {
fn GetInterestMask(&self) -> ::windows::core::Result<u32>;
fn Breakpoint(&self, bp: ::core::option::Option<&IDebugBreakpoint>) -> ::windows::core::Result<()>;
fn Exception(&self, exception: *const EXCEPTION_RECORD64, firstchance: u32) -> ::windows::core::Result<()>;
fn CreateThread(&self, handle: u64, dataoffset: u64, startoffset: u64) -> ::windows::core::Result<()>;
fn ExitThread(&self, exitcode: u32) -> ::windows::core::Result<()>;
fn CreateProcessA(&self, imagefilehandle: u64, handle: u64, baseoffset: u64, modulesize: u32, modulename: &::windows::core::PCSTR, imagename: &::windows::core::PCSTR, checksum: u32, timedatestamp: u32, initialthreadhandle: u64, threaddataoffset: u64, startoffset: u64) -> ::windows::core::Result<()>;
fn ExitProcess(&self, exitcode: u32) -> ::windows::core::Result<()>;
fn LoadModule(&self, imagefilehandle: u64, baseoffset: u64, modulesize: u32, modulename: &::windows::core::PCSTR, imagename: &::windows::core::PCSTR, checksum: u32, timedatestamp: u32) -> ::windows::core::Result<()>;
fn UnloadModule(&self, imagebasename: &::windows::core::PCSTR, baseoffset: u64) -> ::windows::core::Result<()>;
fn SystemError(&self, error: u32, level: u32) -> ::windows::core::Result<()>;
fn SessionStatus(&self, status: u32) -> ::windows::core::Result<()>;
fn ChangeDebuggeeState(&self, flags: u32, argument: u64) -> ::windows::core::Result<()>;
fn ChangeEngineState(&self, flags: u32, argument: u64) -> ::windows::core::Result<()>;
fn ChangeSymbolState(&self, flags: u32, argument: u64) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugEventCallbacks {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugEventCallbacks_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>() -> IDebugEventCallbacks_Vtbl {
unsafe extern "system" fn GetInterestMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInterestMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Breakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Breakpoint(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn Exception<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exception: *const EXCEPTION_RECORD64, firstchance: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Exception(::core::mem::transmute_copy(&exception), ::core::mem::transmute_copy(&firstchance)).into()
}
unsafe extern "system" fn CreateThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, dataoffset: u64, startoffset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateThread(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&dataoffset), ::core::mem::transmute_copy(&startoffset)).into()
}
unsafe extern "system" fn ExitThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exitcode: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitThread(::core::mem::transmute_copy(&exitcode)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imagefilehandle: u64, handle: u64, baseoffset: u64, modulesize: u32, modulename: ::windows::core::PCSTR, imagename: ::windows::core::PCSTR, checksum: u32, timedatestamp: u32, initialthreadhandle: u64, threaddataoffset: u64, startoffset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessA(::core::mem::transmute_copy(&imagefilehandle), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&baseoffset), ::core::mem::transmute_copy(&modulesize), ::core::mem::transmute(&modulename), ::core::mem::transmute(&imagename), ::core::mem::transmute_copy(&checksum), ::core::mem::transmute_copy(&timedatestamp), ::core::mem::transmute_copy(&initialthreadhandle), ::core::mem::transmute_copy(&threaddataoffset), ::core::mem::transmute_copy(&startoffset))
.into()
}
unsafe extern "system" fn ExitProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exitcode: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitProcess(::core::mem::transmute_copy(&exitcode)).into()
}
unsafe extern "system" fn LoadModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imagefilehandle: u64, baseoffset: u64, modulesize: u32, modulename: ::windows::core::PCSTR, imagename: ::windows::core::PCSTR, checksum: u32, timedatestamp: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LoadModule(::core::mem::transmute_copy(&imagefilehandle), ::core::mem::transmute_copy(&baseoffset), ::core::mem::transmute_copy(&modulesize), ::core::mem::transmute(&modulename), ::core::mem::transmute(&imagename), ::core::mem::transmute_copy(&checksum), ::core::mem::transmute_copy(&timedatestamp)).into()
}
unsafe extern "system" fn UnloadModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imagebasename: ::windows::core::PCSTR, baseoffset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnloadModule(::core::mem::transmute(&imagebasename), ::core::mem::transmute_copy(&baseoffset)).into()
}
unsafe extern "system" fn SystemError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, error: u32, level: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SystemError(::core::mem::transmute_copy(&error), ::core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn SessionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SessionStatus(::core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn ChangeDebuggeeState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, argument: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeDebuggeeState(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&argument)).into()
}
unsafe extern "system" fn ChangeEngineState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, argument: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeEngineState(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&argument)).into()
}
unsafe extern "system" fn ChangeSymbolState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, argument: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeSymbolState(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&argument)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterestMask: GetInterestMask::<Identity, Impl, OFFSET>,
Breakpoint: Breakpoint::<Identity, Impl, OFFSET>,
Exception: Exception::<Identity, Impl, OFFSET>,
CreateThread: CreateThread::<Identity, Impl, OFFSET>,
ExitThread: ExitThread::<Identity, Impl, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, Impl, OFFSET>,
ExitProcess: ExitProcess::<Identity, Impl, OFFSET>,
LoadModule: LoadModule::<Identity, Impl, OFFSET>,
UnloadModule: UnloadModule::<Identity, Impl, OFFSET>,
SystemError: SystemError::<Identity, Impl, OFFSET>,
SessionStatus: SessionStatus::<Identity, Impl, OFFSET>,
ChangeDebuggeeState: ChangeDebuggeeState::<Identity, Impl, OFFSET>,
ChangeEngineState: ChangeEngineState::<Identity, Impl, OFFSET>,
ChangeSymbolState: ChangeSymbolState::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugEventCallbacks as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugEventCallbacksWide_Impl: Sized {
fn GetInterestMask(&self) -> ::windows::core::Result<u32>;
fn Breakpoint(&self, bp: ::core::option::Option<&IDebugBreakpoint2>) -> ::windows::core::Result<()>;
fn Exception(&self, exception: *const EXCEPTION_RECORD64, firstchance: u32) -> ::windows::core::Result<()>;
fn CreateThread(&self, handle: u64, dataoffset: u64, startoffset: u64) -> ::windows::core::Result<()>;
fn ExitThread(&self, exitcode: u32) -> ::windows::core::Result<()>;
fn CreateProcessA(&self, imagefilehandle: u64, handle: u64, baseoffset: u64, modulesize: u32, modulename: &::windows::core::PCWSTR, imagename: &::windows::core::PCWSTR, checksum: u32, timedatestamp: u32, initialthreadhandle: u64, threaddataoffset: u64, startoffset: u64) -> ::windows::core::Result<()>;
fn ExitProcess(&self, exitcode: u32) -> ::windows::core::Result<()>;
fn LoadModule(&self, imagefilehandle: u64, baseoffset: u64, modulesize: u32, modulename: &::windows::core::PCWSTR, imagename: &::windows::core::PCWSTR, checksum: u32, timedatestamp: u32) -> ::windows::core::Result<()>;
fn UnloadModule(&self, imagebasename: &::windows::core::PCWSTR, baseoffset: u64) -> ::windows::core::Result<()>;
fn SystemError(&self, error: u32, level: u32) -> ::windows::core::Result<()>;
fn SessionStatus(&self, status: u32) -> ::windows::core::Result<()>;
fn ChangeDebuggeeState(&self, flags: u32, argument: u64) -> ::windows::core::Result<()>;
fn ChangeEngineState(&self, flags: u32, argument: u64) -> ::windows::core::Result<()>;
fn ChangeSymbolState(&self, flags: u32, argument: u64) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugEventCallbacksWide {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugEventCallbacksWide_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>() -> IDebugEventCallbacksWide_Vtbl {
unsafe extern "system" fn GetInterestMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInterestMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Breakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Breakpoint(::windows::core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn Exception<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exception: *const EXCEPTION_RECORD64, firstchance: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Exception(::core::mem::transmute_copy(&exception), ::core::mem::transmute_copy(&firstchance)).into()
}
unsafe extern "system" fn CreateThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, dataoffset: u64, startoffset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateThread(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&dataoffset), ::core::mem::transmute_copy(&startoffset)).into()
}
unsafe extern "system" fn ExitThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exitcode: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitThread(::core::mem::transmute_copy(&exitcode)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imagefilehandle: u64, handle: u64, baseoffset: u64, modulesize: u32, modulename: ::windows::core::PCWSTR, imagename: ::windows::core::PCWSTR, checksum: u32, timedatestamp: u32, initialthreadhandle: u64, threaddataoffset: u64, startoffset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessA(::core::mem::transmute_copy(&imagefilehandle), ::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&baseoffset), ::core::mem::transmute_copy(&modulesize), ::core::mem::transmute(&modulename), ::core::mem::transmute(&imagename), ::core::mem::transmute_copy(&checksum), ::core::mem::transmute_copy(&timedatestamp), ::core::mem::transmute_copy(&initialthreadhandle), ::core::mem::transmute_copy(&threaddataoffset), ::core::mem::transmute_copy(&startoffset))
.into()
}
unsafe extern "system" fn ExitProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exitcode: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitProcess(::core::mem::transmute_copy(&exitcode)).into()
}
unsafe extern "system" fn LoadModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imagefilehandle: u64, baseoffset: u64, modulesize: u32, modulename: ::windows::core::PCWSTR, imagename: ::windows::core::PCWSTR, checksum: u32, timedatestamp: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LoadModule(::core::mem::transmute_copy(&imagefilehandle), ::core::mem::transmute_copy(&baseoffset), ::core::mem::transmute_copy(&modulesize), ::core::mem::transmute(&modulename), ::core::mem::transmute(&imagename), ::core::mem::transmute_copy(&checksum), ::core::mem::transmute_copy(&timedatestamp)).into()
}
unsafe extern "system" fn UnloadModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imagebasename: ::windows::core::PCWSTR, baseoffset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnloadModule(::core::mem::transmute(&imagebasename), ::core::mem::transmute_copy(&baseoffset)).into()
}
unsafe extern "system" fn SystemError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, error: u32, level: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SystemError(::core::mem::transmute_copy(&error), ::core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn SessionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SessionStatus(::core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn ChangeDebuggeeState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, argument: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeDebuggeeState(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&argument)).into()
}
unsafe extern "system" fn ChangeEngineState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, argument: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeEngineState(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&argument)).into()
}
unsafe extern "system" fn ChangeSymbolState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, argument: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeSymbolState(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&argument)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterestMask: GetInterestMask::<Identity, Impl, OFFSET>,
Breakpoint: Breakpoint::<Identity, Impl, OFFSET>,
Exception: Exception::<Identity, Impl, OFFSET>,
CreateThread: CreateThread::<Identity, Impl, OFFSET>,
ExitThread: ExitThread::<Identity, Impl, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, Impl, OFFSET>,
ExitProcess: ExitProcess::<Identity, Impl, OFFSET>,
LoadModule: LoadModule::<Identity, Impl, OFFSET>,
UnloadModule: UnloadModule::<Identity, Impl, OFFSET>,
SystemError: SystemError::<Identity, Impl, OFFSET>,
SessionStatus: SessionStatus::<Identity, Impl, OFFSET>,
ChangeDebuggeeState: ChangeDebuggeeState::<Identity, Impl, OFFSET>,
ChangeEngineState: ChangeEngineState::<Identity, Impl, OFFSET>,
ChangeSymbolState: ChangeSymbolState::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugEventCallbacksWide as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugEventContextCallbacks_Impl: Sized {
fn GetInterestMask(&self) -> ::windows::core::Result<u32>;
fn Breakpoint(&self, bp: ::core::option::Option<&IDebugBreakpoint2>, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn Exception(&self, exception: *const EXCEPTION_RECORD64, firstchance: u32, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn CreateThread(&self, handle: u64, dataoffset: u64, startoffset: u64, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn ExitThread(&self, exitcode: u32, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn CreateProcessA(&self, imagefilehandle: u64, handle: u64, baseoffset: u64, modulesize: u32, modulename: &::windows::core::PCWSTR, imagename: &::windows::core::PCWSTR, checksum: u32, timedatestamp: u32, initialthreadhandle: u64, threaddataoffset: u64, startoffset: u64, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn ExitProcess(&self, exitcode: u32, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn LoadModule(&self, imagefilehandle: u64, baseoffset: u64, modulesize: u32, modulename: &::windows::core::PCWSTR, imagename: &::windows::core::PCWSTR, checksum: u32, timedatestamp: u32, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn UnloadModule(&self, imagebasename: &::windows::core::PCWSTR, baseoffset: u64, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn SystemError(&self, error: u32, level: u32, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn SessionStatus(&self, status: u32) -> ::windows::core::Result<()>;
fn ChangeDebuggeeState(&self, flags: u32, argument: u64, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn ChangeEngineState(&self, flags: u32, argument: u64, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::Result<()>;
fn ChangeSymbolState(&self, flags: u32, argument: u64) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugEventContextCallbacks {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugEventContextCallbacks_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>() -> IDebugEventContextCallbacks_Vtbl {
unsafe extern "system" fn GetInterestMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInterestMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Breakpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bp: *mut ::core::ffi::c_void, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Breakpoint(::windows::core::from_raw_borrowed(&bp), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn Exception<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exception: *const EXCEPTION_RECORD64, firstchance: u32, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Exception(::core::mem::transmute_copy(&exception), ::core::mem::transmute_copy(&firstchance), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn CreateThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, dataoffset: u64, startoffset: u64, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateThread(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&dataoffset), ::core::mem::transmute_copy(&startoffset), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn ExitThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exitcode: u32, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitThread(::core::mem::transmute_copy(&exitcode), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imagefilehandle: u64, handle: u64, baseoffset: u64, modulesize: u32, modulename: ::windows::core::PCWSTR, imagename: ::windows::core::PCWSTR, checksum: u32, timedatestamp: u32, initialthreadhandle: u64, threaddataoffset: u64, startoffset: u64, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateProcessA(
::core::mem::transmute_copy(&imagefilehandle),
::core::mem::transmute_copy(&handle),
::core::mem::transmute_copy(&baseoffset),
::core::mem::transmute_copy(&modulesize),
::core::mem::transmute(&modulename),
::core::mem::transmute(&imagename),
::core::mem::transmute_copy(&checksum),
::core::mem::transmute_copy(&timedatestamp),
::core::mem::transmute_copy(&initialthreadhandle),
::core::mem::transmute_copy(&threaddataoffset),
::core::mem::transmute_copy(&startoffset),
::core::mem::transmute_copy(&context),
::core::mem::transmute_copy(&contextsize),
)
.into()
}
unsafe extern "system" fn ExitProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exitcode: u32, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExitProcess(::core::mem::transmute_copy(&exitcode), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn LoadModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imagefilehandle: u64, baseoffset: u64, modulesize: u32, modulename: ::windows::core::PCWSTR, imagename: ::windows::core::PCWSTR, checksum: u32, timedatestamp: u32, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LoadModule(::core::mem::transmute_copy(&imagefilehandle), ::core::mem::transmute_copy(&baseoffset), ::core::mem::transmute_copy(&modulesize), ::core::mem::transmute(&modulename), ::core::mem::transmute(&imagename), ::core::mem::transmute_copy(&checksum), ::core::mem::transmute_copy(&timedatestamp), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn UnloadModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imagebasename: ::windows::core::PCWSTR, baseoffset: u64, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.UnloadModule(::core::mem::transmute(&imagebasename), ::core::mem::transmute_copy(&baseoffset), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn SystemError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, error: u32, level: u32, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SystemError(::core::mem::transmute_copy(&error), ::core::mem::transmute_copy(&level), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn SessionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SessionStatus(::core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn ChangeDebuggeeState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, argument: u64, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeDebuggeeState(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&argument), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn ChangeEngineState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, argument: u64, context: *const ::core::ffi::c_void, contextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeEngineState(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&argument), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn ChangeSymbolState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugEventContextCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, argument: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ChangeSymbolState(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&argument)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterestMask: GetInterestMask::<Identity, Impl, OFFSET>,
Breakpoint: Breakpoint::<Identity, Impl, OFFSET>,
Exception: Exception::<Identity, Impl, OFFSET>,
CreateThread: CreateThread::<Identity, Impl, OFFSET>,
ExitThread: ExitThread::<Identity, Impl, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, Impl, OFFSET>,
ExitProcess: ExitProcess::<Identity, Impl, OFFSET>,
LoadModule: LoadModule::<Identity, Impl, OFFSET>,
UnloadModule: UnloadModule::<Identity, Impl, OFFSET>,
SystemError: SystemError::<Identity, Impl, OFFSET>,
SessionStatus: SessionStatus::<Identity, Impl, OFFSET>,
ChangeDebuggeeState: ChangeDebuggeeState::<Identity, Impl, OFFSET>,
ChangeEngineState: ChangeEngineState::<Identity, Impl, OFFSET>,
ChangeSymbolState: ChangeSymbolState::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugEventContextCallbacks as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugExpression_Impl: Sized {
fn Start(&self, pdecb: ::core::option::Option<&IDebugExpressionCallBack>) -> ::windows::core::Result<()>;
fn Abort(&self) -> ::windows::core::Result<()>;
fn QueryIsComplete(&self) -> ::windows::core::Result<()>;
fn GetResultAsString(&self, phrresult: *mut ::windows::core::HRESULT, pbstrresult: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
fn GetResultAsDebugProperty(&self, phrresult: *mut ::windows::core::HRESULT, ppdp: *mut ::core::option::Option<IDebugProperty>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugExpression {}
impl IDebugExpression_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExpression_Impl, const OFFSET: isize>() -> IDebugExpression_Vtbl {
unsafe extern "system" fn Start<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExpression_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecb: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Start(::windows::core::from_raw_borrowed(&pdecb)).into()
}
unsafe extern "system" fn Abort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExpression_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Abort().into()
}
unsafe extern "system" fn QueryIsComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExpression_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryIsComplete().into()
}
unsafe extern "system" fn GetResultAsString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExpression_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phrresult: *mut ::windows::core::HRESULT, pbstrresult: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetResultAsString(::core::mem::transmute_copy(&phrresult), ::core::mem::transmute_copy(&pbstrresult)).into()
}
unsafe extern "system" fn GetResultAsDebugProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExpression_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phrresult: *mut ::windows::core::HRESULT, ppdp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetResultAsDebugProperty(::core::mem::transmute_copy(&phrresult), ::core::mem::transmute_copy(&ppdp)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Start: Start::<Identity, Impl, OFFSET>,
Abort: Abort::<Identity, Impl, OFFSET>,
QueryIsComplete: QueryIsComplete::<Identity, Impl, OFFSET>,
GetResultAsString: GetResultAsString::<Identity, Impl, OFFSET>,
GetResultAsDebugProperty: GetResultAsDebugProperty::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugExpression as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugExpressionCallBack_Impl: Sized {
fn onComplete(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugExpressionCallBack {}
impl IDebugExpressionCallBack_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExpressionCallBack_Impl, const OFFSET: isize>() -> IDebugExpressionCallBack_Vtbl {
unsafe extern "system" fn onComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExpressionCallBack_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onComplete().into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), onComplete: onComplete::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugExpressionCallBack as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugExpressionContext_Impl: Sized {
fn ParseLanguageText(&self, pstrcode: &::windows::core::PCWSTR, nradix: u32, pstrdelimiter: &::windows::core::PCWSTR, dwflags: u32) -> ::windows::core::Result<IDebugExpression>;
fn GetLanguageInfo(&self, pbstrlanguagename: *mut ::windows::core::BSTR, planguageid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugExpressionContext {}
impl IDebugExpressionContext_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExpressionContext_Impl, const OFFSET: isize>() -> IDebugExpressionContext_Vtbl {
unsafe extern "system" fn ParseLanguageText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExpressionContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrcode: ::windows::core::PCWSTR, nradix: u32, pstrdelimiter: ::windows::core::PCWSTR, dwflags: u32, ppe: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ParseLanguageText(::core::mem::transmute(&pstrcode), ::core::mem::transmute_copy(&nradix), ::core::mem::transmute(&pstrdelimiter), ::core::mem::transmute_copy(&dwflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppe, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLanguageInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExpressionContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrlanguagename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, planguageid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLanguageInfo(::core::mem::transmute_copy(&pbstrlanguagename), ::core::mem::transmute_copy(&planguageid)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ParseLanguageText: ParseLanguageText::<Identity, Impl, OFFSET>,
GetLanguageInfo: GetLanguageInfo::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugExpressionContext as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com_StructuredStorage\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole"))]
pub trait IDebugExtendedProperty_Impl: Sized + IDebugProperty_Impl {
fn GetExtendedPropertyInfo(&self, dwfieldspec: u32, nradix: u32, pextendedpropertyinfo: *mut ExtendedDebugPropertyInfo) -> ::windows::core::Result<()>;
fn EnumExtendedMembers(&self, dwfieldspec: u32, nradix: u32) -> ::windows::core::Result<IEnumDebugExtendedPropertyInfo>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IDebugExtendedProperty {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole"))]
impl IDebugExtendedProperty_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExtendedProperty_Impl, const OFFSET: isize>() -> IDebugExtendedProperty_Vtbl {
unsafe extern "system" fn GetExtendedPropertyInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExtendedProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwfieldspec: u32, nradix: u32, pextendedpropertyinfo: *mut ExtendedDebugPropertyInfo) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtendedPropertyInfo(::core::mem::transmute_copy(&dwfieldspec), ::core::mem::transmute_copy(&nradix), ::core::mem::transmute_copy(&pextendedpropertyinfo)).into()
}
unsafe extern "system" fn EnumExtendedMembers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugExtendedProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwfieldspec: u32, nradix: u32, ppeepi: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumExtendedMembers(::core::mem::transmute_copy(&dwfieldspec), ::core::mem::transmute_copy(&nradix)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppeepi, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDebugProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
GetExtendedPropertyInfo: GetExtendedPropertyInfo::<Identity, Impl, OFFSET>,
EnumExtendedMembers: EnumExtendedMembers::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugExtendedProperty as ::windows::core::ComInterface>::IID || iid == &<IDebugProperty as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IDebugFormatter_Impl: Sized {
fn GetStringForVariant(&self, pvar: *const super::super::Com::VARIANT, nradix: u32) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetVariantForString(&self, pwstrvalue: &::windows::core::PCWSTR) -> ::windows::core::Result<super::super::Com::VARIANT>;
fn GetStringForVarType(&self, vt: super::super::Com::VARENUM, ptdescarraytype: *const super::super::Com::TYPEDESC) -> ::windows::core::Result<::windows::core::BSTR>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IDebugFormatter {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IDebugFormatter_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugFormatter_Impl, const OFFSET: isize>() -> IDebugFormatter_Vtbl {
unsafe extern "system" fn GetStringForVariant<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugFormatter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvar: *const super::super::Com::VARIANT, nradix: u32, pbstrvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStringForVariant(::core::mem::transmute_copy(&pvar), ::core::mem::transmute_copy(&nradix)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrvalue, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVariantForString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugFormatter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwstrvalue: ::windows::core::PCWSTR, pvar: *mut super::super::Com::VARIANT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetVariantForString(::core::mem::transmute(&pwstrvalue)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvar, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStringForVarType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugFormatter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, vt: super::super::Com::VARENUM, ptdescarraytype: *const super::super::Com::TYPEDESC, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStringForVarType(::core::mem::transmute_copy(&vt), ::core::mem::transmute_copy(&ptdescarraytype)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetStringForVariant: GetStringForVariant::<Identity, Impl, OFFSET>,
GetVariantForString: GetVariantForString::<Identity, Impl, OFFSET>,
GetStringForVarType: GetStringForVarType::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugFormatter as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IDebugHelper_Impl: Sized {
fn CreatePropertyBrowser(&self, pvar: *const super::super::Com::VARIANT, bstrname: &::windows::core::PCWSTR, pdat: ::core::option::Option<&IDebugApplicationThread>) -> ::windows::core::Result<IDebugProperty>;
fn CreatePropertyBrowserEx(&self, pvar: *const super::super::Com::VARIANT, bstrname: &::windows::core::PCWSTR, pdat: ::core::option::Option<&IDebugApplicationThread>, pdf: ::core::option::Option<&IDebugFormatter>) -> ::windows::core::Result<IDebugProperty>;
fn CreateSimpleConnectionPoint(&self, pdisp: ::core::option::Option<&super::super::Com::IDispatch>) -> ::windows::core::Result<ISimpleConnectionPoint>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IDebugHelper {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IDebugHelper_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHelper_Impl, const OFFSET: isize>() -> IDebugHelper_Vtbl {
unsafe extern "system" fn CreatePropertyBrowser<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvar: *const super::super::Com::VARIANT, bstrname: ::windows::core::PCWSTR, pdat: *mut ::core::ffi::c_void, ppdob: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreatePropertyBrowser(::core::mem::transmute_copy(&pvar), ::core::mem::transmute(&bstrname), ::windows::core::from_raw_borrowed(&pdat)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdob, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreatePropertyBrowserEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvar: *const super::super::Com::VARIANT, bstrname: ::windows::core::PCWSTR, pdat: *mut ::core::ffi::c_void, pdf: *mut ::core::ffi::c_void, ppdob: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreatePropertyBrowserEx(::core::mem::transmute_copy(&pvar), ::core::mem::transmute(&bstrname), ::windows::core::from_raw_borrowed(&pdat), ::windows::core::from_raw_borrowed(&pdf)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdob, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSimpleConnectionPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdisp: *mut ::core::ffi::c_void, ppscp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateSimpleConnectionPoint(::windows::core::from_raw_borrowed(&pdisp)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppscp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CreatePropertyBrowser: CreatePropertyBrowser::<Identity, Impl, OFFSET>,
CreatePropertyBrowserEx: CreatePropertyBrowserEx::<Identity, Impl, OFFSET>,
CreateSimpleConnectionPoint: CreateSimpleConnectionPoint::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHelper as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHost_Impl: Sized {
fn GetHostDefinedInterface(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
fn GetCurrentContext(&self) -> ::windows::core::Result<IDebugHostContext>;
fn GetDefaultMetadata(&self) -> ::windows::core::Result<IKeyStore>;
}
impl ::windows::core::RuntimeName for IDebugHost {}
impl IDebugHost_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHost_Impl, const OFFSET: isize>() -> IDebugHost_Vtbl {
unsafe extern "system" fn GetHostDefinedInterface<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hostunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetHostDefinedInterface() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(hostunk, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentContext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(context, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDefaultMetadata<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, defaultmetadatastore: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDefaultMetadata() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(defaultmetadatastore, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetHostDefinedInterface: GetHostDefinedInterface::<Identity, Impl, OFFSET>,
GetCurrentContext: GetCurrentContext::<Identity, Impl, OFFSET>,
GetDefaultMetadata: GetDefaultMetadata::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHost as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostBaseClass_Impl: Sized + IDebugHostSymbol_Impl {
fn GetOffset(&self) -> ::windows::core::Result<u64>;
}
impl ::windows::core::RuntimeName for IDebugHostBaseClass {}
impl IDebugHostBaseClass_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostBaseClass_Impl, const OFFSET: isize>() -> IDebugHostBaseClass_Vtbl {
unsafe extern "system" fn GetOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostBaseClass_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IDebugHostSymbol_Vtbl::new::<Identity, Impl, OFFSET>(), GetOffset: GetOffset::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostBaseClass as ::windows::core::ComInterface>::IID || iid == &<IDebugHostSymbol as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IDebugHostConstant_Impl: Sized + IDebugHostSymbol_Impl {
fn GetValue(&self) -> ::windows::core::Result<super::super::Com::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IDebugHostConstant {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IDebugHostConstant_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostConstant_Impl, const OFFSET: isize>() -> IDebugHostConstant_Vtbl {
unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostConstant_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: *mut super::super::Com::VARIANT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetValue() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(value, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IDebugHostSymbol_Vtbl::new::<Identity, Impl, OFFSET>(), GetValue: GetValue::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostConstant as ::windows::core::ComInterface>::IID || iid == &<IDebugHostSymbol as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostContext_Impl: Sized {
fn IsEqualTo(&self, pcontext: ::core::option::Option<&IDebugHostContext>) -> ::windows::core::Result<bool>;
}
impl ::windows::core::RuntimeName for IDebugHostContext {}
impl IDebugHostContext_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostContext_Impl, const OFFSET: isize>() -> IDebugHostContext_Vtbl {
unsafe extern "system" fn IsEqualTo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcontext: *mut ::core::ffi::c_void, pisequal: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsEqualTo(::windows::core::from_raw_borrowed(&pcontext)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pisequal, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), IsEqualTo: IsEqualTo::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostContext as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IDebugHostData_Impl: Sized + IDebugHostSymbol_Impl {
fn GetLocationKind(&self) -> ::windows::core::Result<LocationKind>;
fn GetLocation(&self) -> ::windows::core::Result<Location>;
fn GetValue(&self) -> ::windows::core::Result<super::super::Com::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IDebugHostData {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IDebugHostData_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostData_Impl, const OFFSET: isize>() -> IDebugHostData_Vtbl {
unsafe extern "system" fn GetLocationKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, locationkind: *mut LocationKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLocationKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(locationkind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLocation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, location: *mut Location) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLocation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(location, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: *mut super::super::Com::VARIANT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetValue() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(value, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDebugHostSymbol_Vtbl::new::<Identity, Impl, OFFSET>(),
GetLocationKind: GetLocationKind::<Identity, Impl, OFFSET>,
GetLocation: GetLocation::<Identity, Impl, OFFSET>,
GetValue: GetValue::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostData as ::windows::core::ComInterface>::IID || iid == &<IDebugHostSymbol as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostErrorSink_Impl: Sized {
fn ReportError(&self, errclass: ErrorClass, hrerror: ::windows::core::HRESULT, message: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugHostErrorSink {}
impl IDebugHostErrorSink_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostErrorSink_Impl, const OFFSET: isize>() -> IDebugHostErrorSink_Vtbl {
unsafe extern "system" fn ReportError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostErrorSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, errclass: ErrorClass, hrerror: ::windows::core::HRESULT, message: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReportError(::core::mem::transmute_copy(&errclass), ::core::mem::transmute_copy(&hrerror), ::core::mem::transmute(&message)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ReportError: ReportError::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostErrorSink as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostEvaluator_Impl: Sized {
fn EvaluateExpression(&self, context: ::core::option::Option<&IDebugHostContext>, expression: &::windows::core::PCWSTR, bindingcontext: ::core::option::Option<&IModelObject>, result: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn EvaluateExtendedExpression(&self, context: ::core::option::Option<&IDebugHostContext>, expression: &::windows::core::PCWSTR, bindingcontext: ::core::option::Option<&IModelObject>, result: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugHostEvaluator {}
impl IDebugHostEvaluator_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostEvaluator_Impl, const OFFSET: isize>() -> IDebugHostEvaluator_Vtbl {
unsafe extern "system" fn EvaluateExpression<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostEvaluator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, expression: ::windows::core::PCWSTR, bindingcontext: *mut ::core::ffi::c_void, result: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EvaluateExpression(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&expression), ::windows::core::from_raw_borrowed(&bindingcontext), ::core::mem::transmute_copy(&result), ::core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn EvaluateExtendedExpression<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostEvaluator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, expression: ::windows::core::PCWSTR, bindingcontext: *mut ::core::ffi::c_void, result: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EvaluateExtendedExpression(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&expression), ::windows::core::from_raw_borrowed(&bindingcontext), ::core::mem::transmute_copy(&result), ::core::mem::transmute_copy(&metadata)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
EvaluateExpression: EvaluateExpression::<Identity, Impl, OFFSET>,
EvaluateExtendedExpression: EvaluateExtendedExpression::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostEvaluator as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostEvaluator2_Impl: Sized + IDebugHostEvaluator_Impl {
fn AssignTo(&self, assignmentreference: ::core::option::Option<&IModelObject>, assignmentvalue: ::core::option::Option<&IModelObject>, assignmentresult: *mut ::core::option::Option<IModelObject>, assignmentmetadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugHostEvaluator2 {}
impl IDebugHostEvaluator2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostEvaluator2_Impl, const OFFSET: isize>() -> IDebugHostEvaluator2_Vtbl {
unsafe extern "system" fn AssignTo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostEvaluator2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, assignmentreference: *mut ::core::ffi::c_void, assignmentvalue: *mut ::core::ffi::c_void, assignmentresult: *mut *mut ::core::ffi::c_void, assignmentmetadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AssignTo(::windows::core::from_raw_borrowed(&assignmentreference), ::windows::core::from_raw_borrowed(&assignmentvalue), ::core::mem::transmute_copy(&assignmentresult), ::core::mem::transmute_copy(&assignmentmetadata)).into()
}
Self { base__: IDebugHostEvaluator_Vtbl::new::<Identity, Impl, OFFSET>(), AssignTo: AssignTo::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostEvaluator2 as ::windows::core::ComInterface>::IID || iid == &<IDebugHostEvaluator as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostExtensibility_Impl: Sized {
fn CreateFunctionAlias(&self, aliasname: &::windows::core::PCWSTR, functionobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
fn DestroyFunctionAlias(&self, aliasname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugHostExtensibility {}
impl IDebugHostExtensibility_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostExtensibility_Impl, const OFFSET: isize>() -> IDebugHostExtensibility_Vtbl {
unsafe extern "system" fn CreateFunctionAlias<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostExtensibility_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, aliasname: ::windows::core::PCWSTR, functionobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateFunctionAlias(::core::mem::transmute(&aliasname), ::windows::core::from_raw_borrowed(&functionobject)).into()
}
unsafe extern "system" fn DestroyFunctionAlias<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostExtensibility_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, aliasname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DestroyFunctionAlias(::core::mem::transmute(&aliasname)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CreateFunctionAlias: CreateFunctionAlias::<Identity, Impl, OFFSET>,
DestroyFunctionAlias: DestroyFunctionAlias::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostExtensibility as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IDebugHostField_Impl: Sized + IDebugHostSymbol_Impl {
fn GetLocationKind(&self) -> ::windows::core::Result<LocationKind>;
fn GetOffset(&self) -> ::windows::core::Result<u64>;
fn GetLocation(&self) -> ::windows::core::Result<Location>;
fn GetValue(&self) -> ::windows::core::Result<super::super::Com::VARIANT>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IDebugHostField {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IDebugHostField_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostField_Impl, const OFFSET: isize>() -> IDebugHostField_Vtbl {
unsafe extern "system" fn GetLocationKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, locationkind: *mut LocationKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLocationKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(locationkind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLocation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, location: *mut Location) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLocation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(location, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: *mut super::super::Com::VARIANT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetValue() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(value, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDebugHostSymbol_Vtbl::new::<Identity, Impl, OFFSET>(),
GetLocationKind: GetLocationKind::<Identity, Impl, OFFSET>,
GetOffset: GetOffset::<Identity, Impl, OFFSET>,
GetLocation: GetLocation::<Identity, Impl, OFFSET>,
GetValue: GetValue::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostField as ::windows::core::ComInterface>::IID || iid == &<IDebugHostSymbol as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostMemory_Impl: Sized {
fn ReadBytes(&self, context: ::core::option::Option<&IDebugHostContext>, location: &Location, buffer: *mut ::core::ffi::c_void, buffersize: u64, bytesread: *mut u64) -> ::windows::core::Result<()>;
fn WriteBytes(&self, context: ::core::option::Option<&IDebugHostContext>, location: &Location, buffer: *const ::core::ffi::c_void, buffersize: u64, byteswritten: *mut u64) -> ::windows::core::Result<()>;
fn ReadPointers(&self, context: ::core::option::Option<&IDebugHostContext>, location: &Location, count: u64, pointers: *mut u64) -> ::windows::core::Result<()>;
fn WritePointers(&self, context: ::core::option::Option<&IDebugHostContext>, location: &Location, count: u64, pointers: *const u64) -> ::windows::core::Result<()>;
fn GetDisplayStringForLocation(&self, context: ::core::option::Option<&IDebugHostContext>, location: &Location, verbose: u8) -> ::windows::core::Result<::windows::core::BSTR>;
}
impl ::windows::core::RuntimeName for IDebugHostMemory {}
impl IDebugHostMemory_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostMemory_Impl, const OFFSET: isize>() -> IDebugHostMemory_Vtbl {
unsafe extern "system" fn ReadBytes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostMemory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, location: Location, buffer: *mut ::core::ffi::c_void, buffersize: u64, bytesread: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadBytes(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&location), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteBytes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostMemory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, location: Location, buffer: *const ::core::ffi::c_void, buffersize: u64, byteswritten: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteBytes(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&location), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn ReadPointers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostMemory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, location: Location, count: u64, pointers: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadPointers(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&location), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&pointers)).into()
}
unsafe extern "system" fn WritePointers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostMemory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, location: Location, count: u64, pointers: *const u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WritePointers(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&location), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&pointers)).into()
}
unsafe extern "system" fn GetDisplayStringForLocation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostMemory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, location: Location, verbose: u8, locationname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDisplayStringForLocation(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&location), ::core::mem::transmute_copy(&verbose)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(locationname, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ReadBytes: ReadBytes::<Identity, Impl, OFFSET>,
WriteBytes: WriteBytes::<Identity, Impl, OFFSET>,
ReadPointers: ReadPointers::<Identity, Impl, OFFSET>,
WritePointers: WritePointers::<Identity, Impl, OFFSET>,
GetDisplayStringForLocation: GetDisplayStringForLocation::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostMemory as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostMemory2_Impl: Sized + IDebugHostMemory_Impl {
fn LinearizeLocation(&self, context: ::core::option::Option<&IDebugHostContext>, location: &Location) -> ::windows::core::Result<Location>;
}
impl ::windows::core::RuntimeName for IDebugHostMemory2 {}
impl IDebugHostMemory2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostMemory2_Impl, const OFFSET: isize>() -> IDebugHostMemory2_Vtbl {
unsafe extern "system" fn LinearizeLocation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostMemory2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, location: Location, plinearizedlocation: *mut Location) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.LinearizeLocation(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&location)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(plinearizedlocation, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IDebugHostMemory_Vtbl::new::<Identity, Impl, OFFSET>(), LinearizeLocation: LinearizeLocation::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostMemory2 as ::windows::core::ComInterface>::IID || iid == &<IDebugHostMemory as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostModule_Impl: Sized + IDebugHostSymbol_Impl {
fn GetImageName(&self, allowpath: u8) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetBaseLocation(&self) -> ::windows::core::Result<Location>;
fn GetVersion(&self, fileversion: *mut u64, productversion: *mut u64) -> ::windows::core::Result<()>;
fn FindTypeByName(&self, typename: &::windows::core::PCWSTR) -> ::windows::core::Result<IDebugHostType>;
fn FindSymbolByRVA(&self, rva: u64) -> ::windows::core::Result<IDebugHostSymbol>;
fn FindSymbolByName(&self, symbolname: &::windows::core::PCWSTR) -> ::windows::core::Result<IDebugHostSymbol>;
}
impl ::windows::core::RuntimeName for IDebugHostModule {}
impl IDebugHostModule_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostModule_Impl, const OFFSET: isize>() -> IDebugHostModule_Vtbl {
unsafe extern "system" fn GetImageName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, allowpath: u8, imagename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetImageName(::core::mem::transmute_copy(&allowpath)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(imagename, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBaseLocation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modulebaselocation: *mut Location) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBaseLocation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(modulebaselocation, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fileversion: *mut u64, productversion: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetVersion(::core::mem::transmute_copy(&fileversion), ::core::mem::transmute_copy(&productversion)).into()
}
unsafe extern "system" fn FindTypeByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, typename: ::windows::core::PCWSTR, r#type: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FindTypeByName(::core::mem::transmute(&typename)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FindSymbolByRVA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rva: u64, symbol: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FindSymbolByRVA(::core::mem::transmute_copy(&rva)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbol, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FindSymbolByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbolname: ::windows::core::PCWSTR, symbol: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FindSymbolByName(::core::mem::transmute(&symbolname)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbol, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDebugHostSymbol_Vtbl::new::<Identity, Impl, OFFSET>(),
GetImageName: GetImageName::<Identity, Impl, OFFSET>,
GetBaseLocation: GetBaseLocation::<Identity, Impl, OFFSET>,
GetVersion: GetVersion::<Identity, Impl, OFFSET>,
FindTypeByName: FindTypeByName::<Identity, Impl, OFFSET>,
FindSymbolByRVA: FindSymbolByRVA::<Identity, Impl, OFFSET>,
FindSymbolByName: FindSymbolByName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostModule as ::windows::core::ComInterface>::IID || iid == &<IDebugHostSymbol as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostModule2_Impl: Sized + IDebugHostModule_Impl {
fn FindContainingSymbolByRVA(&self, rva: u64, symbol: *mut ::core::option::Option<IDebugHostSymbol>, offset: *mut u64) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugHostModule2 {}
impl IDebugHostModule2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostModule2_Impl, const OFFSET: isize>() -> IDebugHostModule2_Vtbl {
unsafe extern "system" fn FindContainingSymbolByRVA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostModule2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rva: u64, symbol: *mut *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindContainingSymbolByRVA(::core::mem::transmute_copy(&rva), ::core::mem::transmute_copy(&symbol), ::core::mem::transmute_copy(&offset)).into()
}
Self { base__: IDebugHostModule_Vtbl::new::<Identity, Impl, OFFSET>(), FindContainingSymbolByRVA: FindContainingSymbolByRVA::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostModule2 as ::windows::core::ComInterface>::IID || iid == &<IDebugHostSymbol as ::windows::core::ComInterface>::IID || iid == &<IDebugHostModule as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostModuleSignature_Impl: Sized {
fn IsMatch(&self, pmodule: ::core::option::Option<&IDebugHostModule>) -> ::windows::core::Result<bool>;
}
impl ::windows::core::RuntimeName for IDebugHostModuleSignature {}
impl IDebugHostModuleSignature_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostModuleSignature_Impl, const OFFSET: isize>() -> IDebugHostModuleSignature_Vtbl {
unsafe extern "system" fn IsMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostModuleSignature_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmodule: *mut ::core::ffi::c_void, ismatch: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsMatch(::windows::core::from_raw_borrowed(&pmodule)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ismatch, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), IsMatch: IsMatch::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostModuleSignature as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostPublic_Impl: Sized + IDebugHostSymbol_Impl {
fn GetLocationKind(&self) -> ::windows::core::Result<LocationKind>;
fn GetLocation(&self) -> ::windows::core::Result<Location>;
}
impl ::windows::core::RuntimeName for IDebugHostPublic {}
impl IDebugHostPublic_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostPublic_Impl, const OFFSET: isize>() -> IDebugHostPublic_Vtbl {
unsafe extern "system" fn GetLocationKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostPublic_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, locationkind: *mut LocationKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLocationKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(locationkind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLocation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostPublic_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, location: *mut Location) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLocation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(location, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDebugHostSymbol_Vtbl::new::<Identity, Impl, OFFSET>(),
GetLocationKind: GetLocationKind::<Identity, Impl, OFFSET>,
GetLocation: GetLocation::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostPublic as ::windows::core::ComInterface>::IID || iid == &<IDebugHostSymbol as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostScriptHost_Impl: Sized {
fn CreateContext(&self, script: ::core::option::Option<&IDataModelScript>) -> ::windows::core::Result<IDataModelScriptHostContext>;
}
impl ::windows::core::RuntimeName for IDebugHostScriptHost {}
impl IDebugHostScriptHost_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostScriptHost_Impl, const OFFSET: isize>() -> IDebugHostScriptHost_Vtbl {
unsafe extern "system" fn CreateContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostScriptHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, script: *mut ::core::ffi::c_void, scriptcontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateContext(::windows::core::from_raw_borrowed(&script)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(scriptcontext, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CreateContext: CreateContext::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostScriptHost as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostStatus_Impl: Sized {
fn PollUserInterrupt(&self) -> ::windows::core::Result<bool>;
}
impl ::windows::core::RuntimeName for IDebugHostStatus {}
impl IDebugHostStatus_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostStatus_Impl, const OFFSET: isize>() -> IDebugHostStatus_Vtbl {
unsafe extern "system" fn PollUserInterrupt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, interruptrequested: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.PollUserInterrupt() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(interruptrequested, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), PollUserInterrupt: PollUserInterrupt::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostStatus as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostSymbol_Impl: Sized {
fn GetContext(&self) -> ::windows::core::Result<IDebugHostContext>;
fn EnumerateChildren(&self, kind: SymbolKind, name: &::windows::core::PCWSTR) -> ::windows::core::Result<IDebugHostSymbolEnumerator>;
fn GetSymbolKind(&self) -> ::windows::core::Result<SymbolKind>;
fn GetName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetType(&self) -> ::windows::core::Result<IDebugHostType>;
fn GetContainingModule(&self) -> ::windows::core::Result<IDebugHostModule>;
fn CompareAgainst(&self, pcomparisonsymbol: ::core::option::Option<&IDebugHostSymbol>, comparisonflags: u32) -> ::windows::core::Result<bool>;
}
impl ::windows::core::RuntimeName for IDebugHostSymbol {}
impl IDebugHostSymbol_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbol_Impl, const OFFSET: isize>() -> IDebugHostSymbol_Vtbl {
unsafe extern "system" fn GetContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbol_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(context, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateChildren<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbol_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, kind: SymbolKind, name: ::windows::core::PCWSTR, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateChildren(::core::mem::transmute_copy(&kind), ::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbol_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, kind: *mut SymbolKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(kind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbol_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbolname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbolname, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbol_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContainingModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbol_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, containingmodule: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContainingModule() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(containingmodule, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CompareAgainst<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbol_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcomparisonsymbol: *mut ::core::ffi::c_void, comparisonflags: u32, pmatches: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CompareAgainst(::windows::core::from_raw_borrowed(&pcomparisonsymbol), ::core::mem::transmute_copy(&comparisonflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pmatches, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetContext: GetContext::<Identity, Impl, OFFSET>,
EnumerateChildren: EnumerateChildren::<Identity, Impl, OFFSET>,
GetSymbolKind: GetSymbolKind::<Identity, Impl, OFFSET>,
GetName: GetName::<Identity, Impl, OFFSET>,
GetType: GetType::<Identity, Impl, OFFSET>,
GetContainingModule: GetContainingModule::<Identity, Impl, OFFSET>,
CompareAgainst: CompareAgainst::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostSymbol as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostSymbol2_Impl: Sized + IDebugHostSymbol_Impl {
fn GetLanguage(&self) -> ::windows::core::Result<LanguageKind>;
}
impl ::windows::core::RuntimeName for IDebugHostSymbol2 {}
impl IDebugHostSymbol2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbol2_Impl, const OFFSET: isize>() -> IDebugHostSymbol2_Vtbl {
unsafe extern "system" fn GetLanguage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbol2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkind: *mut LanguageKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLanguage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pkind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IDebugHostSymbol_Vtbl::new::<Identity, Impl, OFFSET>(), GetLanguage: GetLanguage::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostSymbol2 as ::windows::core::ComInterface>::IID || iid == &<IDebugHostSymbol as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostSymbolEnumerator_Impl: Sized {
fn Reset(&self) -> ::windows::core::Result<()>;
fn GetNext(&self) -> ::windows::core::Result<IDebugHostSymbol>;
}
impl ::windows::core::RuntimeName for IDebugHostSymbolEnumerator {}
impl IDebugHostSymbolEnumerator_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbolEnumerator_Impl, const OFFSET: isize>() -> IDebugHostSymbolEnumerator_Vtbl {
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbolEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn GetNext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbolEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbol, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Reset: Reset::<Identity, Impl, OFFSET>,
GetNext: GetNext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostSymbolEnumerator as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostSymbols_Impl: Sized {
fn CreateModuleSignature(&self, pwszmodulename: &::windows::core::PCWSTR, pwszminversion: &::windows::core::PCWSTR, pwszmaxversion: &::windows::core::PCWSTR) -> ::windows::core::Result<IDebugHostModuleSignature>;
fn CreateTypeSignature(&self, signaturespecification: &::windows::core::PCWSTR, module: ::core::option::Option<&IDebugHostModule>) -> ::windows::core::Result<IDebugHostTypeSignature>;
fn CreateTypeSignatureForModuleRange(&self, signaturespecification: &::windows::core::PCWSTR, modulename: &::windows::core::PCWSTR, minversion: &::windows::core::PCWSTR, maxversion: &::windows::core::PCWSTR) -> ::windows::core::Result<IDebugHostTypeSignature>;
fn EnumerateModules(&self, context: ::core::option::Option<&IDebugHostContext>) -> ::windows::core::Result<IDebugHostSymbolEnumerator>;
fn FindModuleByName(&self, context: ::core::option::Option<&IDebugHostContext>, modulename: &::windows::core::PCWSTR) -> ::windows::core::Result<IDebugHostModule>;
fn FindModuleByLocation(&self, context: ::core::option::Option<&IDebugHostContext>, modulelocation: &Location) -> ::windows::core::Result<IDebugHostModule>;
fn GetMostDerivedObject(&self, pcontext: ::core::option::Option<&IDebugHostContext>, location: &Location, objecttype: ::core::option::Option<&IDebugHostType>, derivedlocation: *mut Location, derivedtype: *mut ::core::option::Option<IDebugHostType>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugHostSymbols {}
impl IDebugHostSymbols_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbols_Impl, const OFFSET: isize>() -> IDebugHostSymbols_Vtbl {
unsafe extern "system" fn CreateModuleSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszmodulename: ::windows::core::PCWSTR, pwszminversion: ::windows::core::PCWSTR, pwszmaxversion: ::windows::core::PCWSTR, ppmodulesignature: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateModuleSignature(::core::mem::transmute(&pwszmodulename), ::core::mem::transmute(&pwszminversion), ::core::mem::transmute(&pwszmaxversion)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppmodulesignature, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypeSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, signaturespecification: ::windows::core::PCWSTR, module: *mut ::core::ffi::c_void, typesignature: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateTypeSignature(::core::mem::transmute(&signaturespecification), ::windows::core::from_raw_borrowed(&module)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(typesignature, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypeSignatureForModuleRange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, signaturespecification: ::windows::core::PCWSTR, modulename: ::windows::core::PCWSTR, minversion: ::windows::core::PCWSTR, maxversion: ::windows::core::PCWSTR, typesignature: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateTypeSignatureForModuleRange(::core::mem::transmute(&signaturespecification), ::core::mem::transmute(&modulename), ::core::mem::transmute(&minversion), ::core::mem::transmute(&maxversion)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(typesignature, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateModules<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, moduleenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateModules(::windows::core::from_raw_borrowed(&context)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(moduleenum, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FindModuleByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, modulename: ::windows::core::PCWSTR, module: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FindModuleByName(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&modulename)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(module, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FindModuleByLocation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, modulelocation: Location, module: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.FindModuleByLocation(::windows::core::from_raw_borrowed(&context), ::core::mem::transmute(&modulelocation)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(module, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMostDerivedObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcontext: *mut ::core::ffi::c_void, location: Location, objecttype: *mut ::core::ffi::c_void, derivedlocation: *mut Location, derivedtype: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetMostDerivedObject(::windows::core::from_raw_borrowed(&pcontext), ::core::mem::transmute(&location), ::windows::core::from_raw_borrowed(&objecttype), ::core::mem::transmute_copy(&derivedlocation), ::core::mem::transmute_copy(&derivedtype)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CreateModuleSignature: CreateModuleSignature::<Identity, Impl, OFFSET>,
CreateTypeSignature: CreateTypeSignature::<Identity, Impl, OFFSET>,
CreateTypeSignatureForModuleRange: CreateTypeSignatureForModuleRange::<Identity, Impl, OFFSET>,
EnumerateModules: EnumerateModules::<Identity, Impl, OFFSET>,
FindModuleByName: FindModuleByName::<Identity, Impl, OFFSET>,
FindModuleByLocation: FindModuleByLocation::<Identity, Impl, OFFSET>,
GetMostDerivedObject: GetMostDerivedObject::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostSymbols as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostType_Impl: Sized + IDebugHostSymbol_Impl {
fn GetTypeKind(&self) -> ::windows::core::Result<TypeKind>;
fn GetSize(&self) -> ::windows::core::Result<u64>;
fn GetBaseType(&self) -> ::windows::core::Result<IDebugHostType>;
fn GetHashCode(&self) -> ::windows::core::Result<u32>;
fn GetIntrinsicType(&self, intrinsickind: *mut IntrinsicKind, carriertype: *mut u16) -> ::windows::core::Result<()>;
fn GetBitField(&self, lsboffield: *mut u32, lengthoffield: *mut u32) -> ::windows::core::Result<()>;
fn GetPointerKind(&self) -> ::windows::core::Result<PointerKind>;
fn GetMemberType(&self) -> ::windows::core::Result<IDebugHostType>;
fn CreatePointerTo(&self, kind: PointerKind) -> ::windows::core::Result<IDebugHostType>;
fn GetArrayDimensionality(&self) -> ::windows::core::Result<u64>;
fn GetArrayDimensions(&self, dimensions: u64, pdimensions: *mut ArrayDimension) -> ::windows::core::Result<()>;
fn CreateArrayOf(&self, dimensions: u64, pdimensions: *const ArrayDimension) -> ::windows::core::Result<IDebugHostType>;
fn GetFunctionCallingConvention(&self) -> ::windows::core::Result<CallingConventionKind>;
fn GetFunctionReturnType(&self) -> ::windows::core::Result<IDebugHostType>;
fn GetFunctionParameterTypeCount(&self) -> ::windows::core::Result<u64>;
fn GetFunctionParameterTypeAt(&self, i: u64) -> ::windows::core::Result<IDebugHostType>;
fn IsGeneric(&self) -> ::windows::core::Result<bool>;
fn GetGenericArgumentCount(&self) -> ::windows::core::Result<u64>;
fn GetGenericArgumentAt(&self, i: u64) -> ::windows::core::Result<IDebugHostSymbol>;
}
impl ::windows::core::RuntimeName for IDebugHostType {}
impl IDebugHostType_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>() -> IDebugHostType_Vtbl {
unsafe extern "system" fn GetTypeKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, kind: *mut TypeKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(kind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, size: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSize() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBaseType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, basetype: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBaseType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(basetype, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetHashCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hashcode: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetHashCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(hashcode, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIntrinsicType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, intrinsickind: *mut IntrinsicKind, carriertype: *mut u16) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetIntrinsicType(::core::mem::transmute_copy(&intrinsickind), ::core::mem::transmute_copy(&carriertype)).into()
}
unsafe extern "system" fn GetBitField<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lsboffield: *mut u32, lengthoffield: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetBitField(::core::mem::transmute_copy(&lsboffield), ::core::mem::transmute_copy(&lengthoffield)).into()
}
unsafe extern "system" fn GetPointerKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pointerkind: *mut PointerKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPointerKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pointerkind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMemberType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, membertype: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMemberType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(membertype, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreatePointerTo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, kind: PointerKind, newtype: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreatePointerTo(::core::mem::transmute_copy(&kind)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newtype, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetArrayDimensionality<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, arraydimensionality: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetArrayDimensionality() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(arraydimensionality, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetArrayDimensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dimensions: u64, pdimensions: *mut ArrayDimension) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetArrayDimensions(::core::mem::transmute_copy(&dimensions), ::core::mem::transmute_copy(&pdimensions)).into()
}
unsafe extern "system" fn CreateArrayOf<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dimensions: u64, pdimensions: *const ArrayDimension, newtype: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateArrayOf(::core::mem::transmute_copy(&dimensions), ::core::mem::transmute_copy(&pdimensions)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(newtype, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionCallingConvention<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, conventionkind: *mut CallingConventionKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFunctionCallingConvention() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(conventionkind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionReturnType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, returntype: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFunctionReturnType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(returntype, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionParameterTypeCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFunctionParameterTypeCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(count, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionParameterTypeAt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, i: u64, parametertype: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFunctionParameterTypeAt(::core::mem::transmute_copy(&i)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(parametertype, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsGeneric<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, isgeneric: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsGeneric() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(isgeneric, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetGenericArgumentCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, argcount: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetGenericArgumentCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(argcount, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetGenericArgumentAt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, i: u64, argument: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetGenericArgumentAt(::core::mem::transmute_copy(&i)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(argument, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDebugHostSymbol_Vtbl::new::<Identity, Impl, OFFSET>(),
GetTypeKind: GetTypeKind::<Identity, Impl, OFFSET>,
GetSize: GetSize::<Identity, Impl, OFFSET>,
GetBaseType: GetBaseType::<Identity, Impl, OFFSET>,
GetHashCode: GetHashCode::<Identity, Impl, OFFSET>,
GetIntrinsicType: GetIntrinsicType::<Identity, Impl, OFFSET>,
GetBitField: GetBitField::<Identity, Impl, OFFSET>,
GetPointerKind: GetPointerKind::<Identity, Impl, OFFSET>,
GetMemberType: GetMemberType::<Identity, Impl, OFFSET>,
CreatePointerTo: CreatePointerTo::<Identity, Impl, OFFSET>,
GetArrayDimensionality: GetArrayDimensionality::<Identity, Impl, OFFSET>,
GetArrayDimensions: GetArrayDimensions::<Identity, Impl, OFFSET>,
CreateArrayOf: CreateArrayOf::<Identity, Impl, OFFSET>,
GetFunctionCallingConvention: GetFunctionCallingConvention::<Identity, Impl, OFFSET>,
GetFunctionReturnType: GetFunctionReturnType::<Identity, Impl, OFFSET>,
GetFunctionParameterTypeCount: GetFunctionParameterTypeCount::<Identity, Impl, OFFSET>,
GetFunctionParameterTypeAt: GetFunctionParameterTypeAt::<Identity, Impl, OFFSET>,
IsGeneric: IsGeneric::<Identity, Impl, OFFSET>,
GetGenericArgumentCount: GetGenericArgumentCount::<Identity, Impl, OFFSET>,
GetGenericArgumentAt: GetGenericArgumentAt::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostType as ::windows::core::ComInterface>::IID || iid == &<IDebugHostSymbol as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostType2_Impl: Sized + IDebugHostType_Impl {
fn IsTypedef(&self) -> ::windows::core::Result<bool>;
fn GetTypedefBaseType(&self) -> ::windows::core::Result<IDebugHostType2>;
fn GetTypedefFinalBaseType(&self) -> ::windows::core::Result<IDebugHostType2>;
fn GetFunctionVarArgsKind(&self) -> ::windows::core::Result<VarArgsKind>;
fn GetFunctionInstancePointerType(&self) -> ::windows::core::Result<IDebugHostType2>;
}
impl ::windows::core::RuntimeName for IDebugHostType2 {}
impl IDebugHostType2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType2_Impl, const OFFSET: isize>() -> IDebugHostType2_Vtbl {
unsafe extern "system" fn IsTypedef<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, istypedef: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsTypedef() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(istypedef, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypedefBaseType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, basetype: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypedefBaseType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(basetype, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypedefFinalBaseType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, finalbasetype: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypedefFinalBaseType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(finalbasetype, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionVarArgsKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, varargskind: *mut VarArgsKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFunctionVarArgsKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(varargskind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionInstancePointerType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostType2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instancepointertype: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFunctionInstancePointerType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(instancepointertype, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDebugHostType_Vtbl::new::<Identity, Impl, OFFSET>(),
IsTypedef: IsTypedef::<Identity, Impl, OFFSET>,
GetTypedefBaseType: GetTypedefBaseType::<Identity, Impl, OFFSET>,
GetTypedefFinalBaseType: GetTypedefFinalBaseType::<Identity, Impl, OFFSET>,
GetFunctionVarArgsKind: GetFunctionVarArgsKind::<Identity, Impl, OFFSET>,
GetFunctionInstancePointerType: GetFunctionInstancePointerType::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostType2 as ::windows::core::ComInterface>::IID || iid == &<IDebugHostSymbol as ::windows::core::ComInterface>::IID || iid == &<IDebugHostType as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugHostTypeSignature_Impl: Sized {
fn GetHashCode(&self) -> ::windows::core::Result<u32>;
fn IsMatch(&self, r#type: ::core::option::Option<&IDebugHostType>, ismatch: *mut bool, wildcardmatches: *mut ::core::option::Option<IDebugHostSymbolEnumerator>) -> ::windows::core::Result<()>;
fn CompareAgainst(&self, typesignature: ::core::option::Option<&IDebugHostTypeSignature>) -> ::windows::core::Result<SignatureComparison>;
}
impl ::windows::core::RuntimeName for IDebugHostTypeSignature {}
impl IDebugHostTypeSignature_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostTypeSignature_Impl, const OFFSET: isize>() -> IDebugHostTypeSignature_Vtbl {
unsafe extern "system" fn GetHashCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostTypeSignature_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hashcode: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetHashCode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(hashcode, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn IsMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostTypeSignature_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut ::core::ffi::c_void, ismatch: *mut bool, wildcardmatches: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsMatch(::windows::core::from_raw_borrowed(&r#type), ::core::mem::transmute_copy(&ismatch), ::core::mem::transmute_copy(&wildcardmatches)).into()
}
unsafe extern "system" fn CompareAgainst<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugHostTypeSignature_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, typesignature: *mut ::core::ffi::c_void, result: *mut SignatureComparison) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CompareAgainst(::windows::core::from_raw_borrowed(&typesignature)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(result, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetHashCode: GetHashCode::<Identity, Impl, OFFSET>,
IsMatch: IsMatch::<Identity, Impl, OFFSET>,
CompareAgainst: CompareAgainst::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugHostTypeSignature as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugInputCallbacks_Impl: Sized {
fn StartInput(&self, buffersize: u32) -> ::windows::core::Result<()>;
fn EndInput(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugInputCallbacks {}
impl IDebugInputCallbacks_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugInputCallbacks_Impl, const OFFSET: isize>() -> IDebugInputCallbacks_Vtbl {
unsafe extern "system" fn StartInput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugInputCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffersize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartInput(::core::mem::transmute_copy(&buffersize)).into()
}
unsafe extern "system" fn EndInput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugInputCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndInput().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
StartInput: StartInput::<Identity, Impl, OFFSET>,
EndInput: EndInput::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugInputCallbacks as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugOutputCallbacks_Impl: Sized {
fn Output(&self, mask: u32, text: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugOutputCallbacks {}
impl IDebugOutputCallbacks_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugOutputCallbacks_Impl, const OFFSET: isize>() -> IDebugOutputCallbacks_Vtbl {
unsafe extern "system" fn Output<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugOutputCallbacks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, text: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Output(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&text)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Output: Output::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugOutputCallbacks as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugOutputCallbacks2_Impl: Sized {
fn Output(&self, mask: u32, text: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetInterestMask(&self) -> ::windows::core::Result<u32>;
fn Output2(&self, which: u32, flags: u32, arg: u64, text: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugOutputCallbacks2 {}
impl IDebugOutputCallbacks2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugOutputCallbacks2_Impl, const OFFSET: isize>() -> IDebugOutputCallbacks2_Vtbl {
unsafe extern "system" fn Output<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugOutputCallbacks2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, text: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Output(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&text)).into()
}
unsafe extern "system" fn GetInterestMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugOutputCallbacks2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInterestMask() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(mask, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Output2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugOutputCallbacks2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, flags: u32, arg: u64, text: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Output2(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&arg), ::core::mem::transmute(&text)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Output: Output::<Identity, Impl, OFFSET>,
GetInterestMask: GetInterestMask::<Identity, Impl, OFFSET>,
Output2: Output2::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugOutputCallbacks2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugOutputCallbacksWide_Impl: Sized {
fn Output(&self, mask: u32, text: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugOutputCallbacksWide {}
impl IDebugOutputCallbacksWide_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugOutputCallbacksWide_Impl, const OFFSET: isize>() -> IDebugOutputCallbacksWide_Vtbl {
unsafe extern "system" fn Output<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugOutputCallbacksWide_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32, text: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Output(::core::mem::transmute_copy(&mask), ::core::mem::transmute(&text)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Output: Output::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugOutputCallbacksWide as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugOutputStream_Impl: Sized {
fn Write(&self, psz: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugOutputStream {}
impl IDebugOutputStream_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugOutputStream_Impl, const OFFSET: isize>() -> IDebugOutputStream_Vtbl {
unsafe extern "system" fn Write<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugOutputStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psz: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Write(::core::mem::transmute(&psz)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Write: Write::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugOutputStream as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugPlmClient_Impl: Sized {
fn LaunchPlmPackageForDebugWide(&self, server: u64, timeout: u32, packagefullname: &::windows::core::PCWSTR, appname: &::windows::core::PCWSTR, arguments: &::windows::core::PCWSTR, processid: *mut u32, threadid: *mut u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugPlmClient {}
impl IDebugPlmClient_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient_Impl, const OFFSET: isize>() -> IDebugPlmClient_Vtbl {
unsafe extern "system" fn LaunchPlmPackageForDebugWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, timeout: u32, packagefullname: ::windows::core::PCWSTR, appname: ::windows::core::PCWSTR, arguments: ::windows::core::PCWSTR, processid: *mut u32, threadid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LaunchPlmPackageForDebugWide(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&timeout), ::core::mem::transmute(&packagefullname), ::core::mem::transmute(&appname), ::core::mem::transmute(&arguments), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
LaunchPlmPackageForDebugWide: LaunchPlmPackageForDebugWide::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugPlmClient as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugPlmClient2_Impl: Sized {
fn LaunchPlmPackageForDebugWide(&self, server: u64, timeout: u32, packagefullname: &::windows::core::PCWSTR, appname: &::windows::core::PCWSTR, arguments: &::windows::core::PCWSTR, processid: *mut u32, threadid: *mut u32) -> ::windows::core::Result<()>;
fn LaunchPlmBgTaskForDebugWide(&self, server: u64, timeout: u32, packagefullname: &::windows::core::PCWSTR, backgroundtaskid: &::windows::core::PCWSTR, processid: *mut u32, threadid: *mut u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugPlmClient2 {}
impl IDebugPlmClient2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient2_Impl, const OFFSET: isize>() -> IDebugPlmClient2_Vtbl {
unsafe extern "system" fn LaunchPlmPackageForDebugWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, timeout: u32, packagefullname: ::windows::core::PCWSTR, appname: ::windows::core::PCWSTR, arguments: ::windows::core::PCWSTR, processid: *mut u32, threadid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LaunchPlmPackageForDebugWide(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&timeout), ::core::mem::transmute(&packagefullname), ::core::mem::transmute(&appname), ::core::mem::transmute(&arguments), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid)).into()
}
unsafe extern "system" fn LaunchPlmBgTaskForDebugWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, timeout: u32, packagefullname: ::windows::core::PCWSTR, backgroundtaskid: ::windows::core::PCWSTR, processid: *mut u32, threadid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LaunchPlmBgTaskForDebugWide(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&timeout), ::core::mem::transmute(&packagefullname), ::core::mem::transmute(&backgroundtaskid), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
LaunchPlmPackageForDebugWide: LaunchPlmPackageForDebugWide::<Identity, Impl, OFFSET>,
LaunchPlmBgTaskForDebugWide: LaunchPlmBgTaskForDebugWide::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugPlmClient2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugPlmClient3_Impl: Sized {
fn LaunchPlmPackageForDebugWide(&self, server: u64, timeout: u32, packagefullname: &::windows::core::PCWSTR, appname: &::windows::core::PCWSTR, arguments: &::windows::core::PCWSTR, processid: *mut u32, threadid: *mut u32) -> ::windows::core::Result<()>;
fn LaunchPlmBgTaskForDebugWide(&self, server: u64, timeout: u32, packagefullname: &::windows::core::PCWSTR, backgroundtaskid: &::windows::core::PCWSTR, processid: *mut u32, threadid: *mut u32) -> ::windows::core::Result<()>;
fn QueryPlmPackageWide(&self, server: u64, packagefullname: &::windows::core::PCWSTR, stream: ::core::option::Option<&IDebugOutputStream>) -> ::windows::core::Result<()>;
fn QueryPlmPackageList(&self, server: u64, stream: ::core::option::Option<&IDebugOutputStream>) -> ::windows::core::Result<()>;
fn EnablePlmPackageDebugWide(&self, server: u64, packagefullname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn DisablePlmPackageDebugWide(&self, server: u64, packagefullname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn SuspendPlmPackageWide(&self, server: u64, packagefullname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn ResumePlmPackageWide(&self, server: u64, packagefullname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn TerminatePlmPackageWide(&self, server: u64, packagefullname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn LaunchAndDebugPlmAppWide(&self, server: u64, packagefullname: &::windows::core::PCWSTR, appname: &::windows::core::PCWSTR, arguments: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn ActivateAndDebugPlmBgTaskWide(&self, server: u64, packagefullname: &::windows::core::PCWSTR, backgroundtaskid: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugPlmClient3 {}
impl IDebugPlmClient3_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>() -> IDebugPlmClient3_Vtbl {
unsafe extern "system" fn LaunchPlmPackageForDebugWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, timeout: u32, packagefullname: ::windows::core::PCWSTR, appname: ::windows::core::PCWSTR, arguments: ::windows::core::PCWSTR, processid: *mut u32, threadid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LaunchPlmPackageForDebugWide(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&timeout), ::core::mem::transmute(&packagefullname), ::core::mem::transmute(&appname), ::core::mem::transmute(&arguments), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid)).into()
}
unsafe extern "system" fn LaunchPlmBgTaskForDebugWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, timeout: u32, packagefullname: ::windows::core::PCWSTR, backgroundtaskid: ::windows::core::PCWSTR, processid: *mut u32, threadid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LaunchPlmBgTaskForDebugWide(::core::mem::transmute_copy(&server), ::core::mem::transmute_copy(&timeout), ::core::mem::transmute(&packagefullname), ::core::mem::transmute(&backgroundtaskid), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&threadid)).into()
}
unsafe extern "system" fn QueryPlmPackageWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, packagefullname: ::windows::core::PCWSTR, stream: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryPlmPackageWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&packagefullname), ::windows::core::from_raw_borrowed(&stream)).into()
}
unsafe extern "system" fn QueryPlmPackageList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, stream: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryPlmPackageList(::core::mem::transmute_copy(&server), ::windows::core::from_raw_borrowed(&stream)).into()
}
unsafe extern "system" fn EnablePlmPackageDebugWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, packagefullname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EnablePlmPackageDebugWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn DisablePlmPackageDebugWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, packagefullname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisablePlmPackageDebugWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn SuspendPlmPackageWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, packagefullname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SuspendPlmPackageWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn ResumePlmPackageWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, packagefullname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResumePlmPackageWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn TerminatePlmPackageWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, packagefullname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.TerminatePlmPackageWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn LaunchAndDebugPlmAppWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, packagefullname: ::windows::core::PCWSTR, appname: ::windows::core::PCWSTR, arguments: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.LaunchAndDebugPlmAppWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&packagefullname), ::core::mem::transmute(&appname), ::core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn ActivateAndDebugPlmBgTaskWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPlmClient3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, packagefullname: ::windows::core::PCWSTR, backgroundtaskid: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ActivateAndDebugPlmBgTaskWide(::core::mem::transmute_copy(&server), ::core::mem::transmute(&packagefullname), ::core::mem::transmute(&backgroundtaskid)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
LaunchPlmPackageForDebugWide: LaunchPlmPackageForDebugWide::<Identity, Impl, OFFSET>,
LaunchPlmBgTaskForDebugWide: LaunchPlmBgTaskForDebugWide::<Identity, Impl, OFFSET>,
QueryPlmPackageWide: QueryPlmPackageWide::<Identity, Impl, OFFSET>,
QueryPlmPackageList: QueryPlmPackageList::<Identity, Impl, OFFSET>,
EnablePlmPackageDebugWide: EnablePlmPackageDebugWide::<Identity, Impl, OFFSET>,
DisablePlmPackageDebugWide: DisablePlmPackageDebugWide::<Identity, Impl, OFFSET>,
SuspendPlmPackageWide: SuspendPlmPackageWide::<Identity, Impl, OFFSET>,
ResumePlmPackageWide: ResumePlmPackageWide::<Identity, Impl, OFFSET>,
TerminatePlmPackageWide: TerminatePlmPackageWide::<Identity, Impl, OFFSET>,
LaunchAndDebugPlmAppWide: LaunchAndDebugPlmAppWide::<Identity, Impl, OFFSET>,
ActivateAndDebugPlmBgTaskWide: ActivateAndDebugPlmBgTaskWide::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugPlmClient3 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IDebugProperty_Impl: Sized {
fn GetPropertyInfo(&self, dwfieldspec: u32, nradix: u32, ppropertyinfo: *mut DebugPropertyInfo) -> ::windows::core::Result<()>;
fn GetExtendedInfo(&self, cinfos: u32, rgguidextendedinfo: *const ::windows::core::GUID, rgvar: *mut super::super::Com::VARIANT) -> ::windows::core::Result<()>;
fn SetValueAsString(&self, pszvalue: &::windows::core::PCWSTR, nradix: u32) -> ::windows::core::Result<()>;
fn EnumMembers(&self, dwfieldspec: u32, nradix: u32, refiid: *const ::windows::core::GUID) -> ::windows::core::Result<IEnumDebugPropertyInfo>;
fn GetParent(&self) -> ::windows::core::Result<IDebugProperty>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IDebugProperty {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IDebugProperty_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugProperty_Impl, const OFFSET: isize>() -> IDebugProperty_Vtbl {
unsafe extern "system" fn GetPropertyInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwfieldspec: u32, nradix: u32, ppropertyinfo: *mut DebugPropertyInfo) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPropertyInfo(::core::mem::transmute_copy(&dwfieldspec), ::core::mem::transmute_copy(&nradix), ::core::mem::transmute_copy(&ppropertyinfo)).into()
}
unsafe extern "system" fn GetExtendedInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cinfos: u32, rgguidextendedinfo: *const ::windows::core::GUID, rgvar: *mut super::super::Com::VARIANT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetExtendedInfo(::core::mem::transmute_copy(&cinfos), ::core::mem::transmute_copy(&rgguidextendedinfo), ::core::mem::transmute_copy(&rgvar)).into()
}
unsafe extern "system" fn SetValueAsString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszvalue: ::windows::core::PCWSTR, nradix: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValueAsString(::core::mem::transmute(&pszvalue), ::core::mem::transmute_copy(&nradix)).into()
}
unsafe extern "system" fn EnumMembers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwfieldspec: u32, nradix: u32, refiid: *const ::windows::core::GUID, ppepi: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumMembers(::core::mem::transmute_copy(&dwfieldspec), ::core::mem::transmute_copy(&nradix), ::core::mem::transmute_copy(&refiid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppepi, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetParent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdebugprop: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetParent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdebugprop, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetPropertyInfo: GetPropertyInfo::<Identity, Impl, OFFSET>,
GetExtendedInfo: GetExtendedInfo::<Identity, Impl, OFFSET>,
SetValueAsString: SetValueAsString::<Identity, Impl, OFFSET>,
EnumMembers: EnumMembers::<Identity, Impl, OFFSET>,
GetParent: GetParent::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugProperty as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugPropertyEnumType_All_Impl: Sized {
fn GetName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
}
impl ::windows::core::RuntimeName for IDebugPropertyEnumType_All {}
impl IDebugPropertyEnumType_All_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPropertyEnumType_All_Impl, const OFFSET: isize>() -> IDebugPropertyEnumType_All_Vtbl {
unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPropertyEnumType_All_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__idebugpropertyenumtype_all0000: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(__midl__idebugpropertyenumtype_all0000, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetName: GetName::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugPropertyEnumType_All as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugPropertyEnumType_Arguments_Impl: Sized + IDebugPropertyEnumType_All_Impl {}
impl ::windows::core::RuntimeName for IDebugPropertyEnumType_Arguments {}
impl IDebugPropertyEnumType_Arguments_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPropertyEnumType_Arguments_Impl, const OFFSET: isize>() -> IDebugPropertyEnumType_Arguments_Vtbl {
Self { base__: IDebugPropertyEnumType_All_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugPropertyEnumType_Arguments as ::windows::core::ComInterface>::IID || iid == &<IDebugPropertyEnumType_All as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugPropertyEnumType_Locals_Impl: Sized + IDebugPropertyEnumType_All_Impl {}
impl ::windows::core::RuntimeName for IDebugPropertyEnumType_Locals {}
impl IDebugPropertyEnumType_Locals_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPropertyEnumType_Locals_Impl, const OFFSET: isize>() -> IDebugPropertyEnumType_Locals_Vtbl {
Self { base__: IDebugPropertyEnumType_All_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugPropertyEnumType_Locals as ::windows::core::ComInterface>::IID || iid == &<IDebugPropertyEnumType_All as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugPropertyEnumType_LocalsPlusArgs_Impl: Sized + IDebugPropertyEnumType_All_Impl {}
impl ::windows::core::RuntimeName for IDebugPropertyEnumType_LocalsPlusArgs {}
impl IDebugPropertyEnumType_LocalsPlusArgs_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPropertyEnumType_LocalsPlusArgs_Impl, const OFFSET: isize>() -> IDebugPropertyEnumType_LocalsPlusArgs_Vtbl {
Self { base__: IDebugPropertyEnumType_All_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugPropertyEnumType_LocalsPlusArgs as ::windows::core::ComInterface>::IID || iid == &<IDebugPropertyEnumType_All as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugPropertyEnumType_Registers_Impl: Sized + IDebugPropertyEnumType_All_Impl {}
impl ::windows::core::RuntimeName for IDebugPropertyEnumType_Registers {}
impl IDebugPropertyEnumType_Registers_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugPropertyEnumType_Registers_Impl, const OFFSET: isize>() -> IDebugPropertyEnumType_Registers_Vtbl {
Self { base__: IDebugPropertyEnumType_All_Vtbl::new::<Identity, Impl, OFFSET>() }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugPropertyEnumType_Registers as ::windows::core::ComInterface>::IID || iid == &<IDebugPropertyEnumType_All as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugRegisters_Impl: Sized {
fn GetNumberRegisters(&self) -> ::windows::core::Result<u32>;
fn GetDescription(&self, register: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, desc: *mut DEBUG_REGISTER_DESCRIPTION) -> ::windows::core::Result<()>;
fn GetIndexByName(&self, name: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetValue(&self, register: u32, value: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn SetValue(&self, register: u32, value: *const DEBUG_VALUE) -> ::windows::core::Result<()>;
fn GetValues(&self, count: u32, indices: *const u32, start: u32, values: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn SetValues(&self, count: u32, indices: *const u32, start: u32, values: *const DEBUG_VALUE) -> ::windows::core::Result<()>;
fn OutputRegisters(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetInstructionOffset(&self) -> ::windows::core::Result<u64>;
fn GetStackOffset(&self) -> ::windows::core::Result<u64>;
fn GetFrameOffset(&self) -> ::windows::core::Result<u64>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugRegisters {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugRegisters_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>() -> IDebugRegisters_Vtbl {
unsafe extern "system" fn GetNumberRegisters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberRegisters() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, register: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, desc: *mut DEBUG_REGISTER_DESCRIPTION) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDescription(::core::mem::transmute_copy(&register), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&desc)).into()
}
unsafe extern "system" fn GetIndexByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetIndexByName(::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, register: u32, value: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetValue(::core::mem::transmute_copy(&register), ::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn SetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, register: u32, value: *const DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValue(::core::mem::transmute_copy(&register), ::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn GetValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, indices: *const u32, start: u32, values: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetValues(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&indices), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&values)).into()
}
unsafe extern "system" fn SetValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, indices: *const u32, start: u32, values: *const DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValues(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&indices), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&values)).into()
}
unsafe extern "system" fn OutputRegisters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputRegisters(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInstructionOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInstructionOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStackOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFrameOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFrameOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetNumberRegisters: GetNumberRegisters::<Identity, Impl, OFFSET>,
GetDescription: GetDescription::<Identity, Impl, OFFSET>,
GetIndexByName: GetIndexByName::<Identity, Impl, OFFSET>,
GetValue: GetValue::<Identity, Impl, OFFSET>,
SetValue: SetValue::<Identity, Impl, OFFSET>,
GetValues: GetValues::<Identity, Impl, OFFSET>,
SetValues: SetValues::<Identity, Impl, OFFSET>,
OutputRegisters: OutputRegisters::<Identity, Impl, OFFSET>,
GetInstructionOffset: GetInstructionOffset::<Identity, Impl, OFFSET>,
GetStackOffset: GetStackOffset::<Identity, Impl, OFFSET>,
GetFrameOffset: GetFrameOffset::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugRegisters as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugRegisters2_Impl: Sized {
fn GetNumberRegisters(&self) -> ::windows::core::Result<u32>;
fn GetDescription(&self, register: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, desc: *mut DEBUG_REGISTER_DESCRIPTION) -> ::windows::core::Result<()>;
fn GetIndexByName(&self, name: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetValue(&self, register: u32, value: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn SetValue(&self, register: u32, value: *const DEBUG_VALUE) -> ::windows::core::Result<()>;
fn GetValues(&self, count: u32, indices: *const u32, start: u32, values: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn SetValues(&self, count: u32, indices: *const u32, start: u32, values: *const DEBUG_VALUE) -> ::windows::core::Result<()>;
fn OutputRegisters(&self, outputcontrol: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetInstructionOffset(&self) -> ::windows::core::Result<u64>;
fn GetStackOffset(&self) -> ::windows::core::Result<u64>;
fn GetFrameOffset(&self) -> ::windows::core::Result<u64>;
fn GetDescriptionWide(&self, register: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, desc: *mut DEBUG_REGISTER_DESCRIPTION) -> ::windows::core::Result<()>;
fn GetIndexByNameWide(&self, name: &::windows::core::PCWSTR) -> ::windows::core::Result<u32>;
fn GetNumberPseudoRegisters(&self) -> ::windows::core::Result<u32>;
fn GetPseudoDescription(&self, register: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, typemodule: *mut u64, typeid: *mut u32) -> ::windows::core::Result<()>;
fn GetPseudoDescriptionWide(&self, register: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, typemodule: *mut u64, typeid: *mut u32) -> ::windows::core::Result<()>;
fn GetPseudoIndexByName(&self, name: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetPseudoIndexByNameWide(&self, name: &::windows::core::PCWSTR) -> ::windows::core::Result<u32>;
fn GetPseudoValues(&self, source: u32, count: u32, indices: *const u32, start: u32, values: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn SetPseudoValues(&self, source: u32, count: u32, indices: *const u32, start: u32, values: *const DEBUG_VALUE) -> ::windows::core::Result<()>;
fn GetValues2(&self, source: u32, count: u32, indices: *const u32, start: u32, values: *mut DEBUG_VALUE) -> ::windows::core::Result<()>;
fn SetValues2(&self, source: u32, count: u32, indices: *const u32, start: u32, values: *const DEBUG_VALUE) -> ::windows::core::Result<()>;
fn OutputRegisters2(&self, outputcontrol: u32, source: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetInstructionOffset2(&self, source: u32) -> ::windows::core::Result<u64>;
fn GetStackOffset2(&self, source: u32) -> ::windows::core::Result<u64>;
fn GetFrameOffset2(&self, source: u32) -> ::windows::core::Result<u64>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugRegisters2 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugRegisters2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>() -> IDebugRegisters2_Vtbl {
unsafe extern "system" fn GetNumberRegisters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberRegisters() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, register: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, desc: *mut DEBUG_REGISTER_DESCRIPTION) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDescription(::core::mem::transmute_copy(&register), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&desc)).into()
}
unsafe extern "system" fn GetIndexByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetIndexByName(::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, register: u32, value: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetValue(::core::mem::transmute_copy(&register), ::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn SetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, register: u32, value: *const DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValue(::core::mem::transmute_copy(&register), ::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn GetValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, indices: *const u32, start: u32, values: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetValues(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&indices), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&values)).into()
}
unsafe extern "system" fn SetValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, indices: *const u32, start: u32, values: *const DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValues(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&indices), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&values)).into()
}
unsafe extern "system" fn OutputRegisters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputRegisters(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInstructionOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInstructionOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStackOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFrameOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFrameOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, register: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, desc: *mut DEBUG_REGISTER_DESCRIPTION) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDescriptionWide(::core::mem::transmute_copy(&register), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&desc)).into()
}
unsafe extern "system" fn GetIndexByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetIndexByNameWide(::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPseudoRegisters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberPseudoRegisters() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPseudoDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, register: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, typemodule: *mut u64, typeid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPseudoDescription(::core::mem::transmute_copy(&register), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&typemodule), ::core::mem::transmute_copy(&typeid)).into()
}
unsafe extern "system" fn GetPseudoDescriptionWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, register: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, typemodule: *mut u64, typeid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPseudoDescriptionWide(::core::mem::transmute_copy(&register), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&typemodule), ::core::mem::transmute_copy(&typeid)).into()
}
unsafe extern "system" fn GetPseudoIndexByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPseudoIndexByName(::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPseudoIndexByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetPseudoIndexByNameWide(::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPseudoValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, source: u32, count: u32, indices: *const u32, start: u32, values: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPseudoValues(::core::mem::transmute_copy(&source), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&indices), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&values)).into()
}
unsafe extern "system" fn SetPseudoValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, source: u32, count: u32, indices: *const u32, start: u32, values: *const DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPseudoValues(::core::mem::transmute_copy(&source), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&indices), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&values)).into()
}
unsafe extern "system" fn GetValues2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, source: u32, count: u32, indices: *const u32, start: u32, values: *mut DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetValues2(::core::mem::transmute_copy(&source), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&indices), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&values)).into()
}
unsafe extern "system" fn SetValues2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, source: u32, count: u32, indices: *const u32, start: u32, values: *const DEBUG_VALUE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValues2(::core::mem::transmute_copy(&source), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&indices), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&values)).into()
}
unsafe extern "system" fn OutputRegisters2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, source: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputRegisters2(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&source), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInstructionOffset2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, source: u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetInstructionOffset2(::core::mem::transmute_copy(&source)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackOffset2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, source: u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStackOffset2(::core::mem::transmute_copy(&source)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFrameOffset2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugRegisters2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, source: u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFrameOffset2(::core::mem::transmute_copy(&source)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetNumberRegisters: GetNumberRegisters::<Identity, Impl, OFFSET>,
GetDescription: GetDescription::<Identity, Impl, OFFSET>,
GetIndexByName: GetIndexByName::<Identity, Impl, OFFSET>,
GetValue: GetValue::<Identity, Impl, OFFSET>,
SetValue: SetValue::<Identity, Impl, OFFSET>,
GetValues: GetValues::<Identity, Impl, OFFSET>,
SetValues: SetValues::<Identity, Impl, OFFSET>,
OutputRegisters: OutputRegisters::<Identity, Impl, OFFSET>,
GetInstructionOffset: GetInstructionOffset::<Identity, Impl, OFFSET>,
GetStackOffset: GetStackOffset::<Identity, Impl, OFFSET>,
GetFrameOffset: GetFrameOffset::<Identity, Impl, OFFSET>,
GetDescriptionWide: GetDescriptionWide::<Identity, Impl, OFFSET>,
GetIndexByNameWide: GetIndexByNameWide::<Identity, Impl, OFFSET>,
GetNumberPseudoRegisters: GetNumberPseudoRegisters::<Identity, Impl, OFFSET>,
GetPseudoDescription: GetPseudoDescription::<Identity, Impl, OFFSET>,
GetPseudoDescriptionWide: GetPseudoDescriptionWide::<Identity, Impl, OFFSET>,
GetPseudoIndexByName: GetPseudoIndexByName::<Identity, Impl, OFFSET>,
GetPseudoIndexByNameWide: GetPseudoIndexByNameWide::<Identity, Impl, OFFSET>,
GetPseudoValues: GetPseudoValues::<Identity, Impl, OFFSET>,
SetPseudoValues: SetPseudoValues::<Identity, Impl, OFFSET>,
GetValues2: GetValues2::<Identity, Impl, OFFSET>,
SetValues2: SetValues2::<Identity, Impl, OFFSET>,
OutputRegisters2: OutputRegisters2::<Identity, Impl, OFFSET>,
GetInstructionOffset2: GetInstructionOffset2::<Identity, Impl, OFFSET>,
GetStackOffset2: GetStackOffset2::<Identity, Impl, OFFSET>,
GetFrameOffset2: GetFrameOffset2::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugRegisters2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugSessionProvider_Impl: Sized {
fn StartDebugSession(&self, pda: ::core::option::Option<&IRemoteDebugApplication>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugSessionProvider {}
impl IDebugSessionProvider_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSessionProvider_Impl, const OFFSET: isize>() -> IDebugSessionProvider_Vtbl {
unsafe extern "system" fn StartDebugSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSessionProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pda: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.StartDebugSession(::windows::core::from_raw_borrowed(&pda)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), StartDebugSession: StartDebugSession::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSessionProvider as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugStackFrame_Impl: Sized {
fn GetCodeContext(&self) -> ::windows::core::Result<IDebugCodeContext>;
fn GetDescriptionString(&self, flong: super::super::super::Foundation::BOOL) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetLanguageString(&self, flong: super::super::super::Foundation::BOOL) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetThread(&self) -> ::windows::core::Result<IDebugApplicationThread>;
fn GetDebugProperty(&self) -> ::windows::core::Result<IDebugProperty>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugStackFrame {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugStackFrame_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrame_Impl, const OFFSET: isize>() -> IDebugStackFrame_Vtbl {
unsafe extern "system" fn GetCodeContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCodeContext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescriptionString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flong: super::super::super::Foundation::BOOL, pbstrdescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDescriptionString(::core::mem::transmute_copy(&flong)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrdescription, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLanguageString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flong: super::super::super::Foundation::BOOL, pbstrlanguage: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLanguageString(::core::mem::transmute_copy(&flong)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrlanguage, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppat: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThread() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppat, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDebugProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdebugprop: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDebugProperty() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdebugprop, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetCodeContext: GetCodeContext::<Identity, Impl, OFFSET>,
GetDescriptionString: GetDescriptionString::<Identity, Impl, OFFSET>,
GetLanguageString: GetLanguageString::<Identity, Impl, OFFSET>,
GetThread: GetThread::<Identity, Impl, OFFSET>,
GetDebugProperty: GetDebugProperty::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugStackFrame as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugStackFrame110_Impl: Sized + IDebugStackFrame_Impl {
fn GetStackFrameType(&self) -> ::windows::core::Result<DEBUG_STACKFRAME_TYPE>;
fn GetScriptInvocationContext(&self) -> ::windows::core::Result<IScriptInvocationContext>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugStackFrame110 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugStackFrame110_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrame110_Impl, const OFFSET: isize>() -> IDebugStackFrame110_Vtbl {
unsafe extern "system" fn GetStackFrameType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrame110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstackframekind: *mut DEBUG_STACKFRAME_TYPE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetStackFrameType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstackframekind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetScriptInvocationContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrame110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppinvocationcontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScriptInvocationContext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppinvocationcontext, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: IDebugStackFrame_Vtbl::new::<Identity, Impl, OFFSET>(),
GetStackFrameType: GetStackFrameType::<Identity, Impl, OFFSET>,
GetScriptInvocationContext: GetScriptInvocationContext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugStackFrame110 as ::windows::core::ComInterface>::IID || iid == &<IDebugStackFrame as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugStackFrameSniffer_Impl: Sized {
fn EnumStackFrames(&self) -> ::windows::core::Result<IEnumDebugStackFrames>;
}
impl ::windows::core::RuntimeName for IDebugStackFrameSniffer {}
impl IDebugStackFrameSniffer_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrameSniffer_Impl, const OFFSET: isize>() -> IDebugStackFrameSniffer_Vtbl {
unsafe extern "system" fn EnumStackFrames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrameSniffer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppedsf: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumStackFrames() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppedsf, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), EnumStackFrames: EnumStackFrames::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugStackFrameSniffer as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugStackFrameSnifferEx32_Impl: Sized + IDebugStackFrameSniffer_Impl {
fn EnumStackFramesEx32(&self, dwspmin: u32) -> ::windows::core::Result<IEnumDebugStackFrames>;
}
impl ::windows::core::RuntimeName for IDebugStackFrameSnifferEx32 {}
impl IDebugStackFrameSnifferEx32_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrameSnifferEx32_Impl, const OFFSET: isize>() -> IDebugStackFrameSnifferEx32_Vtbl {
unsafe extern "system" fn EnumStackFramesEx32<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrameSnifferEx32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwspmin: u32, ppedsf: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumStackFramesEx32(::core::mem::transmute_copy(&dwspmin)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppedsf, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IDebugStackFrameSniffer_Vtbl::new::<Identity, Impl, OFFSET>(), EnumStackFramesEx32: EnumStackFramesEx32::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugStackFrameSnifferEx32 as ::windows::core::ComInterface>::IID || iid == &<IDebugStackFrameSniffer as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugStackFrameSnifferEx64_Impl: Sized + IDebugStackFrameSniffer_Impl {
fn EnumStackFramesEx64(&self, dwspmin: u64) -> ::windows::core::Result<IEnumDebugStackFrames64>;
}
impl ::windows::core::RuntimeName for IDebugStackFrameSnifferEx64 {}
impl IDebugStackFrameSnifferEx64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrameSnifferEx64_Impl, const OFFSET: isize>() -> IDebugStackFrameSnifferEx64_Vtbl {
unsafe extern "system" fn EnumStackFramesEx64<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugStackFrameSnifferEx64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwspmin: u64, ppedsf: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumStackFramesEx64(::core::mem::transmute_copy(&dwspmin)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppedsf, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: IDebugStackFrameSniffer_Vtbl::new::<Identity, Impl, OFFSET>(), EnumStackFramesEx64: EnumStackFramesEx64::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugStackFrameSnifferEx64 as ::windows::core::ComInterface>::IID || iid == &<IDebugStackFrameSniffer as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugSymbolGroup_Impl: Sized {
fn GetNumberSymbols(&self) -> ::windows::core::Result<u32>;
fn AddSymbol(&self, name: &::windows::core::PCSTR, index: *mut u32) -> ::windows::core::Result<()>;
fn RemoveSymbolByName(&self, name: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn RemoveSymbolByIndex(&self, index: u32) -> ::windows::core::Result<()>;
fn GetSymbolName(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolParameters(&self, start: u32, count: u32, params: *mut DEBUG_SYMBOL_PARAMETERS) -> ::windows::core::Result<()>;
fn ExpandSymbol(&self, index: u32, expand: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OutputSymbols(&self, outputcontrol: u32, flags: u32, start: u32, count: u32) -> ::windows::core::Result<()>;
fn WriteSymbol(&self, index: u32, value: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputAsType(&self, index: u32, r#type: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugSymbolGroup {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugSymbolGroup_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup_Impl, const OFFSET: isize>() -> IDebugSymbolGroup_Vtbl {
unsafe extern "system" fn GetNumberSymbols<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberSymbols() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSymbol(::core::mem::transmute(&name), ::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn RemoveSymbolByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSymbolByName(::core::mem::transmute(&name)).into()
}
unsafe extern "system" fn RemoveSymbolByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSymbolByIndex(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn GetSymbolName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolName(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetSymbolParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SYMBOL_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn ExpandSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, expand: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExpandSymbol(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&expand)).into()
}
unsafe extern "system" fn OutputSymbols<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, start: u32, count: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputSymbols(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count)).into()
}
unsafe extern "system" fn WriteSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, value: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteSymbol(::core::mem::transmute_copy(&index), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn OutputAsType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, r#type: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputAsType(::core::mem::transmute_copy(&index), ::core::mem::transmute(&r#type)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetNumberSymbols: GetNumberSymbols::<Identity, Impl, OFFSET>,
AddSymbol: AddSymbol::<Identity, Impl, OFFSET>,
RemoveSymbolByName: RemoveSymbolByName::<Identity, Impl, OFFSET>,
RemoveSymbolByIndex: RemoveSymbolByIndex::<Identity, Impl, OFFSET>,
GetSymbolName: GetSymbolName::<Identity, Impl, OFFSET>,
GetSymbolParameters: GetSymbolParameters::<Identity, Impl, OFFSET>,
ExpandSymbol: ExpandSymbol::<Identity, Impl, OFFSET>,
OutputSymbols: OutputSymbols::<Identity, Impl, OFFSET>,
WriteSymbol: WriteSymbol::<Identity, Impl, OFFSET>,
OutputAsType: OutputAsType::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSymbolGroup as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugSymbolGroup2_Impl: Sized {
fn GetNumberSymbols(&self) -> ::windows::core::Result<u32>;
fn AddSymbol(&self, name: &::windows::core::PCSTR, index: *mut u32) -> ::windows::core::Result<()>;
fn RemoveSymbolByName(&self, name: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn RemoveSymbolByIndex(&self, index: u32) -> ::windows::core::Result<()>;
fn GetSymbolName(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolParameters(&self, start: u32, count: u32, params: *mut DEBUG_SYMBOL_PARAMETERS) -> ::windows::core::Result<()>;
fn ExpandSymbol(&self, index: u32, expand: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
fn OutputSymbols(&self, outputcontrol: u32, flags: u32, start: u32, count: u32) -> ::windows::core::Result<()>;
fn WriteSymbol(&self, index: u32, value: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn OutputAsType(&self, index: u32, r#type: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AddSymbolWide(&self, name: &::windows::core::PCWSTR, index: *mut u32) -> ::windows::core::Result<()>;
fn RemoveSymbolByNameWide(&self, name: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSymbolNameWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn WriteSymbolWide(&self, index: u32, value: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OutputAsTypeWide(&self, index: u32, r#type: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSymbolTypeName(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolTypeNameWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolSize(&self, index: u32) -> ::windows::core::Result<u32>;
fn GetSymbolOffset(&self, index: u32) -> ::windows::core::Result<u64>;
fn GetSymbolRegister(&self, index: u32) -> ::windows::core::Result<u32>;
fn GetSymbolValueText(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolValueTextWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryInformation(&self, index: u32, entry: *mut DEBUG_SYMBOL_ENTRY) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugSymbolGroup2 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugSymbolGroup2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>() -> IDebugSymbolGroup2_Vtbl {
unsafe extern "system" fn GetNumberSymbols<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberSymbols() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSymbol(::core::mem::transmute(&name), ::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn RemoveSymbolByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSymbolByName(::core::mem::transmute(&name)).into()
}
unsafe extern "system" fn RemoveSymbolByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSymbolByIndex(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn GetSymbolName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolName(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetSymbolParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SYMBOL_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolParameters(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn ExpandSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, expand: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ExpandSymbol(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&expand)).into()
}
unsafe extern "system" fn OutputSymbols<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, start: u32, count: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputSymbols(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count)).into()
}
unsafe extern "system" fn WriteSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, value: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteSymbol(::core::mem::transmute_copy(&index), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn OutputAsType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, r#type: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputAsType(::core::mem::transmute_copy(&index), ::core::mem::transmute(&r#type)).into()
}
unsafe extern "system" fn AddSymbolWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSymbolWide(::core::mem::transmute(&name), ::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn RemoveSymbolByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSymbolByNameWide(::core::mem::transmute(&name)).into()
}
unsafe extern "system" fn GetSymbolNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolNameWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn WriteSymbolWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, value: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteSymbolWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&value)).into()
}
unsafe extern "system" fn OutputAsTypeWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, r#type: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputAsTypeWide(::core::mem::transmute_copy(&index), ::core::mem::transmute(&r#type)).into()
}
unsafe extern "system" fn GetSymbolTypeName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolTypeName(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetSymbolTypeNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolTypeNameWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetSymbolSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolSize(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolOffset(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolRegister<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, register: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolRegister(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(register, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolValueText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolValueText(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetSymbolValueTextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolValueTextWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetSymbolEntryInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbolGroup2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, entry: *mut DEBUG_SYMBOL_ENTRY) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryInformation(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&entry)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetNumberSymbols: GetNumberSymbols::<Identity, Impl, OFFSET>,
AddSymbol: AddSymbol::<Identity, Impl, OFFSET>,
RemoveSymbolByName: RemoveSymbolByName::<Identity, Impl, OFFSET>,
RemoveSymbolByIndex: RemoveSymbolByIndex::<Identity, Impl, OFFSET>,
GetSymbolName: GetSymbolName::<Identity, Impl, OFFSET>,
GetSymbolParameters: GetSymbolParameters::<Identity, Impl, OFFSET>,
ExpandSymbol: ExpandSymbol::<Identity, Impl, OFFSET>,
OutputSymbols: OutputSymbols::<Identity, Impl, OFFSET>,
WriteSymbol: WriteSymbol::<Identity, Impl, OFFSET>,
OutputAsType: OutputAsType::<Identity, Impl, OFFSET>,
AddSymbolWide: AddSymbolWide::<Identity, Impl, OFFSET>,
RemoveSymbolByNameWide: RemoveSymbolByNameWide::<Identity, Impl, OFFSET>,
GetSymbolNameWide: GetSymbolNameWide::<Identity, Impl, OFFSET>,
WriteSymbolWide: WriteSymbolWide::<Identity, Impl, OFFSET>,
OutputAsTypeWide: OutputAsTypeWide::<Identity, Impl, OFFSET>,
GetSymbolTypeName: GetSymbolTypeName::<Identity, Impl, OFFSET>,
GetSymbolTypeNameWide: GetSymbolTypeNameWide::<Identity, Impl, OFFSET>,
GetSymbolSize: GetSymbolSize::<Identity, Impl, OFFSET>,
GetSymbolOffset: GetSymbolOffset::<Identity, Impl, OFFSET>,
GetSymbolRegister: GetSymbolRegister::<Identity, Impl, OFFSET>,
GetSymbolValueText: GetSymbolValueText::<Identity, Impl, OFFSET>,
GetSymbolValueTextWide: GetSymbolValueTextWide::<Identity, Impl, OFFSET>,
GetSymbolEntryInformation: GetSymbolEntryInformation::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSymbolGroup2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugSymbols_Impl: Sized {
fn GetSymbolOptions(&self) -> ::windows::core::Result<u32>;
fn AddSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetNameByOffset(&self, offset: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByName(&self, symbol: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNearNameByOffset(&self, offset: u64, delta: i32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByOffset(&self, offset: u64, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByLine(&self, line: u32, file: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNumberModules(&self, loaded: *mut u32, unloaded: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleByIndex(&self, index: u32) -> ::windows::core::Result<u64>;
fn GetModuleByModuleName(&self, name: &::windows::core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleByOffset(&self, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleNames(&self, index: u32, base: u64, imagenamebuffer: ::windows::core::PSTR, imagenamebuffersize: u32, imagenamesize: *mut u32, modulenamebuffer: ::windows::core::PSTR, modulenamebuffersize: u32, modulenamesize: *mut u32, loadedimagenamebuffer: ::windows::core::PSTR, loadedimagenamebuffersize: u32, loadedimagenamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleParameters(&self, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSymbolModule(&self, symbol: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetTypeName(&self, module: u64, typeid: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeId(&self, module: u64, name: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetTypeSize(&self, module: u64, typeid: u32) -> ::windows::core::Result<u32>;
fn GetFieldOffset(&self, module: u64, typeid: u32, field: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetSymbolTypeId(&self, symbol: &::windows::core::PCSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetTypeId(&self, offset: u64, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn ReadTypedDataVirtual(&self, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteTypedDataVirtual(&self, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn OutputTypedDataVirtual(&self, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::Result<()>;
fn ReadTypedDataPhysical(&self, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteTypedDataPhysical(&self, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn OutputTypedDataPhysical(&self, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetScope(&self, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn SetScope(&self, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn ResetScope(&self) -> ::windows::core::Result<()>;
fn GetScopeSymbolGroup(&self, flags: u32, update: ::core::option::Option<&IDebugSymbolGroup>) -> ::windows::core::Result<IDebugSymbolGroup>;
fn CreateSymbolGroup(&self) -> ::windows::core::Result<IDebugSymbolGroup>;
fn StartSymbolMatch(&self, pattern: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNextSymbolMatch(&self, handle: u64, buffer: ::windows::core::PSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::Result<()>;
fn EndSymbolMatch(&self, handle: u64) -> ::windows::core::Result<()>;
fn Reload(&self, module: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSymbolPath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSymbolPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendSymbolPath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetImagePath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetImagePath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendImagePath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSourcePath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourcePathElement(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSourcePath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendSourcePath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn FindSourceFile(&self, startelement: u32, file: &::windows::core::PCSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileLineOffsets(&self, file: &::windows::core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugSymbols {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugSymbols_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>() -> IDebugSymbols_Vtbl {
unsafe extern "system" fn GetSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByName(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNearNameByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByLine<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByLine(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberModules<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, loaded: *mut u32, unloaded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberModules(::core::mem::transmute_copy(&loaded), ::core::mem::transmute_copy(&unloaded)).into()
}
unsafe extern "system" fn GetModuleByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetModuleByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleName(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, imagenamebuffer: ::windows::core::PSTR, imagenamebuffersize: u32, imagenamesize: *mut u32, modulenamebuffer: ::windows::core::PSTR, modulenamebuffersize: u32, modulenamesize: *mut u32, loadedimagenamebuffer: ::windows::core::PSTR, loadedimagenamebuffersize: u32, loadedimagenamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNames(
::core::mem::transmute_copy(&index),
::core::mem::transmute_copy(&base),
::core::mem::transmute_copy(&imagenamebuffer),
::core::mem::transmute_copy(&imagenamebuffersize),
::core::mem::transmute_copy(&imagenamesize),
::core::mem::transmute_copy(&modulenamebuffer),
::core::mem::transmute_copy(&modulenamebuffersize),
::core::mem::transmute_copy(&modulenamesize),
::core::mem::transmute_copy(&loadedimagenamebuffer),
::core::mem::transmute_copy(&loadedimagenamebuffersize),
::core::mem::transmute_copy(&loadedimagenamesize),
)
.into()
}
unsafe extern "system" fn GetModuleParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&bases), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSymbolModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolModule(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTypeName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, name: ::windows::core::PCSTR, typeid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeId(::core::mem::transmute_copy(&module), ::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(typeid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeSize(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, field: ::windows::core::PCSTR, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFieldOffset(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute(&field)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolTypeId(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetOffsetTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOffsetTypeId(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn ReadTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTypedDataVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteTypedDataVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn OutputTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTypedDataVirtual(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ReadTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTypedDataPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteTypedDataPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn OutputTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTypedDataPhysical(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScope(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn SetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScope(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn ResetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetScope().into()
}
unsafe extern "system" fn GetScopeSymbolGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, update: *mut ::core::ffi::c_void, symbols: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScopeSymbolGroup(::core::mem::transmute_copy(&flags), ::windows::core::from_raw_borrowed(&update)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbols, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, group: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateSymbolGroup() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(group, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattern: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StartSymbolMatch(::core::mem::transmute(&pattern)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, buffer: ::windows::core::PSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNextSymbolMatch(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&matchsize), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn EndSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSymbolMatch(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Reload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reload(::core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolPath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolPath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSymbolPath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetImagePath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImagePath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendImagePath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn GetSourcePathElement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePathElement(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&elementsize)).into()
}
unsafe extern "system" fn SetSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSourcePath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSourcePath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, file: ::windows::core::PCSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFile(::core::mem::transmute_copy(&startelement), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSourceFileLineOffsets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileLineOffsets(::core::mem::transmute(&file), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&bufferlines), ::core::mem::transmute_copy(&filelines)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSymbolOptions: GetSymbolOptions::<Identity, Impl, OFFSET>,
AddSymbolOptions: AddSymbolOptions::<Identity, Impl, OFFSET>,
RemoveSymbolOptions: RemoveSymbolOptions::<Identity, Impl, OFFSET>,
SetSymbolOptions: SetSymbolOptions::<Identity, Impl, OFFSET>,
GetNameByOffset: GetNameByOffset::<Identity, Impl, OFFSET>,
GetOffsetByName: GetOffsetByName::<Identity, Impl, OFFSET>,
GetNearNameByOffset: GetNearNameByOffset::<Identity, Impl, OFFSET>,
GetLineByOffset: GetLineByOffset::<Identity, Impl, OFFSET>,
GetOffsetByLine: GetOffsetByLine::<Identity, Impl, OFFSET>,
GetNumberModules: GetNumberModules::<Identity, Impl, OFFSET>,
GetModuleByIndex: GetModuleByIndex::<Identity, Impl, OFFSET>,
GetModuleByModuleName: GetModuleByModuleName::<Identity, Impl, OFFSET>,
GetModuleByOffset: GetModuleByOffset::<Identity, Impl, OFFSET>,
GetModuleNames: GetModuleNames::<Identity, Impl, OFFSET>,
GetModuleParameters: GetModuleParameters::<Identity, Impl, OFFSET>,
GetSymbolModule: GetSymbolModule::<Identity, Impl, OFFSET>,
GetTypeName: GetTypeName::<Identity, Impl, OFFSET>,
GetTypeId: GetTypeId::<Identity, Impl, OFFSET>,
GetTypeSize: GetTypeSize::<Identity, Impl, OFFSET>,
GetFieldOffset: GetFieldOffset::<Identity, Impl, OFFSET>,
GetSymbolTypeId: GetSymbolTypeId::<Identity, Impl, OFFSET>,
GetOffsetTypeId: GetOffsetTypeId::<Identity, Impl, OFFSET>,
ReadTypedDataVirtual: ReadTypedDataVirtual::<Identity, Impl, OFFSET>,
WriteTypedDataVirtual: WriteTypedDataVirtual::<Identity, Impl, OFFSET>,
OutputTypedDataVirtual: OutputTypedDataVirtual::<Identity, Impl, OFFSET>,
ReadTypedDataPhysical: ReadTypedDataPhysical::<Identity, Impl, OFFSET>,
WriteTypedDataPhysical: WriteTypedDataPhysical::<Identity, Impl, OFFSET>,
OutputTypedDataPhysical: OutputTypedDataPhysical::<Identity, Impl, OFFSET>,
GetScope: GetScope::<Identity, Impl, OFFSET>,
SetScope: SetScope::<Identity, Impl, OFFSET>,
ResetScope: ResetScope::<Identity, Impl, OFFSET>,
GetScopeSymbolGroup: GetScopeSymbolGroup::<Identity, Impl, OFFSET>,
CreateSymbolGroup: CreateSymbolGroup::<Identity, Impl, OFFSET>,
StartSymbolMatch: StartSymbolMatch::<Identity, Impl, OFFSET>,
GetNextSymbolMatch: GetNextSymbolMatch::<Identity, Impl, OFFSET>,
EndSymbolMatch: EndSymbolMatch::<Identity, Impl, OFFSET>,
Reload: Reload::<Identity, Impl, OFFSET>,
GetSymbolPath: GetSymbolPath::<Identity, Impl, OFFSET>,
SetSymbolPath: SetSymbolPath::<Identity, Impl, OFFSET>,
AppendSymbolPath: AppendSymbolPath::<Identity, Impl, OFFSET>,
GetImagePath: GetImagePath::<Identity, Impl, OFFSET>,
SetImagePath: SetImagePath::<Identity, Impl, OFFSET>,
AppendImagePath: AppendImagePath::<Identity, Impl, OFFSET>,
GetSourcePath: GetSourcePath::<Identity, Impl, OFFSET>,
GetSourcePathElement: GetSourcePathElement::<Identity, Impl, OFFSET>,
SetSourcePath: SetSourcePath::<Identity, Impl, OFFSET>,
AppendSourcePath: AppendSourcePath::<Identity, Impl, OFFSET>,
FindSourceFile: FindSourceFile::<Identity, Impl, OFFSET>,
GetSourceFileLineOffsets: GetSourceFileLineOffsets::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSymbols as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugSymbols2_Impl: Sized {
fn GetSymbolOptions(&self) -> ::windows::core::Result<u32>;
fn AddSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetNameByOffset(&self, offset: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByName(&self, symbol: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNearNameByOffset(&self, offset: u64, delta: i32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByOffset(&self, offset: u64, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByLine(&self, line: u32, file: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNumberModules(&self, loaded: *mut u32, unloaded: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleByIndex(&self, index: u32) -> ::windows::core::Result<u64>;
fn GetModuleByModuleName(&self, name: &::windows::core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleByOffset(&self, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleNames(&self, index: u32, base: u64, imagenamebuffer: ::windows::core::PSTR, imagenamebuffersize: u32, imagenamesize: *mut u32, modulenamebuffer: ::windows::core::PSTR, modulenamebuffersize: u32, modulenamesize: *mut u32, loadedimagenamebuffer: ::windows::core::PSTR, loadedimagenamebuffersize: u32, loadedimagenamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleParameters(&self, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSymbolModule(&self, symbol: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetTypeName(&self, module: u64, typeid: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeId(&self, module: u64, name: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetTypeSize(&self, module: u64, typeid: u32) -> ::windows::core::Result<u32>;
fn GetFieldOffset(&self, module: u64, typeid: u32, field: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetSymbolTypeId(&self, symbol: &::windows::core::PCSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetTypeId(&self, offset: u64, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn ReadTypedDataVirtual(&self, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteTypedDataVirtual(&self, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn OutputTypedDataVirtual(&self, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::Result<()>;
fn ReadTypedDataPhysical(&self, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteTypedDataPhysical(&self, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn OutputTypedDataPhysical(&self, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetScope(&self, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn SetScope(&self, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn ResetScope(&self) -> ::windows::core::Result<()>;
fn GetScopeSymbolGroup(&self, flags: u32, update: ::core::option::Option<&IDebugSymbolGroup>) -> ::windows::core::Result<IDebugSymbolGroup>;
fn CreateSymbolGroup(&self) -> ::windows::core::Result<IDebugSymbolGroup>;
fn StartSymbolMatch(&self, pattern: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNextSymbolMatch(&self, handle: u64, buffer: ::windows::core::PSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::Result<()>;
fn EndSymbolMatch(&self, handle: u64) -> ::windows::core::Result<()>;
fn Reload(&self, module: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSymbolPath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSymbolPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendSymbolPath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetImagePath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetImagePath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendImagePath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSourcePath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourcePathElement(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSourcePath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendSourcePath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn FindSourceFile(&self, startelement: u32, file: &::windows::core::PCSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileLineOffsets(&self, file: &::windows::core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleVersionInformation(&self, index: u32, base: u64, item: &::windows::core::PCSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleNameString(&self, which: u32, index: u32, base: u64, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetConstantName(&self, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldName(&self, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeOptions(&self) -> ::windows::core::Result<u32>;
fn AddTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugSymbols2 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugSymbols2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>() -> IDebugSymbols2_Vtbl {
unsafe extern "system" fn GetSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByName(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNearNameByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByLine<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByLine(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberModules<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, loaded: *mut u32, unloaded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberModules(::core::mem::transmute_copy(&loaded), ::core::mem::transmute_copy(&unloaded)).into()
}
unsafe extern "system" fn GetModuleByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetModuleByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleName(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, imagenamebuffer: ::windows::core::PSTR, imagenamebuffersize: u32, imagenamesize: *mut u32, modulenamebuffer: ::windows::core::PSTR, modulenamebuffersize: u32, modulenamesize: *mut u32, loadedimagenamebuffer: ::windows::core::PSTR, loadedimagenamebuffersize: u32, loadedimagenamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNames(
::core::mem::transmute_copy(&index),
::core::mem::transmute_copy(&base),
::core::mem::transmute_copy(&imagenamebuffer),
::core::mem::transmute_copy(&imagenamebuffersize),
::core::mem::transmute_copy(&imagenamesize),
::core::mem::transmute_copy(&modulenamebuffer),
::core::mem::transmute_copy(&modulenamebuffersize),
::core::mem::transmute_copy(&modulenamesize),
::core::mem::transmute_copy(&loadedimagenamebuffer),
::core::mem::transmute_copy(&loadedimagenamebuffersize),
::core::mem::transmute_copy(&loadedimagenamesize),
)
.into()
}
unsafe extern "system" fn GetModuleParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&bases), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSymbolModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolModule(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTypeName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, name: ::windows::core::PCSTR, typeid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeId(::core::mem::transmute_copy(&module), ::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(typeid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeSize(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, field: ::windows::core::PCSTR, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFieldOffset(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute(&field)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolTypeId(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetOffsetTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOffsetTypeId(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn ReadTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTypedDataVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteTypedDataVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn OutputTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTypedDataVirtual(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ReadTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTypedDataPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteTypedDataPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn OutputTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTypedDataPhysical(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScope(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn SetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScope(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn ResetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetScope().into()
}
unsafe extern "system" fn GetScopeSymbolGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, update: *mut ::core::ffi::c_void, symbols: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScopeSymbolGroup(::core::mem::transmute_copy(&flags), ::windows::core::from_raw_borrowed(&update)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbols, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, group: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateSymbolGroup() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(group, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattern: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StartSymbolMatch(::core::mem::transmute(&pattern)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, buffer: ::windows::core::PSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNextSymbolMatch(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&matchsize), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn EndSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSymbolMatch(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Reload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reload(::core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolPath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolPath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSymbolPath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetImagePath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImagePath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendImagePath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn GetSourcePathElement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePathElement(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&elementsize)).into()
}
unsafe extern "system" fn SetSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSourcePath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSourcePath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, file: ::windows::core::PCSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFile(::core::mem::transmute_copy(&startelement), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSourceFileLineOffsets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileLineOffsets(::core::mem::transmute(&file), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&bufferlines), ::core::mem::transmute_copy(&filelines)).into()
}
unsafe extern "system" fn GetModuleVersionInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, item: ::windows::core::PCSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleVersionInformation(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute(&item), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&verinfosize)).into()
}
unsafe extern "system" fn GetModuleNameString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, index: u32, base: u64, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNameString(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetConstantName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetConstantName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetFieldName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&fieldindex), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddTypeOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTypeOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTypeOptions(::core::mem::transmute_copy(&options)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSymbolOptions: GetSymbolOptions::<Identity, Impl, OFFSET>,
AddSymbolOptions: AddSymbolOptions::<Identity, Impl, OFFSET>,
RemoveSymbolOptions: RemoveSymbolOptions::<Identity, Impl, OFFSET>,
SetSymbolOptions: SetSymbolOptions::<Identity, Impl, OFFSET>,
GetNameByOffset: GetNameByOffset::<Identity, Impl, OFFSET>,
GetOffsetByName: GetOffsetByName::<Identity, Impl, OFFSET>,
GetNearNameByOffset: GetNearNameByOffset::<Identity, Impl, OFFSET>,
GetLineByOffset: GetLineByOffset::<Identity, Impl, OFFSET>,
GetOffsetByLine: GetOffsetByLine::<Identity, Impl, OFFSET>,
GetNumberModules: GetNumberModules::<Identity, Impl, OFFSET>,
GetModuleByIndex: GetModuleByIndex::<Identity, Impl, OFFSET>,
GetModuleByModuleName: GetModuleByModuleName::<Identity, Impl, OFFSET>,
GetModuleByOffset: GetModuleByOffset::<Identity, Impl, OFFSET>,
GetModuleNames: GetModuleNames::<Identity, Impl, OFFSET>,
GetModuleParameters: GetModuleParameters::<Identity, Impl, OFFSET>,
GetSymbolModule: GetSymbolModule::<Identity, Impl, OFFSET>,
GetTypeName: GetTypeName::<Identity, Impl, OFFSET>,
GetTypeId: GetTypeId::<Identity, Impl, OFFSET>,
GetTypeSize: GetTypeSize::<Identity, Impl, OFFSET>,
GetFieldOffset: GetFieldOffset::<Identity, Impl, OFFSET>,
GetSymbolTypeId: GetSymbolTypeId::<Identity, Impl, OFFSET>,
GetOffsetTypeId: GetOffsetTypeId::<Identity, Impl, OFFSET>,
ReadTypedDataVirtual: ReadTypedDataVirtual::<Identity, Impl, OFFSET>,
WriteTypedDataVirtual: WriteTypedDataVirtual::<Identity, Impl, OFFSET>,
OutputTypedDataVirtual: OutputTypedDataVirtual::<Identity, Impl, OFFSET>,
ReadTypedDataPhysical: ReadTypedDataPhysical::<Identity, Impl, OFFSET>,
WriteTypedDataPhysical: WriteTypedDataPhysical::<Identity, Impl, OFFSET>,
OutputTypedDataPhysical: OutputTypedDataPhysical::<Identity, Impl, OFFSET>,
GetScope: GetScope::<Identity, Impl, OFFSET>,
SetScope: SetScope::<Identity, Impl, OFFSET>,
ResetScope: ResetScope::<Identity, Impl, OFFSET>,
GetScopeSymbolGroup: GetScopeSymbolGroup::<Identity, Impl, OFFSET>,
CreateSymbolGroup: CreateSymbolGroup::<Identity, Impl, OFFSET>,
StartSymbolMatch: StartSymbolMatch::<Identity, Impl, OFFSET>,
GetNextSymbolMatch: GetNextSymbolMatch::<Identity, Impl, OFFSET>,
EndSymbolMatch: EndSymbolMatch::<Identity, Impl, OFFSET>,
Reload: Reload::<Identity, Impl, OFFSET>,
GetSymbolPath: GetSymbolPath::<Identity, Impl, OFFSET>,
SetSymbolPath: SetSymbolPath::<Identity, Impl, OFFSET>,
AppendSymbolPath: AppendSymbolPath::<Identity, Impl, OFFSET>,
GetImagePath: GetImagePath::<Identity, Impl, OFFSET>,
SetImagePath: SetImagePath::<Identity, Impl, OFFSET>,
AppendImagePath: AppendImagePath::<Identity, Impl, OFFSET>,
GetSourcePath: GetSourcePath::<Identity, Impl, OFFSET>,
GetSourcePathElement: GetSourcePathElement::<Identity, Impl, OFFSET>,
SetSourcePath: SetSourcePath::<Identity, Impl, OFFSET>,
AppendSourcePath: AppendSourcePath::<Identity, Impl, OFFSET>,
FindSourceFile: FindSourceFile::<Identity, Impl, OFFSET>,
GetSourceFileLineOffsets: GetSourceFileLineOffsets::<Identity, Impl, OFFSET>,
GetModuleVersionInformation: GetModuleVersionInformation::<Identity, Impl, OFFSET>,
GetModuleNameString: GetModuleNameString::<Identity, Impl, OFFSET>,
GetConstantName: GetConstantName::<Identity, Impl, OFFSET>,
GetFieldName: GetFieldName::<Identity, Impl, OFFSET>,
GetTypeOptions: GetTypeOptions::<Identity, Impl, OFFSET>,
AddTypeOptions: AddTypeOptions::<Identity, Impl, OFFSET>,
RemoveTypeOptions: RemoveTypeOptions::<Identity, Impl, OFFSET>,
SetTypeOptions: SetTypeOptions::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSymbols2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugSymbols3_Impl: Sized {
fn GetSymbolOptions(&self) -> ::windows::core::Result<u32>;
fn AddSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetNameByOffset(&self, offset: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByName(&self, symbol: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNearNameByOffset(&self, offset: u64, delta: i32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByOffset(&self, offset: u64, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByLine(&self, line: u32, file: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNumberModules(&self, loaded: *mut u32, unloaded: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleByIndex(&self, index: u32) -> ::windows::core::Result<u64>;
fn GetModuleByModuleName(&self, name: &::windows::core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleByOffset(&self, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleNames(&self, index: u32, base: u64, imagenamebuffer: ::windows::core::PSTR, imagenamebuffersize: u32, imagenamesize: *mut u32, modulenamebuffer: ::windows::core::PSTR, modulenamebuffersize: u32, modulenamesize: *mut u32, loadedimagenamebuffer: ::windows::core::PSTR, loadedimagenamebuffersize: u32, loadedimagenamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleParameters(&self, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSymbolModule(&self, symbol: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetTypeName(&self, module: u64, typeid: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeId(&self, module: u64, name: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetTypeSize(&self, module: u64, typeid: u32) -> ::windows::core::Result<u32>;
fn GetFieldOffset(&self, module: u64, typeid: u32, field: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetSymbolTypeId(&self, symbol: &::windows::core::PCSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetTypeId(&self, offset: u64, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn ReadTypedDataVirtual(&self, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteTypedDataVirtual(&self, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn OutputTypedDataVirtual(&self, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::Result<()>;
fn ReadTypedDataPhysical(&self, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteTypedDataPhysical(&self, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn OutputTypedDataPhysical(&self, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetScope(&self, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn SetScope(&self, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn ResetScope(&self) -> ::windows::core::Result<()>;
fn GetScopeSymbolGroup(&self, flags: u32, update: ::core::option::Option<&IDebugSymbolGroup>) -> ::windows::core::Result<IDebugSymbolGroup>;
fn CreateSymbolGroup(&self) -> ::windows::core::Result<IDebugSymbolGroup>;
fn StartSymbolMatch(&self, pattern: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNextSymbolMatch(&self, handle: u64, buffer: ::windows::core::PSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::Result<()>;
fn EndSymbolMatch(&self, handle: u64) -> ::windows::core::Result<()>;
fn Reload(&self, module: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSymbolPath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSymbolPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendSymbolPath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetImagePath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetImagePath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendImagePath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSourcePath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourcePathElement(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSourcePath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendSourcePath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn FindSourceFile(&self, startelement: u32, file: &::windows::core::PCSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileLineOffsets(&self, file: &::windows::core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleVersionInformation(&self, index: u32, base: u64, item: &::windows::core::PCSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleNameString(&self, which: u32, index: u32, base: u64, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetConstantName(&self, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldName(&self, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeOptions(&self) -> ::windows::core::Result<u32>;
fn AddTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetNameByOffsetWide(&self, offset: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByNameWide(&self, symbol: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetNearNameByOffsetWide(&self, offset: u64, delta: i32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByOffsetWide(&self, offset: u64, line: *mut u32, filebuffer: ::windows::core::PWSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByLineWide(&self, line: u32, file: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetModuleByModuleNameWide(&self, name: &::windows::core::PCWSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetSymbolModuleWide(&self, symbol: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetTypeNameWide(&self, module: u64, typeid: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeIdWide(&self, module: u64, name: &::windows::core::PCWSTR) -> ::windows::core::Result<u32>;
fn GetFieldOffsetWide(&self, module: u64, typeid: u32, field: &::windows::core::PCWSTR) -> ::windows::core::Result<u32>;
fn GetSymbolTypeIdWide(&self, symbol: &::windows::core::PCWSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn GetScopeSymbolGroup2(&self, flags: u32, update: ::core::option::Option<&IDebugSymbolGroup2>) -> ::windows::core::Result<IDebugSymbolGroup2>;
fn CreateSymbolGroup2(&self) -> ::windows::core::Result<IDebugSymbolGroup2>;
fn StartSymbolMatchWide(&self, pattern: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetNextSymbolMatchWide(&self, handle: u64, buffer: ::windows::core::PWSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::Result<()>;
fn ReloadWide(&self, module: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSymbolPathWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSymbolPathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AppendSymbolPathWide(&self, addition: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetImagePathWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetImagePathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AppendImagePathWide(&self, addition: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSourcePathWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourcePathElementWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSourcePathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AppendSourcePathWide(&self, addition: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn FindSourceFileWide(&self, startelement: u32, file: &::windows::core::PCWSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PWSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileLineOffsetsWide(&self, file: &::windows::core::PCWSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleVersionInformationWide(&self, index: u32, base: u64, item: &::windows::core::PCWSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleNameStringWide(&self, which: u32, index: u32, base: u64, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetConstantNameWide(&self, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldNameWide(&self, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn IsManagedModule(&self, index: u32, base: u64) -> ::windows::core::Result<()>;
fn GetModuleByModuleName2(&self, name: &::windows::core::PCSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleByModuleName2Wide(&self, name: &::windows::core::PCWSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleByOffset2(&self, offset: u64, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn AddSyntheticModule(&self, base: u64, size: u32, imagepath: &::windows::core::PCSTR, modulename: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn AddSyntheticModuleWide(&self, base: u64, size: u32, imagepath: &::windows::core::PCWSTR, modulename: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn RemoveSyntheticModule(&self, base: u64) -> ::windows::core::Result<()>;
fn GetCurrentScopeFrameIndex(&self) -> ::windows::core::Result<u32>;
fn SetScopeFrameByIndex(&self, index: u32) -> ::windows::core::Result<()>;
fn SetScopeFromJitDebugInfo(&self, outputcontrol: u32, infooffset: u64) -> ::windows::core::Result<()>;
fn SetScopeFromStoredEvent(&self) -> ::windows::core::Result<()>;
fn OutputSymbolByOffset(&self, outputcontrol: u32, flags: u32, offset: u64) -> ::windows::core::Result<()>;
fn GetFunctionEntryByOffset(&self, offset: u64, flags: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bufferneeded: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldTypeAndOffset(&self, module: u64, containertypeid: u32, field: &::windows::core::PCSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldTypeAndOffsetWide(&self, module: u64, containertypeid: u32, field: &::windows::core::PCWSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::Result<()>;
fn AddSyntheticSymbol(&self, offset: u64, size: u32, name: &::windows::core::PCSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::Result<()>;
fn AddSyntheticSymbolWide(&self, offset: u64, size: u32, name: &::windows::core::PCWSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::Result<()>;
fn RemoveSyntheticSymbol(&self, id: *const DEBUG_MODULE_AND_ID) -> ::windows::core::Result<()>;
fn GetSymbolEntriesByOffset(&self, offset: u64, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, displacements: *mut u64, idscount: u32, entries: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntriesByName(&self, symbol: &::windows::core::PCSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntriesByNameWide(&self, symbol: &::windows::core::PCWSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryByToken(&self, modulebase: u64, token: u32) -> ::windows::core::Result<DEBUG_MODULE_AND_ID>;
fn GetSymbolEntryInformation(&self, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> ::windows::core::Result<()>;
fn GetSymbolEntryString(&self, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryStringWide(&self, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryOffsetRegions(&self, id: *const DEBUG_MODULE_AND_ID, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryBySymbolEntry(&self, fromid: *const DEBUG_MODULE_AND_ID, flags: u32) -> ::windows::core::Result<DEBUG_MODULE_AND_ID>;
fn GetSourceEntriesByOffset(&self, offset: u64, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntriesByLine(&self, line: u32, file: &::windows::core::PCSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntriesByLineWide(&self, line: u32, file: &::windows::core::PCWSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryString(&self, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryStringWide(&self, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryOffsetRegions(&self, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryBySourceEntry(&self, fromentry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, toentry: *mut DEBUG_SYMBOL_SOURCE_ENTRY) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugSymbols3 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugSymbols3_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>() -> IDebugSymbols3_Vtbl {
unsafe extern "system" fn GetSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByName(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNearNameByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByLine<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByLine(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberModules<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, loaded: *mut u32, unloaded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberModules(::core::mem::transmute_copy(&loaded), ::core::mem::transmute_copy(&unloaded)).into()
}
unsafe extern "system" fn GetModuleByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetModuleByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleName(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, imagenamebuffer: ::windows::core::PSTR, imagenamebuffersize: u32, imagenamesize: *mut u32, modulenamebuffer: ::windows::core::PSTR, modulenamebuffersize: u32, modulenamesize: *mut u32, loadedimagenamebuffer: ::windows::core::PSTR, loadedimagenamebuffersize: u32, loadedimagenamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNames(
::core::mem::transmute_copy(&index),
::core::mem::transmute_copy(&base),
::core::mem::transmute_copy(&imagenamebuffer),
::core::mem::transmute_copy(&imagenamebuffersize),
::core::mem::transmute_copy(&imagenamesize),
::core::mem::transmute_copy(&modulenamebuffer),
::core::mem::transmute_copy(&modulenamebuffersize),
::core::mem::transmute_copy(&modulenamesize),
::core::mem::transmute_copy(&loadedimagenamebuffer),
::core::mem::transmute_copy(&loadedimagenamebuffersize),
::core::mem::transmute_copy(&loadedimagenamesize),
)
.into()
}
unsafe extern "system" fn GetModuleParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&bases), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSymbolModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolModule(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTypeName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, name: ::windows::core::PCSTR, typeid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeId(::core::mem::transmute_copy(&module), ::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(typeid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeSize(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, field: ::windows::core::PCSTR, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFieldOffset(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute(&field)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolTypeId(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetOffsetTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOffsetTypeId(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn ReadTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTypedDataVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteTypedDataVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn OutputTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTypedDataVirtual(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ReadTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTypedDataPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteTypedDataPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn OutputTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTypedDataPhysical(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScope(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn SetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScope(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn ResetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetScope().into()
}
unsafe extern "system" fn GetScopeSymbolGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, update: *mut ::core::ffi::c_void, symbols: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScopeSymbolGroup(::core::mem::transmute_copy(&flags), ::windows::core::from_raw_borrowed(&update)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbols, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, group: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateSymbolGroup() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(group, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattern: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StartSymbolMatch(::core::mem::transmute(&pattern)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, buffer: ::windows::core::PSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNextSymbolMatch(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&matchsize), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn EndSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSymbolMatch(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Reload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reload(::core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolPath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolPath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSymbolPath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetImagePath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImagePath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendImagePath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn GetSourcePathElement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePathElement(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&elementsize)).into()
}
unsafe extern "system" fn SetSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSourcePath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSourcePath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, file: ::windows::core::PCSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFile(::core::mem::transmute_copy(&startelement), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSourceFileLineOffsets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileLineOffsets(::core::mem::transmute(&file), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&bufferlines), ::core::mem::transmute_copy(&filelines)).into()
}
unsafe extern "system" fn GetModuleVersionInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, item: ::windows::core::PCSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleVersionInformation(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute(&item), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&verinfosize)).into()
}
unsafe extern "system" fn GetModuleNameString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, index: u32, base: u64, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNameString(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetConstantName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetConstantName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetFieldName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&fieldindex), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddTypeOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTypeOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTypeOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByOffsetWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByNameWide(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNearNameByOffsetWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, line: *mut u32, filebuffer: ::windows::core::PWSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByOffsetWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByLineWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCWSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByLineWide(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleNameWide(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetSymbolModuleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolModuleWide(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTypeNameWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeIdWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, name: ::windows::core::PCWSTR, typeid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeIdWide(::core::mem::transmute_copy(&module), ::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(typeid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, field: ::windows::core::PCWSTR, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFieldOffsetWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute(&field)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeIdWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolTypeIdWide(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetScopeSymbolGroup2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, update: *mut ::core::ffi::c_void, symbols: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScopeSymbolGroup2(::core::mem::transmute_copy(&flags), ::windows::core::from_raw_borrowed(&update)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbols, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, group: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateSymbolGroup2() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(group, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatchWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattern: ::windows::core::PCWSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StartSymbolMatchWide(::core::mem::transmute(&pattern)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatchWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, buffer: ::windows::core::PWSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNextSymbolMatchWide(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&matchsize), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn ReloadWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReloadWide(::core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolPathWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetSymbolPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolPathWide(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSymbolPathWide(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetImagePathWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetImagePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImagePathWide(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendImagePathWide(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePathWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn GetSourcePathElementWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePathElementWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&elementsize)).into()
}
unsafe extern "system" fn SetSourcePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSourcePathWide(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSourcePathWide(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, file: ::windows::core::PCWSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PWSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFileWide(::core::mem::transmute_copy(&startelement), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSourceFileLineOffsetsWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCWSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileLineOffsetsWide(::core::mem::transmute(&file), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&bufferlines), ::core::mem::transmute_copy(&filelines)).into()
}
unsafe extern "system" fn GetModuleVersionInformationWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, item: ::windows::core::PCWSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleVersionInformationWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute(&item), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&verinfosize)).into()
}
unsafe extern "system" fn GetModuleNameStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, index: u32, base: u64, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNameStringWide(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetConstantNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetConstantNameWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetFieldNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldNameWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&fieldindex), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn IsManagedModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsManagedModule(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByModuleName2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleName2(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByModuleName2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleName2Wide(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByOffset2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByOffset2(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn AddSyntheticModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, base: u64, size: u32, imagepath: ::windows::core::PCSTR, modulename: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticModule(::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&imagepath), ::core::mem::transmute(&modulename), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn AddSyntheticModuleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, base: u64, size: u32, imagepath: ::windows::core::PCWSTR, modulename: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticModuleWide(::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&imagepath), ::core::mem::transmute(&modulename), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn RemoveSyntheticModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, base: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSyntheticModule(::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetCurrentScopeFrameIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentScopeFrameIndex() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetScopeFrameByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeFrameByIndex(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn SetScopeFromJitDebugInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, infooffset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeFromJitDebugInfo(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&infooffset)).into()
}
unsafe extern "system" fn SetScopeFromStoredEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeFromStoredEvent().into()
}
unsafe extern "system" fn OutputSymbolByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputSymbolByOffset(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetFunctionEntryByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bufferneeded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFunctionEntryByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bufferneeded)).into()
}
unsafe extern "system" fn GetFieldTypeAndOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, containertypeid: u32, field: ::windows::core::PCSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldTypeAndOffset(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&containertypeid), ::core::mem::transmute(&field), ::core::mem::transmute_copy(&fieldtypeid), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetFieldTypeAndOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, containertypeid: u32, field: ::windows::core::PCWSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldTypeAndOffsetWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&containertypeid), ::core::mem::transmute(&field), ::core::mem::transmute_copy(&fieldtypeid), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn AddSyntheticSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, size: u32, name: ::windows::core::PCSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticSymbol(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&name), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn AddSyntheticSymbolWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, size: u32, name: ::windows::core::PCWSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticSymbolWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&name), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn RemoveSyntheticSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSyntheticSymbol(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetSymbolEntriesByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, displacements: *mut u64, idscount: u32, entries: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntriesByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&displacements), ::core::mem::transmute_copy(&idscount), ::core::mem::transmute_copy(&entries)).into()
}
unsafe extern "system" fn GetSymbolEntriesByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntriesByName(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&idscount), ::core::mem::transmute_copy(&entries)).into()
}
unsafe extern "system" fn GetSymbolEntriesByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntriesByNameWide(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&idscount), ::core::mem::transmute_copy(&entries)).into()
}
unsafe extern "system" fn GetSymbolEntryByToken<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modulebase: u64, token: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolEntryByToken(::core::mem::transmute_copy(&modulebase), ::core::mem::transmute_copy(&token)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolEntryInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryInformation(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&info)).into()
}
unsafe extern "system" fn GetSymbolEntryString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryString(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSymbolEntryStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryStringWide(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSymbolEntryOffsetRegions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryOffsetRegions(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&regions), ::core::mem::transmute_copy(&regionscount), ::core::mem::transmute_copy(&regionsavail)).into()
}
unsafe extern "system" fn GetSymbolEntryBySymbolEntry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fromid: *const DEBUG_MODULE_AND_ID, flags: u32, toid: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolEntryBySymbolEntry(::core::mem::transmute_copy(&fromid), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(toid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSourceEntriesByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntriesByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&entries), ::core::mem::transmute_copy(&entriescount), ::core::mem::transmute_copy(&entriesavail)).into()
}
unsafe extern "system" fn GetSourceEntriesByLine<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntriesByLine(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&entries), ::core::mem::transmute_copy(&entriescount), ::core::mem::transmute_copy(&entriesavail)).into()
}
unsafe extern "system" fn GetSourceEntriesByLineWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCWSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntriesByLineWide(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&entries), ::core::mem::transmute_copy(&entriescount), ::core::mem::transmute_copy(&entriesavail)).into()
}
unsafe extern "system" fn GetSourceEntryString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryString(::core::mem::transmute_copy(&entry), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSourceEntryStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryStringWide(::core::mem::transmute_copy(&entry), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSourceEntryOffsetRegions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryOffsetRegions(::core::mem::transmute_copy(&entry), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&regions), ::core::mem::transmute_copy(&regionscount), ::core::mem::transmute_copy(&regionsavail)).into()
}
unsafe extern "system" fn GetSourceEntryBySourceEntry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fromentry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, toentry: *mut DEBUG_SYMBOL_SOURCE_ENTRY) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryBySourceEntry(::core::mem::transmute_copy(&fromentry), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&toentry)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSymbolOptions: GetSymbolOptions::<Identity, Impl, OFFSET>,
AddSymbolOptions: AddSymbolOptions::<Identity, Impl, OFFSET>,
RemoveSymbolOptions: RemoveSymbolOptions::<Identity, Impl, OFFSET>,
SetSymbolOptions: SetSymbolOptions::<Identity, Impl, OFFSET>,
GetNameByOffset: GetNameByOffset::<Identity, Impl, OFFSET>,
GetOffsetByName: GetOffsetByName::<Identity, Impl, OFFSET>,
GetNearNameByOffset: GetNearNameByOffset::<Identity, Impl, OFFSET>,
GetLineByOffset: GetLineByOffset::<Identity, Impl, OFFSET>,
GetOffsetByLine: GetOffsetByLine::<Identity, Impl, OFFSET>,
GetNumberModules: GetNumberModules::<Identity, Impl, OFFSET>,
GetModuleByIndex: GetModuleByIndex::<Identity, Impl, OFFSET>,
GetModuleByModuleName: GetModuleByModuleName::<Identity, Impl, OFFSET>,
GetModuleByOffset: GetModuleByOffset::<Identity, Impl, OFFSET>,
GetModuleNames: GetModuleNames::<Identity, Impl, OFFSET>,
GetModuleParameters: GetModuleParameters::<Identity, Impl, OFFSET>,
GetSymbolModule: GetSymbolModule::<Identity, Impl, OFFSET>,
GetTypeName: GetTypeName::<Identity, Impl, OFFSET>,
GetTypeId: GetTypeId::<Identity, Impl, OFFSET>,
GetTypeSize: GetTypeSize::<Identity, Impl, OFFSET>,
GetFieldOffset: GetFieldOffset::<Identity, Impl, OFFSET>,
GetSymbolTypeId: GetSymbolTypeId::<Identity, Impl, OFFSET>,
GetOffsetTypeId: GetOffsetTypeId::<Identity, Impl, OFFSET>,
ReadTypedDataVirtual: ReadTypedDataVirtual::<Identity, Impl, OFFSET>,
WriteTypedDataVirtual: WriteTypedDataVirtual::<Identity, Impl, OFFSET>,
OutputTypedDataVirtual: OutputTypedDataVirtual::<Identity, Impl, OFFSET>,
ReadTypedDataPhysical: ReadTypedDataPhysical::<Identity, Impl, OFFSET>,
WriteTypedDataPhysical: WriteTypedDataPhysical::<Identity, Impl, OFFSET>,
OutputTypedDataPhysical: OutputTypedDataPhysical::<Identity, Impl, OFFSET>,
GetScope: GetScope::<Identity, Impl, OFFSET>,
SetScope: SetScope::<Identity, Impl, OFFSET>,
ResetScope: ResetScope::<Identity, Impl, OFFSET>,
GetScopeSymbolGroup: GetScopeSymbolGroup::<Identity, Impl, OFFSET>,
CreateSymbolGroup: CreateSymbolGroup::<Identity, Impl, OFFSET>,
StartSymbolMatch: StartSymbolMatch::<Identity, Impl, OFFSET>,
GetNextSymbolMatch: GetNextSymbolMatch::<Identity, Impl, OFFSET>,
EndSymbolMatch: EndSymbolMatch::<Identity, Impl, OFFSET>,
Reload: Reload::<Identity, Impl, OFFSET>,
GetSymbolPath: GetSymbolPath::<Identity, Impl, OFFSET>,
SetSymbolPath: SetSymbolPath::<Identity, Impl, OFFSET>,
AppendSymbolPath: AppendSymbolPath::<Identity, Impl, OFFSET>,
GetImagePath: GetImagePath::<Identity, Impl, OFFSET>,
SetImagePath: SetImagePath::<Identity, Impl, OFFSET>,
AppendImagePath: AppendImagePath::<Identity, Impl, OFFSET>,
GetSourcePath: GetSourcePath::<Identity, Impl, OFFSET>,
GetSourcePathElement: GetSourcePathElement::<Identity, Impl, OFFSET>,
SetSourcePath: SetSourcePath::<Identity, Impl, OFFSET>,
AppendSourcePath: AppendSourcePath::<Identity, Impl, OFFSET>,
FindSourceFile: FindSourceFile::<Identity, Impl, OFFSET>,
GetSourceFileLineOffsets: GetSourceFileLineOffsets::<Identity, Impl, OFFSET>,
GetModuleVersionInformation: GetModuleVersionInformation::<Identity, Impl, OFFSET>,
GetModuleNameString: GetModuleNameString::<Identity, Impl, OFFSET>,
GetConstantName: GetConstantName::<Identity, Impl, OFFSET>,
GetFieldName: GetFieldName::<Identity, Impl, OFFSET>,
GetTypeOptions: GetTypeOptions::<Identity, Impl, OFFSET>,
AddTypeOptions: AddTypeOptions::<Identity, Impl, OFFSET>,
RemoveTypeOptions: RemoveTypeOptions::<Identity, Impl, OFFSET>,
SetTypeOptions: SetTypeOptions::<Identity, Impl, OFFSET>,
GetNameByOffsetWide: GetNameByOffsetWide::<Identity, Impl, OFFSET>,
GetOffsetByNameWide: GetOffsetByNameWide::<Identity, Impl, OFFSET>,
GetNearNameByOffsetWide: GetNearNameByOffsetWide::<Identity, Impl, OFFSET>,
GetLineByOffsetWide: GetLineByOffsetWide::<Identity, Impl, OFFSET>,
GetOffsetByLineWide: GetOffsetByLineWide::<Identity, Impl, OFFSET>,
GetModuleByModuleNameWide: GetModuleByModuleNameWide::<Identity, Impl, OFFSET>,
GetSymbolModuleWide: GetSymbolModuleWide::<Identity, Impl, OFFSET>,
GetTypeNameWide: GetTypeNameWide::<Identity, Impl, OFFSET>,
GetTypeIdWide: GetTypeIdWide::<Identity, Impl, OFFSET>,
GetFieldOffsetWide: GetFieldOffsetWide::<Identity, Impl, OFFSET>,
GetSymbolTypeIdWide: GetSymbolTypeIdWide::<Identity, Impl, OFFSET>,
GetScopeSymbolGroup2: GetScopeSymbolGroup2::<Identity, Impl, OFFSET>,
CreateSymbolGroup2: CreateSymbolGroup2::<Identity, Impl, OFFSET>,
StartSymbolMatchWide: StartSymbolMatchWide::<Identity, Impl, OFFSET>,
GetNextSymbolMatchWide: GetNextSymbolMatchWide::<Identity, Impl, OFFSET>,
ReloadWide: ReloadWide::<Identity, Impl, OFFSET>,
GetSymbolPathWide: GetSymbolPathWide::<Identity, Impl, OFFSET>,
SetSymbolPathWide: SetSymbolPathWide::<Identity, Impl, OFFSET>,
AppendSymbolPathWide: AppendSymbolPathWide::<Identity, Impl, OFFSET>,
GetImagePathWide: GetImagePathWide::<Identity, Impl, OFFSET>,
SetImagePathWide: SetImagePathWide::<Identity, Impl, OFFSET>,
AppendImagePathWide: AppendImagePathWide::<Identity, Impl, OFFSET>,
GetSourcePathWide: GetSourcePathWide::<Identity, Impl, OFFSET>,
GetSourcePathElementWide: GetSourcePathElementWide::<Identity, Impl, OFFSET>,
SetSourcePathWide: SetSourcePathWide::<Identity, Impl, OFFSET>,
AppendSourcePathWide: AppendSourcePathWide::<Identity, Impl, OFFSET>,
FindSourceFileWide: FindSourceFileWide::<Identity, Impl, OFFSET>,
GetSourceFileLineOffsetsWide: GetSourceFileLineOffsetsWide::<Identity, Impl, OFFSET>,
GetModuleVersionInformationWide: GetModuleVersionInformationWide::<Identity, Impl, OFFSET>,
GetModuleNameStringWide: GetModuleNameStringWide::<Identity, Impl, OFFSET>,
GetConstantNameWide: GetConstantNameWide::<Identity, Impl, OFFSET>,
GetFieldNameWide: GetFieldNameWide::<Identity, Impl, OFFSET>,
IsManagedModule: IsManagedModule::<Identity, Impl, OFFSET>,
GetModuleByModuleName2: GetModuleByModuleName2::<Identity, Impl, OFFSET>,
GetModuleByModuleName2Wide: GetModuleByModuleName2Wide::<Identity, Impl, OFFSET>,
GetModuleByOffset2: GetModuleByOffset2::<Identity, Impl, OFFSET>,
AddSyntheticModule: AddSyntheticModule::<Identity, Impl, OFFSET>,
AddSyntheticModuleWide: AddSyntheticModuleWide::<Identity, Impl, OFFSET>,
RemoveSyntheticModule: RemoveSyntheticModule::<Identity, Impl, OFFSET>,
GetCurrentScopeFrameIndex: GetCurrentScopeFrameIndex::<Identity, Impl, OFFSET>,
SetScopeFrameByIndex: SetScopeFrameByIndex::<Identity, Impl, OFFSET>,
SetScopeFromJitDebugInfo: SetScopeFromJitDebugInfo::<Identity, Impl, OFFSET>,
SetScopeFromStoredEvent: SetScopeFromStoredEvent::<Identity, Impl, OFFSET>,
OutputSymbolByOffset: OutputSymbolByOffset::<Identity, Impl, OFFSET>,
GetFunctionEntryByOffset: GetFunctionEntryByOffset::<Identity, Impl, OFFSET>,
GetFieldTypeAndOffset: GetFieldTypeAndOffset::<Identity, Impl, OFFSET>,
GetFieldTypeAndOffsetWide: GetFieldTypeAndOffsetWide::<Identity, Impl, OFFSET>,
AddSyntheticSymbol: AddSyntheticSymbol::<Identity, Impl, OFFSET>,
AddSyntheticSymbolWide: AddSyntheticSymbolWide::<Identity, Impl, OFFSET>,
RemoveSyntheticSymbol: RemoveSyntheticSymbol::<Identity, Impl, OFFSET>,
GetSymbolEntriesByOffset: GetSymbolEntriesByOffset::<Identity, Impl, OFFSET>,
GetSymbolEntriesByName: GetSymbolEntriesByName::<Identity, Impl, OFFSET>,
GetSymbolEntriesByNameWide: GetSymbolEntriesByNameWide::<Identity, Impl, OFFSET>,
GetSymbolEntryByToken: GetSymbolEntryByToken::<Identity, Impl, OFFSET>,
GetSymbolEntryInformation: GetSymbolEntryInformation::<Identity, Impl, OFFSET>,
GetSymbolEntryString: GetSymbolEntryString::<Identity, Impl, OFFSET>,
GetSymbolEntryStringWide: GetSymbolEntryStringWide::<Identity, Impl, OFFSET>,
GetSymbolEntryOffsetRegions: GetSymbolEntryOffsetRegions::<Identity, Impl, OFFSET>,
GetSymbolEntryBySymbolEntry: GetSymbolEntryBySymbolEntry::<Identity, Impl, OFFSET>,
GetSourceEntriesByOffset: GetSourceEntriesByOffset::<Identity, Impl, OFFSET>,
GetSourceEntriesByLine: GetSourceEntriesByLine::<Identity, Impl, OFFSET>,
GetSourceEntriesByLineWide: GetSourceEntriesByLineWide::<Identity, Impl, OFFSET>,
GetSourceEntryString: GetSourceEntryString::<Identity, Impl, OFFSET>,
GetSourceEntryStringWide: GetSourceEntryStringWide::<Identity, Impl, OFFSET>,
GetSourceEntryOffsetRegions: GetSourceEntryOffsetRegions::<Identity, Impl, OFFSET>,
GetSourceEntryBySourceEntry: GetSourceEntryBySourceEntry::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSymbols3 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugSymbols4_Impl: Sized {
fn GetSymbolOptions(&self) -> ::windows::core::Result<u32>;
fn AddSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetNameByOffset(&self, offset: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByName(&self, symbol: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNearNameByOffset(&self, offset: u64, delta: i32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByOffset(&self, offset: u64, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByLine(&self, line: u32, file: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNumberModules(&self, loaded: *mut u32, unloaded: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleByIndex(&self, index: u32) -> ::windows::core::Result<u64>;
fn GetModuleByModuleName(&self, name: &::windows::core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleByOffset(&self, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleNames(&self, index: u32, base: u64, imagenamebuffer: ::windows::core::PSTR, imagenamebuffersize: u32, imagenamesize: *mut u32, modulenamebuffer: ::windows::core::PSTR, modulenamebuffersize: u32, modulenamesize: *mut u32, loadedimagenamebuffer: ::windows::core::PSTR, loadedimagenamebuffersize: u32, loadedimagenamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleParameters(&self, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSymbolModule(&self, symbol: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetTypeName(&self, module: u64, typeid: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeId(&self, module: u64, name: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetTypeSize(&self, module: u64, typeid: u32) -> ::windows::core::Result<u32>;
fn GetFieldOffset(&self, module: u64, typeid: u32, field: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetSymbolTypeId(&self, symbol: &::windows::core::PCSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetTypeId(&self, offset: u64, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn ReadTypedDataVirtual(&self, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteTypedDataVirtual(&self, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn OutputTypedDataVirtual(&self, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::Result<()>;
fn ReadTypedDataPhysical(&self, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteTypedDataPhysical(&self, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn OutputTypedDataPhysical(&self, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetScope(&self, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn SetScope(&self, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn ResetScope(&self) -> ::windows::core::Result<()>;
fn GetScopeSymbolGroup(&self, flags: u32, update: ::core::option::Option<&IDebugSymbolGroup>) -> ::windows::core::Result<IDebugSymbolGroup>;
fn CreateSymbolGroup(&self) -> ::windows::core::Result<IDebugSymbolGroup>;
fn StartSymbolMatch(&self, pattern: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNextSymbolMatch(&self, handle: u64, buffer: ::windows::core::PSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::Result<()>;
fn EndSymbolMatch(&self, handle: u64) -> ::windows::core::Result<()>;
fn Reload(&self, module: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSymbolPath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSymbolPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendSymbolPath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetImagePath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetImagePath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendImagePath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSourcePath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourcePathElement(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSourcePath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendSourcePath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn FindSourceFile(&self, startelement: u32, file: &::windows::core::PCSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileLineOffsets(&self, file: &::windows::core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleVersionInformation(&self, index: u32, base: u64, item: &::windows::core::PCSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleNameString(&self, which: u32, index: u32, base: u64, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetConstantName(&self, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldName(&self, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeOptions(&self) -> ::windows::core::Result<u32>;
fn AddTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetNameByOffsetWide(&self, offset: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByNameWide(&self, symbol: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetNearNameByOffsetWide(&self, offset: u64, delta: i32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByOffsetWide(&self, offset: u64, line: *mut u32, filebuffer: ::windows::core::PWSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByLineWide(&self, line: u32, file: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetModuleByModuleNameWide(&self, name: &::windows::core::PCWSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetSymbolModuleWide(&self, symbol: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetTypeNameWide(&self, module: u64, typeid: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeIdWide(&self, module: u64, name: &::windows::core::PCWSTR) -> ::windows::core::Result<u32>;
fn GetFieldOffsetWide(&self, module: u64, typeid: u32, field: &::windows::core::PCWSTR) -> ::windows::core::Result<u32>;
fn GetSymbolTypeIdWide(&self, symbol: &::windows::core::PCWSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn GetScopeSymbolGroup2(&self, flags: u32, update: ::core::option::Option<&IDebugSymbolGroup2>) -> ::windows::core::Result<IDebugSymbolGroup2>;
fn CreateSymbolGroup2(&self) -> ::windows::core::Result<IDebugSymbolGroup2>;
fn StartSymbolMatchWide(&self, pattern: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetNextSymbolMatchWide(&self, handle: u64, buffer: ::windows::core::PWSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::Result<()>;
fn ReloadWide(&self, module: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSymbolPathWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSymbolPathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AppendSymbolPathWide(&self, addition: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetImagePathWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetImagePathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AppendImagePathWide(&self, addition: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSourcePathWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourcePathElementWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSourcePathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AppendSourcePathWide(&self, addition: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn FindSourceFileWide(&self, startelement: u32, file: &::windows::core::PCWSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PWSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileLineOffsetsWide(&self, file: &::windows::core::PCWSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleVersionInformationWide(&self, index: u32, base: u64, item: &::windows::core::PCWSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleNameStringWide(&self, which: u32, index: u32, base: u64, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetConstantNameWide(&self, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldNameWide(&self, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn IsManagedModule(&self, index: u32, base: u64) -> ::windows::core::Result<()>;
fn GetModuleByModuleName2(&self, name: &::windows::core::PCSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleByModuleName2Wide(&self, name: &::windows::core::PCWSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleByOffset2(&self, offset: u64, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn AddSyntheticModule(&self, base: u64, size: u32, imagepath: &::windows::core::PCSTR, modulename: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn AddSyntheticModuleWide(&self, base: u64, size: u32, imagepath: &::windows::core::PCWSTR, modulename: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn RemoveSyntheticModule(&self, base: u64) -> ::windows::core::Result<()>;
fn GetCurrentScopeFrameIndex(&self) -> ::windows::core::Result<u32>;
fn SetScopeFrameByIndex(&self, index: u32) -> ::windows::core::Result<()>;
fn SetScopeFromJitDebugInfo(&self, outputcontrol: u32, infooffset: u64) -> ::windows::core::Result<()>;
fn SetScopeFromStoredEvent(&self) -> ::windows::core::Result<()>;
fn OutputSymbolByOffset(&self, outputcontrol: u32, flags: u32, offset: u64) -> ::windows::core::Result<()>;
fn GetFunctionEntryByOffset(&self, offset: u64, flags: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bufferneeded: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldTypeAndOffset(&self, module: u64, containertypeid: u32, field: &::windows::core::PCSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldTypeAndOffsetWide(&self, module: u64, containertypeid: u32, field: &::windows::core::PCWSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::Result<()>;
fn AddSyntheticSymbol(&self, offset: u64, size: u32, name: &::windows::core::PCSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::Result<()>;
fn AddSyntheticSymbolWide(&self, offset: u64, size: u32, name: &::windows::core::PCWSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::Result<()>;
fn RemoveSyntheticSymbol(&self, id: *const DEBUG_MODULE_AND_ID) -> ::windows::core::Result<()>;
fn GetSymbolEntriesByOffset(&self, offset: u64, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, displacements: *mut u64, idscount: u32, entries: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntriesByName(&self, symbol: &::windows::core::PCSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntriesByNameWide(&self, symbol: &::windows::core::PCWSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryByToken(&self, modulebase: u64, token: u32) -> ::windows::core::Result<DEBUG_MODULE_AND_ID>;
fn GetSymbolEntryInformation(&self, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> ::windows::core::Result<()>;
fn GetSymbolEntryString(&self, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryStringWide(&self, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryOffsetRegions(&self, id: *const DEBUG_MODULE_AND_ID, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryBySymbolEntry(&self, fromid: *const DEBUG_MODULE_AND_ID, flags: u32) -> ::windows::core::Result<DEBUG_MODULE_AND_ID>;
fn GetSourceEntriesByOffset(&self, offset: u64, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntriesByLine(&self, line: u32, file: &::windows::core::PCSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntriesByLineWide(&self, line: u32, file: &::windows::core::PCWSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryString(&self, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryStringWide(&self, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryOffsetRegions(&self, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryBySourceEntry(&self, fromentry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, toentry: *mut DEBUG_SYMBOL_SOURCE_ENTRY) -> ::windows::core::Result<()>;
fn GetScopeEx(&self, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME_EX, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn SetScopeEx(&self, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME_EX, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn GetNameByInlineContext(&self, offset: u64, inlinecontext: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetNameByInlineContextWide(&self, offset: u64, inlinecontext: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByInlineContext(&self, offset: u64, inlinecontext: u32, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByInlineContextWide(&self, offset: u64, inlinecontext: u32, line: *mut u32, filebuffer: ::windows::core::PWSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn OutputSymbolByInlineContext(&self, outputcontrol: u32, flags: u32, offset: u64, inlinecontext: u32) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugSymbols4 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugSymbols4_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>() -> IDebugSymbols4_Vtbl {
unsafe extern "system" fn GetSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByName(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNearNameByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByLine<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByLine(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberModules<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, loaded: *mut u32, unloaded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberModules(::core::mem::transmute_copy(&loaded), ::core::mem::transmute_copy(&unloaded)).into()
}
unsafe extern "system" fn GetModuleByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetModuleByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleName(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, imagenamebuffer: ::windows::core::PSTR, imagenamebuffersize: u32, imagenamesize: *mut u32, modulenamebuffer: ::windows::core::PSTR, modulenamebuffersize: u32, modulenamesize: *mut u32, loadedimagenamebuffer: ::windows::core::PSTR, loadedimagenamebuffersize: u32, loadedimagenamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNames(
::core::mem::transmute_copy(&index),
::core::mem::transmute_copy(&base),
::core::mem::transmute_copy(&imagenamebuffer),
::core::mem::transmute_copy(&imagenamebuffersize),
::core::mem::transmute_copy(&imagenamesize),
::core::mem::transmute_copy(&modulenamebuffer),
::core::mem::transmute_copy(&modulenamebuffersize),
::core::mem::transmute_copy(&modulenamesize),
::core::mem::transmute_copy(&loadedimagenamebuffer),
::core::mem::transmute_copy(&loadedimagenamebuffersize),
::core::mem::transmute_copy(&loadedimagenamesize),
)
.into()
}
unsafe extern "system" fn GetModuleParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&bases), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSymbolModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolModule(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTypeName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, name: ::windows::core::PCSTR, typeid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeId(::core::mem::transmute_copy(&module), ::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(typeid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeSize(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, field: ::windows::core::PCSTR, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFieldOffset(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute(&field)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolTypeId(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetOffsetTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOffsetTypeId(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn ReadTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTypedDataVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteTypedDataVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn OutputTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTypedDataVirtual(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ReadTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTypedDataPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteTypedDataPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn OutputTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTypedDataPhysical(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScope(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn SetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScope(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn ResetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetScope().into()
}
unsafe extern "system" fn GetScopeSymbolGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, update: *mut ::core::ffi::c_void, symbols: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScopeSymbolGroup(::core::mem::transmute_copy(&flags), ::windows::core::from_raw_borrowed(&update)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbols, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, group: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateSymbolGroup() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(group, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattern: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StartSymbolMatch(::core::mem::transmute(&pattern)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, buffer: ::windows::core::PSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNextSymbolMatch(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&matchsize), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn EndSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSymbolMatch(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Reload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reload(::core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolPath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolPath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSymbolPath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetImagePath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImagePath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendImagePath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn GetSourcePathElement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePathElement(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&elementsize)).into()
}
unsafe extern "system" fn SetSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSourcePath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSourcePath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, file: ::windows::core::PCSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFile(::core::mem::transmute_copy(&startelement), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSourceFileLineOffsets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileLineOffsets(::core::mem::transmute(&file), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&bufferlines), ::core::mem::transmute_copy(&filelines)).into()
}
unsafe extern "system" fn GetModuleVersionInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, item: ::windows::core::PCSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleVersionInformation(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute(&item), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&verinfosize)).into()
}
unsafe extern "system" fn GetModuleNameString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, index: u32, base: u64, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNameString(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetConstantName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetConstantName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetFieldName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&fieldindex), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddTypeOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTypeOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTypeOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByOffsetWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByNameWide(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNearNameByOffsetWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, line: *mut u32, filebuffer: ::windows::core::PWSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByOffsetWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByLineWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCWSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByLineWide(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleNameWide(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetSymbolModuleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolModuleWide(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTypeNameWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeIdWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, name: ::windows::core::PCWSTR, typeid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeIdWide(::core::mem::transmute_copy(&module), ::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(typeid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, field: ::windows::core::PCWSTR, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFieldOffsetWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute(&field)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeIdWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolTypeIdWide(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetScopeSymbolGroup2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, update: *mut ::core::ffi::c_void, symbols: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScopeSymbolGroup2(::core::mem::transmute_copy(&flags), ::windows::core::from_raw_borrowed(&update)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbols, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, group: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateSymbolGroup2() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(group, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatchWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattern: ::windows::core::PCWSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StartSymbolMatchWide(::core::mem::transmute(&pattern)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatchWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, buffer: ::windows::core::PWSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNextSymbolMatchWide(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&matchsize), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn ReloadWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReloadWide(::core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolPathWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetSymbolPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolPathWide(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSymbolPathWide(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetImagePathWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetImagePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImagePathWide(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendImagePathWide(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePathWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn GetSourcePathElementWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePathElementWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&elementsize)).into()
}
unsafe extern "system" fn SetSourcePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSourcePathWide(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSourcePathWide(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, file: ::windows::core::PCWSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PWSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFileWide(::core::mem::transmute_copy(&startelement), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSourceFileLineOffsetsWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCWSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileLineOffsetsWide(::core::mem::transmute(&file), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&bufferlines), ::core::mem::transmute_copy(&filelines)).into()
}
unsafe extern "system" fn GetModuleVersionInformationWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, item: ::windows::core::PCWSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleVersionInformationWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute(&item), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&verinfosize)).into()
}
unsafe extern "system" fn GetModuleNameStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, index: u32, base: u64, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNameStringWide(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetConstantNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetConstantNameWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetFieldNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldNameWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&fieldindex), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn IsManagedModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsManagedModule(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByModuleName2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleName2(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByModuleName2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleName2Wide(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByOffset2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByOffset2(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn AddSyntheticModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, base: u64, size: u32, imagepath: ::windows::core::PCSTR, modulename: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticModule(::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&imagepath), ::core::mem::transmute(&modulename), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn AddSyntheticModuleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, base: u64, size: u32, imagepath: ::windows::core::PCWSTR, modulename: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticModuleWide(::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&imagepath), ::core::mem::transmute(&modulename), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn RemoveSyntheticModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, base: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSyntheticModule(::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetCurrentScopeFrameIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentScopeFrameIndex() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetScopeFrameByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeFrameByIndex(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn SetScopeFromJitDebugInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, infooffset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeFromJitDebugInfo(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&infooffset)).into()
}
unsafe extern "system" fn SetScopeFromStoredEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeFromStoredEvent().into()
}
unsafe extern "system" fn OutputSymbolByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputSymbolByOffset(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetFunctionEntryByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bufferneeded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFunctionEntryByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bufferneeded)).into()
}
unsafe extern "system" fn GetFieldTypeAndOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, containertypeid: u32, field: ::windows::core::PCSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldTypeAndOffset(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&containertypeid), ::core::mem::transmute(&field), ::core::mem::transmute_copy(&fieldtypeid), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetFieldTypeAndOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, containertypeid: u32, field: ::windows::core::PCWSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldTypeAndOffsetWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&containertypeid), ::core::mem::transmute(&field), ::core::mem::transmute_copy(&fieldtypeid), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn AddSyntheticSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, size: u32, name: ::windows::core::PCSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticSymbol(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&name), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn AddSyntheticSymbolWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, size: u32, name: ::windows::core::PCWSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticSymbolWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&name), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn RemoveSyntheticSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSyntheticSymbol(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetSymbolEntriesByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, displacements: *mut u64, idscount: u32, entries: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntriesByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&displacements), ::core::mem::transmute_copy(&idscount), ::core::mem::transmute_copy(&entries)).into()
}
unsafe extern "system" fn GetSymbolEntriesByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntriesByName(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&idscount), ::core::mem::transmute_copy(&entries)).into()
}
unsafe extern "system" fn GetSymbolEntriesByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntriesByNameWide(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&idscount), ::core::mem::transmute_copy(&entries)).into()
}
unsafe extern "system" fn GetSymbolEntryByToken<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modulebase: u64, token: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolEntryByToken(::core::mem::transmute_copy(&modulebase), ::core::mem::transmute_copy(&token)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolEntryInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryInformation(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&info)).into()
}
unsafe extern "system" fn GetSymbolEntryString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryString(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSymbolEntryStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryStringWide(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSymbolEntryOffsetRegions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryOffsetRegions(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&regions), ::core::mem::transmute_copy(&regionscount), ::core::mem::transmute_copy(&regionsavail)).into()
}
unsafe extern "system" fn GetSymbolEntryBySymbolEntry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fromid: *const DEBUG_MODULE_AND_ID, flags: u32, toid: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolEntryBySymbolEntry(::core::mem::transmute_copy(&fromid), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(toid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSourceEntriesByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntriesByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&entries), ::core::mem::transmute_copy(&entriescount), ::core::mem::transmute_copy(&entriesavail)).into()
}
unsafe extern "system" fn GetSourceEntriesByLine<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntriesByLine(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&entries), ::core::mem::transmute_copy(&entriescount), ::core::mem::transmute_copy(&entriesavail)).into()
}
unsafe extern "system" fn GetSourceEntriesByLineWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCWSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntriesByLineWide(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&entries), ::core::mem::transmute_copy(&entriescount), ::core::mem::transmute_copy(&entriesavail)).into()
}
unsafe extern "system" fn GetSourceEntryString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryString(::core::mem::transmute_copy(&entry), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSourceEntryStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryStringWide(::core::mem::transmute_copy(&entry), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSourceEntryOffsetRegions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryOffsetRegions(::core::mem::transmute_copy(&entry), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&regions), ::core::mem::transmute_copy(&regionscount), ::core::mem::transmute_copy(&regionsavail)).into()
}
unsafe extern "system" fn GetSourceEntryBySourceEntry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fromentry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, toentry: *mut DEBUG_SYMBOL_SOURCE_ENTRY) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryBySourceEntry(::core::mem::transmute_copy(&fromentry), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&toentry)).into()
}
unsafe extern "system" fn GetScopeEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME_EX, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScopeEx(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn SetScopeEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME_EX, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeEx(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn GetNameByInlineContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, inlinecontext: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByInlineContext(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&inlinecontext), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetNameByInlineContextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, inlinecontext: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByInlineContextWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&inlinecontext), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByInlineContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, inlinecontext: u32, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByInlineContext(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&inlinecontext), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByInlineContextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, inlinecontext: u32, line: *mut u32, filebuffer: ::windows::core::PWSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByInlineContextWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&inlinecontext), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn OutputSymbolByInlineContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, offset: u64, inlinecontext: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputSymbolByInlineContext(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&inlinecontext)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSymbolOptions: GetSymbolOptions::<Identity, Impl, OFFSET>,
AddSymbolOptions: AddSymbolOptions::<Identity, Impl, OFFSET>,
RemoveSymbolOptions: RemoveSymbolOptions::<Identity, Impl, OFFSET>,
SetSymbolOptions: SetSymbolOptions::<Identity, Impl, OFFSET>,
GetNameByOffset: GetNameByOffset::<Identity, Impl, OFFSET>,
GetOffsetByName: GetOffsetByName::<Identity, Impl, OFFSET>,
GetNearNameByOffset: GetNearNameByOffset::<Identity, Impl, OFFSET>,
GetLineByOffset: GetLineByOffset::<Identity, Impl, OFFSET>,
GetOffsetByLine: GetOffsetByLine::<Identity, Impl, OFFSET>,
GetNumberModules: GetNumberModules::<Identity, Impl, OFFSET>,
GetModuleByIndex: GetModuleByIndex::<Identity, Impl, OFFSET>,
GetModuleByModuleName: GetModuleByModuleName::<Identity, Impl, OFFSET>,
GetModuleByOffset: GetModuleByOffset::<Identity, Impl, OFFSET>,
GetModuleNames: GetModuleNames::<Identity, Impl, OFFSET>,
GetModuleParameters: GetModuleParameters::<Identity, Impl, OFFSET>,
GetSymbolModule: GetSymbolModule::<Identity, Impl, OFFSET>,
GetTypeName: GetTypeName::<Identity, Impl, OFFSET>,
GetTypeId: GetTypeId::<Identity, Impl, OFFSET>,
GetTypeSize: GetTypeSize::<Identity, Impl, OFFSET>,
GetFieldOffset: GetFieldOffset::<Identity, Impl, OFFSET>,
GetSymbolTypeId: GetSymbolTypeId::<Identity, Impl, OFFSET>,
GetOffsetTypeId: GetOffsetTypeId::<Identity, Impl, OFFSET>,
ReadTypedDataVirtual: ReadTypedDataVirtual::<Identity, Impl, OFFSET>,
WriteTypedDataVirtual: WriteTypedDataVirtual::<Identity, Impl, OFFSET>,
OutputTypedDataVirtual: OutputTypedDataVirtual::<Identity, Impl, OFFSET>,
ReadTypedDataPhysical: ReadTypedDataPhysical::<Identity, Impl, OFFSET>,
WriteTypedDataPhysical: WriteTypedDataPhysical::<Identity, Impl, OFFSET>,
OutputTypedDataPhysical: OutputTypedDataPhysical::<Identity, Impl, OFFSET>,
GetScope: GetScope::<Identity, Impl, OFFSET>,
SetScope: SetScope::<Identity, Impl, OFFSET>,
ResetScope: ResetScope::<Identity, Impl, OFFSET>,
GetScopeSymbolGroup: GetScopeSymbolGroup::<Identity, Impl, OFFSET>,
CreateSymbolGroup: CreateSymbolGroup::<Identity, Impl, OFFSET>,
StartSymbolMatch: StartSymbolMatch::<Identity, Impl, OFFSET>,
GetNextSymbolMatch: GetNextSymbolMatch::<Identity, Impl, OFFSET>,
EndSymbolMatch: EndSymbolMatch::<Identity, Impl, OFFSET>,
Reload: Reload::<Identity, Impl, OFFSET>,
GetSymbolPath: GetSymbolPath::<Identity, Impl, OFFSET>,
SetSymbolPath: SetSymbolPath::<Identity, Impl, OFFSET>,
AppendSymbolPath: AppendSymbolPath::<Identity, Impl, OFFSET>,
GetImagePath: GetImagePath::<Identity, Impl, OFFSET>,
SetImagePath: SetImagePath::<Identity, Impl, OFFSET>,
AppendImagePath: AppendImagePath::<Identity, Impl, OFFSET>,
GetSourcePath: GetSourcePath::<Identity, Impl, OFFSET>,
GetSourcePathElement: GetSourcePathElement::<Identity, Impl, OFFSET>,
SetSourcePath: SetSourcePath::<Identity, Impl, OFFSET>,
AppendSourcePath: AppendSourcePath::<Identity, Impl, OFFSET>,
FindSourceFile: FindSourceFile::<Identity, Impl, OFFSET>,
GetSourceFileLineOffsets: GetSourceFileLineOffsets::<Identity, Impl, OFFSET>,
GetModuleVersionInformation: GetModuleVersionInformation::<Identity, Impl, OFFSET>,
GetModuleNameString: GetModuleNameString::<Identity, Impl, OFFSET>,
GetConstantName: GetConstantName::<Identity, Impl, OFFSET>,
GetFieldName: GetFieldName::<Identity, Impl, OFFSET>,
GetTypeOptions: GetTypeOptions::<Identity, Impl, OFFSET>,
AddTypeOptions: AddTypeOptions::<Identity, Impl, OFFSET>,
RemoveTypeOptions: RemoveTypeOptions::<Identity, Impl, OFFSET>,
SetTypeOptions: SetTypeOptions::<Identity, Impl, OFFSET>,
GetNameByOffsetWide: GetNameByOffsetWide::<Identity, Impl, OFFSET>,
GetOffsetByNameWide: GetOffsetByNameWide::<Identity, Impl, OFFSET>,
GetNearNameByOffsetWide: GetNearNameByOffsetWide::<Identity, Impl, OFFSET>,
GetLineByOffsetWide: GetLineByOffsetWide::<Identity, Impl, OFFSET>,
GetOffsetByLineWide: GetOffsetByLineWide::<Identity, Impl, OFFSET>,
GetModuleByModuleNameWide: GetModuleByModuleNameWide::<Identity, Impl, OFFSET>,
GetSymbolModuleWide: GetSymbolModuleWide::<Identity, Impl, OFFSET>,
GetTypeNameWide: GetTypeNameWide::<Identity, Impl, OFFSET>,
GetTypeIdWide: GetTypeIdWide::<Identity, Impl, OFFSET>,
GetFieldOffsetWide: GetFieldOffsetWide::<Identity, Impl, OFFSET>,
GetSymbolTypeIdWide: GetSymbolTypeIdWide::<Identity, Impl, OFFSET>,
GetScopeSymbolGroup2: GetScopeSymbolGroup2::<Identity, Impl, OFFSET>,
CreateSymbolGroup2: CreateSymbolGroup2::<Identity, Impl, OFFSET>,
StartSymbolMatchWide: StartSymbolMatchWide::<Identity, Impl, OFFSET>,
GetNextSymbolMatchWide: GetNextSymbolMatchWide::<Identity, Impl, OFFSET>,
ReloadWide: ReloadWide::<Identity, Impl, OFFSET>,
GetSymbolPathWide: GetSymbolPathWide::<Identity, Impl, OFFSET>,
SetSymbolPathWide: SetSymbolPathWide::<Identity, Impl, OFFSET>,
AppendSymbolPathWide: AppendSymbolPathWide::<Identity, Impl, OFFSET>,
GetImagePathWide: GetImagePathWide::<Identity, Impl, OFFSET>,
SetImagePathWide: SetImagePathWide::<Identity, Impl, OFFSET>,
AppendImagePathWide: AppendImagePathWide::<Identity, Impl, OFFSET>,
GetSourcePathWide: GetSourcePathWide::<Identity, Impl, OFFSET>,
GetSourcePathElementWide: GetSourcePathElementWide::<Identity, Impl, OFFSET>,
SetSourcePathWide: SetSourcePathWide::<Identity, Impl, OFFSET>,
AppendSourcePathWide: AppendSourcePathWide::<Identity, Impl, OFFSET>,
FindSourceFileWide: FindSourceFileWide::<Identity, Impl, OFFSET>,
GetSourceFileLineOffsetsWide: GetSourceFileLineOffsetsWide::<Identity, Impl, OFFSET>,
GetModuleVersionInformationWide: GetModuleVersionInformationWide::<Identity, Impl, OFFSET>,
GetModuleNameStringWide: GetModuleNameStringWide::<Identity, Impl, OFFSET>,
GetConstantNameWide: GetConstantNameWide::<Identity, Impl, OFFSET>,
GetFieldNameWide: GetFieldNameWide::<Identity, Impl, OFFSET>,
IsManagedModule: IsManagedModule::<Identity, Impl, OFFSET>,
GetModuleByModuleName2: GetModuleByModuleName2::<Identity, Impl, OFFSET>,
GetModuleByModuleName2Wide: GetModuleByModuleName2Wide::<Identity, Impl, OFFSET>,
GetModuleByOffset2: GetModuleByOffset2::<Identity, Impl, OFFSET>,
AddSyntheticModule: AddSyntheticModule::<Identity, Impl, OFFSET>,
AddSyntheticModuleWide: AddSyntheticModuleWide::<Identity, Impl, OFFSET>,
RemoveSyntheticModule: RemoveSyntheticModule::<Identity, Impl, OFFSET>,
GetCurrentScopeFrameIndex: GetCurrentScopeFrameIndex::<Identity, Impl, OFFSET>,
SetScopeFrameByIndex: SetScopeFrameByIndex::<Identity, Impl, OFFSET>,
SetScopeFromJitDebugInfo: SetScopeFromJitDebugInfo::<Identity, Impl, OFFSET>,
SetScopeFromStoredEvent: SetScopeFromStoredEvent::<Identity, Impl, OFFSET>,
OutputSymbolByOffset: OutputSymbolByOffset::<Identity, Impl, OFFSET>,
GetFunctionEntryByOffset: GetFunctionEntryByOffset::<Identity, Impl, OFFSET>,
GetFieldTypeAndOffset: GetFieldTypeAndOffset::<Identity, Impl, OFFSET>,
GetFieldTypeAndOffsetWide: GetFieldTypeAndOffsetWide::<Identity, Impl, OFFSET>,
AddSyntheticSymbol: AddSyntheticSymbol::<Identity, Impl, OFFSET>,
AddSyntheticSymbolWide: AddSyntheticSymbolWide::<Identity, Impl, OFFSET>,
RemoveSyntheticSymbol: RemoveSyntheticSymbol::<Identity, Impl, OFFSET>,
GetSymbolEntriesByOffset: GetSymbolEntriesByOffset::<Identity, Impl, OFFSET>,
GetSymbolEntriesByName: GetSymbolEntriesByName::<Identity, Impl, OFFSET>,
GetSymbolEntriesByNameWide: GetSymbolEntriesByNameWide::<Identity, Impl, OFFSET>,
GetSymbolEntryByToken: GetSymbolEntryByToken::<Identity, Impl, OFFSET>,
GetSymbolEntryInformation: GetSymbolEntryInformation::<Identity, Impl, OFFSET>,
GetSymbolEntryString: GetSymbolEntryString::<Identity, Impl, OFFSET>,
GetSymbolEntryStringWide: GetSymbolEntryStringWide::<Identity, Impl, OFFSET>,
GetSymbolEntryOffsetRegions: GetSymbolEntryOffsetRegions::<Identity, Impl, OFFSET>,
GetSymbolEntryBySymbolEntry: GetSymbolEntryBySymbolEntry::<Identity, Impl, OFFSET>,
GetSourceEntriesByOffset: GetSourceEntriesByOffset::<Identity, Impl, OFFSET>,
GetSourceEntriesByLine: GetSourceEntriesByLine::<Identity, Impl, OFFSET>,
GetSourceEntriesByLineWide: GetSourceEntriesByLineWide::<Identity, Impl, OFFSET>,
GetSourceEntryString: GetSourceEntryString::<Identity, Impl, OFFSET>,
GetSourceEntryStringWide: GetSourceEntryStringWide::<Identity, Impl, OFFSET>,
GetSourceEntryOffsetRegions: GetSourceEntryOffsetRegions::<Identity, Impl, OFFSET>,
GetSourceEntryBySourceEntry: GetSourceEntryBySourceEntry::<Identity, Impl, OFFSET>,
GetScopeEx: GetScopeEx::<Identity, Impl, OFFSET>,
SetScopeEx: SetScopeEx::<Identity, Impl, OFFSET>,
GetNameByInlineContext: GetNameByInlineContext::<Identity, Impl, OFFSET>,
GetNameByInlineContextWide: GetNameByInlineContextWide::<Identity, Impl, OFFSET>,
GetLineByInlineContext: GetLineByInlineContext::<Identity, Impl, OFFSET>,
GetLineByInlineContextWide: GetLineByInlineContextWide::<Identity, Impl, OFFSET>,
OutputSymbolByInlineContext: OutputSymbolByInlineContext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSymbols4 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IDebugSymbols5_Impl: Sized {
fn GetSymbolOptions(&self) -> ::windows::core::Result<u32>;
fn AddSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetSymbolOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetNameByOffset(&self, offset: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByName(&self, symbol: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNearNameByOffset(&self, offset: u64, delta: i32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByOffset(&self, offset: u64, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByLine(&self, line: u32, file: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNumberModules(&self, loaded: *mut u32, unloaded: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleByIndex(&self, index: u32) -> ::windows::core::Result<u64>;
fn GetModuleByModuleName(&self, name: &::windows::core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleByOffset(&self, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleNames(&self, index: u32, base: u64, imagenamebuffer: ::windows::core::PSTR, imagenamebuffersize: u32, imagenamesize: *mut u32, modulenamebuffer: ::windows::core::PSTR, modulenamebuffersize: u32, modulenamesize: *mut u32, loadedimagenamebuffer: ::windows::core::PSTR, loadedimagenamebuffersize: u32, loadedimagenamesize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleParameters(&self, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> ::windows::core::Result<()>;
fn GetSymbolModule(&self, symbol: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetTypeName(&self, module: u64, typeid: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeId(&self, module: u64, name: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetTypeSize(&self, module: u64, typeid: u32) -> ::windows::core::Result<u32>;
fn GetFieldOffset(&self, module: u64, typeid: u32, field: &::windows::core::PCSTR) -> ::windows::core::Result<u32>;
fn GetSymbolTypeId(&self, symbol: &::windows::core::PCSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetTypeId(&self, offset: u64, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn ReadTypedDataVirtual(&self, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteTypedDataVirtual(&self, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn OutputTypedDataVirtual(&self, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::Result<()>;
fn ReadTypedDataPhysical(&self, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteTypedDataPhysical(&self, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>;
fn OutputTypedDataPhysical(&self, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::Result<()>;
fn GetScope(&self, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn SetScope(&self, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn ResetScope(&self) -> ::windows::core::Result<()>;
fn GetScopeSymbolGroup(&self, flags: u32, update: ::core::option::Option<&IDebugSymbolGroup>) -> ::windows::core::Result<IDebugSymbolGroup>;
fn CreateSymbolGroup(&self) -> ::windows::core::Result<IDebugSymbolGroup>;
fn StartSymbolMatch(&self, pattern: &::windows::core::PCSTR) -> ::windows::core::Result<u64>;
fn GetNextSymbolMatch(&self, handle: u64, buffer: ::windows::core::PSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::Result<()>;
fn EndSymbolMatch(&self, handle: u64) -> ::windows::core::Result<()>;
fn Reload(&self, module: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSymbolPath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSymbolPath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendSymbolPath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetImagePath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetImagePath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendImagePath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn GetSourcePath(&self, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourcePathElement(&self, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSourcePath(&self, path: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn AppendSourcePath(&self, addition: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
fn FindSourceFile(&self, startelement: u32, file: &::windows::core::PCSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileLineOffsets(&self, file: &::windows::core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleVersionInformation(&self, index: u32, base: u64, item: &::windows::core::PCSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleNameString(&self, which: u32, index: u32, base: u64, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetConstantName(&self, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldName(&self, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeOptions(&self) -> ::windows::core::Result<u32>;
fn AddTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn RemoveTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn SetTypeOptions(&self, options: u32) -> ::windows::core::Result<()>;
fn GetNameByOffsetWide(&self, offset: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByNameWide(&self, symbol: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetNearNameByOffsetWide(&self, offset: u64, delta: i32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByOffsetWide(&self, offset: u64, line: *mut u32, filebuffer: ::windows::core::PWSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetOffsetByLineWide(&self, line: u32, file: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetModuleByModuleNameWide(&self, name: &::windows::core::PCWSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetSymbolModuleWide(&self, symbol: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetTypeNameWide(&self, module: u64, typeid: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetTypeIdWide(&self, module: u64, name: &::windows::core::PCWSTR) -> ::windows::core::Result<u32>;
fn GetFieldOffsetWide(&self, module: u64, typeid: u32, field: &::windows::core::PCWSTR) -> ::windows::core::Result<u32>;
fn GetSymbolTypeIdWide(&self, symbol: &::windows::core::PCWSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::Result<()>;
fn GetScopeSymbolGroup2(&self, flags: u32, update: ::core::option::Option<&IDebugSymbolGroup2>) -> ::windows::core::Result<IDebugSymbolGroup2>;
fn CreateSymbolGroup2(&self) -> ::windows::core::Result<IDebugSymbolGroup2>;
fn StartSymbolMatchWide(&self, pattern: &::windows::core::PCWSTR) -> ::windows::core::Result<u64>;
fn GetNextSymbolMatchWide(&self, handle: u64, buffer: ::windows::core::PWSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::Result<()>;
fn ReloadWide(&self, module: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSymbolPathWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSymbolPathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AppendSymbolPathWide(&self, addition: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetImagePathWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn SetImagePathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AppendImagePathWide(&self, addition: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSourcePathWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourcePathElementWide(&self, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::Result<()>;
fn SetSourcePathWide(&self, path: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn AppendSourcePathWide(&self, addition: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn FindSourceFileWide(&self, startelement: u32, file: &::windows::core::PCWSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PWSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceFileLineOffsetsWide(&self, file: &::windows::core::PCWSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleVersionInformationWide(&self, index: u32, base: u64, item: &::windows::core::PCWSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::Result<()>;
fn GetModuleNameStringWide(&self, which: u32, index: u32, base: u64, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetConstantNameWide(&self, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldNameWide(&self, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn IsManagedModule(&self, index: u32, base: u64) -> ::windows::core::Result<()>;
fn GetModuleByModuleName2(&self, name: &::windows::core::PCSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleByModuleName2Wide(&self, name: &::windows::core::PCWSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn GetModuleByOffset2(&self, offset: u64, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::Result<()>;
fn AddSyntheticModule(&self, base: u64, size: u32, imagepath: &::windows::core::PCSTR, modulename: &::windows::core::PCSTR, flags: u32) -> ::windows::core::Result<()>;
fn AddSyntheticModuleWide(&self, base: u64, size: u32, imagepath: &::windows::core::PCWSTR, modulename: &::windows::core::PCWSTR, flags: u32) -> ::windows::core::Result<()>;
fn RemoveSyntheticModule(&self, base: u64) -> ::windows::core::Result<()>;
fn GetCurrentScopeFrameIndex(&self) -> ::windows::core::Result<u32>;
fn SetScopeFrameByIndex(&self, index: u32) -> ::windows::core::Result<()>;
fn SetScopeFromJitDebugInfo(&self, outputcontrol: u32, infooffset: u64) -> ::windows::core::Result<()>;
fn SetScopeFromStoredEvent(&self) -> ::windows::core::Result<()>;
fn OutputSymbolByOffset(&self, outputcontrol: u32, flags: u32, offset: u64) -> ::windows::core::Result<()>;
fn GetFunctionEntryByOffset(&self, offset: u64, flags: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bufferneeded: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldTypeAndOffset(&self, module: u64, containertypeid: u32, field: &::windows::core::PCSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::Result<()>;
fn GetFieldTypeAndOffsetWide(&self, module: u64, containertypeid: u32, field: &::windows::core::PCWSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::Result<()>;
fn AddSyntheticSymbol(&self, offset: u64, size: u32, name: &::windows::core::PCSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::Result<()>;
fn AddSyntheticSymbolWide(&self, offset: u64, size: u32, name: &::windows::core::PCWSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::Result<()>;
fn RemoveSyntheticSymbol(&self, id: *const DEBUG_MODULE_AND_ID) -> ::windows::core::Result<()>;
fn GetSymbolEntriesByOffset(&self, offset: u64, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, displacements: *mut u64, idscount: u32, entries: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntriesByName(&self, symbol: &::windows::core::PCSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntriesByNameWide(&self, symbol: &::windows::core::PCWSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryByToken(&self, modulebase: u64, token: u32) -> ::windows::core::Result<DEBUG_MODULE_AND_ID>;
fn GetSymbolEntryInformation(&self, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> ::windows::core::Result<()>;
fn GetSymbolEntryString(&self, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryStringWide(&self, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryOffsetRegions(&self, id: *const DEBUG_MODULE_AND_ID, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSymbolEntryBySymbolEntry(&self, fromid: *const DEBUG_MODULE_AND_ID, flags: u32) -> ::windows::core::Result<DEBUG_MODULE_AND_ID>;
fn GetSourceEntriesByOffset(&self, offset: u64, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntriesByLine(&self, line: u32, file: &::windows::core::PCSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntriesByLineWide(&self, line: u32, file: &::windows::core::PCWSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryString(&self, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryStringWide(&self, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryOffsetRegions(&self, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::Result<()>;
fn GetSourceEntryBySourceEntry(&self, fromentry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, toentry: *mut DEBUG_SYMBOL_SOURCE_ENTRY) -> ::windows::core::Result<()>;
fn GetScopeEx(&self, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME_EX, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn SetScopeEx(&self, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME_EX, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::Result<()>;
fn GetNameByInlineContext(&self, offset: u64, inlinecontext: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetNameByInlineContextWide(&self, offset: u64, inlinecontext: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByInlineContext(&self, offset: u64, inlinecontext: u32, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn GetLineByInlineContextWide(&self, offset: u64, inlinecontext: u32, line: *mut u32, filebuffer: ::windows::core::PWSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::Result<()>;
fn OutputSymbolByInlineContext(&self, outputcontrol: u32, flags: u32, offset: u64, inlinecontext: u32) -> ::windows::core::Result<()>;
fn GetCurrentScopeFrameIndexEx(&self, flags: u32) -> ::windows::core::Result<u32>;
fn SetScopeFrameByIndexEx(&self, flags: u32, index: u32) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IDebugSymbols5 {}
#[cfg(feature = "Win32_Foundation")]
impl IDebugSymbols5_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>() -> IDebugSymbols5_Vtbl {
unsafe extern "system" fn GetSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetSymbolOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByName(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNearNameByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByLine<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByLine(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberModules<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, loaded: *mut u32, unloaded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNumberModules(::core::mem::transmute_copy(&loaded), ::core::mem::transmute_copy(&unloaded)).into()
}
unsafe extern "system" fn GetModuleByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetModuleByIndex(::core::mem::transmute_copy(&index)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleName(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, imagenamebuffer: ::windows::core::PSTR, imagenamebuffersize: u32, imagenamesize: *mut u32, modulenamebuffer: ::windows::core::PSTR, modulenamebuffersize: u32, modulenamesize: *mut u32, loadedimagenamebuffer: ::windows::core::PSTR, loadedimagenamebuffersize: u32, loadedimagenamesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNames(
::core::mem::transmute_copy(&index),
::core::mem::transmute_copy(&base),
::core::mem::transmute_copy(&imagenamebuffer),
::core::mem::transmute_copy(&imagenamebuffersize),
::core::mem::transmute_copy(&imagenamesize),
::core::mem::transmute_copy(&modulenamebuffer),
::core::mem::transmute_copy(&modulenamebuffersize),
::core::mem::transmute_copy(&modulenamesize),
::core::mem::transmute_copy(&loadedimagenamebuffer),
::core::mem::transmute_copy(&loadedimagenamebuffersize),
::core::mem::transmute_copy(&loadedimagenamesize),
)
.into()
}
unsafe extern "system" fn GetModuleParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleParameters(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&bases), ::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&params)).into()
}
unsafe extern "system" fn GetSymbolModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolModule(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTypeName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, name: ::windows::core::PCSTR, typeid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeId(::core::mem::transmute_copy(&module), ::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(typeid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, size: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeSize(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(size, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, field: ::windows::core::PCSTR, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFieldOffset(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute(&field)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolTypeId(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetOffsetTypeId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetOffsetTypeId(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn ReadTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTypedDataVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteTypedDataVirtual(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn OutputTypedDataVirtual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTypedDataVirtual(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ReadTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadTypedDataPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bytesread)).into()
}
unsafe extern "system" fn WriteTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, module: u64, typeid: u32, buffer: *const ::core::ffi::c_void, buffersize: u32, byteswritten: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteTypedDataPhysical(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&byteswritten)).into()
}
unsafe extern "system" fn OutputTypedDataPhysical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputTypedDataPhysical(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScope(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn SetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScope(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn ResetScope<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResetScope().into()
}
unsafe extern "system" fn GetScopeSymbolGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, update: *mut ::core::ffi::c_void, symbols: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScopeSymbolGroup(::core::mem::transmute_copy(&flags), ::windows::core::from_raw_borrowed(&update)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbols, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, group: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateSymbolGroup() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(group, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattern: ::windows::core::PCSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StartSymbolMatch(::core::mem::transmute(&pattern)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, buffer: ::windows::core::PSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNextSymbolMatch(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&matchsize), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn EndSymbolMatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.EndSymbolMatch(::core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Reload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reload(::core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolPath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolPath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSymbolPath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetImagePath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImagePath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendImagePath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePath(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn GetSourcePathElement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePathElement(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&elementsize)).into()
}
unsafe extern "system" fn SetSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSourcePath(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSourcePath(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, file: ::windows::core::PCSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFile(::core::mem::transmute_copy(&startelement), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSourceFileLineOffsets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileLineOffsets(::core::mem::transmute(&file), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&bufferlines), ::core::mem::transmute_copy(&filelines)).into()
}
unsafe extern "system" fn GetModuleVersionInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, item: ::windows::core::PCSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleVersionInformation(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute(&item), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&verinfosize)).into()
}
unsafe extern "system" fn GetModuleNameString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, index: u32, base: u64, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNameString(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetConstantName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetConstantName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetFieldName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldName(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&fieldindex), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(options, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddTypeOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveTypeOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetTypeOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetTypeOptions(::core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByOffsetWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByNameWide(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, delta: i32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNearNameByOffsetWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&delta), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, line: *mut u32, filebuffer: ::windows::core::PWSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByOffsetWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetOffsetByLineWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCWSTR, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOffsetByLineWide(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, startindex: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleNameWide(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetSymbolModuleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolModuleWide(::core::mem::transmute(&symbol)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(base, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTypeNameWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetTypeIdWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, name: ::windows::core::PCWSTR, typeid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeIdWide(::core::mem::transmute_copy(&module), ::core::mem::transmute(&name)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(typeid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, field: ::windows::core::PCWSTR, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetFieldOffsetWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute(&field)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeIdWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, typeid: *mut u32, module: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolTypeIdWide(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetScopeSymbolGroup2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, update: *mut ::core::ffi::c_void, symbols: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetScopeSymbolGroup2(::core::mem::transmute_copy(&flags), ::windows::core::from_raw_borrowed(&update)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(symbols, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, group: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateSymbolGroup2() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(group, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatchWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattern: ::windows::core::PCWSTR, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.StartSymbolMatchWide(::core::mem::transmute(&pattern)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatchWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, buffer: ::windows::core::PWSTR, buffersize: u32, matchsize: *mut u32, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNextSymbolMatchWide(::core::mem::transmute_copy(&handle), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&matchsize), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn ReloadWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReloadWide(::core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolPathWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetSymbolPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSymbolPathWide(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSymbolPathWide(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetImagePathWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn SetImagePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImagePathWide(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendImagePathWide(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, pathsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePathWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&pathsize)).into()
}
unsafe extern "system" fn GetSourcePathElementWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, buffer: ::windows::core::PWSTR, buffersize: u32, elementsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourcePathElementWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&elementsize)).into()
}
unsafe extern "system" fn SetSourcePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSourcePathWide(::core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePathWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, addition: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AppendSourcePathWide(::core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFileWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startelement: u32, file: ::windows::core::PCWSTR, flags: u32, foundelement: *mut u32, buffer: ::windows::core::PWSTR, buffersize: u32, foundsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FindSourceFileWide(::core::mem::transmute_copy(&startelement), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&foundelement), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&foundsize)).into()
}
unsafe extern "system" fn GetSourceFileLineOffsetsWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::windows::core::PCWSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceFileLineOffsetsWide(::core::mem::transmute(&file), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&bufferlines), ::core::mem::transmute_copy(&filelines)).into()
}
unsafe extern "system" fn GetModuleVersionInformationWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64, item: ::windows::core::PCWSTR, buffer: *mut ::core::ffi::c_void, buffersize: u32, verinfosize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleVersionInformationWide(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute(&item), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&verinfosize)).into()
}
unsafe extern "system" fn GetModuleNameStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, which: u32, index: u32, base: u64, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleNameStringWide(::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetConstantNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, value: u64, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetConstantNameWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetFieldNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, typeid: u32, fieldindex: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldNameWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&typeid), ::core::mem::transmute_copy(&fieldindex), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn IsManagedModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, base: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.IsManagedModule(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByModuleName2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleName2(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByModuleName2Wide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByModuleName2Wide(::core::mem::transmute(&name), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByOffset2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetModuleByOffset2(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&startindex), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn AddSyntheticModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, base: u64, size: u32, imagepath: ::windows::core::PCSTR, modulename: ::windows::core::PCSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticModule(::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&imagepath), ::core::mem::transmute(&modulename), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn AddSyntheticModuleWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, base: u64, size: u32, imagepath: ::windows::core::PCWSTR, modulename: ::windows::core::PCWSTR, flags: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticModuleWide(::core::mem::transmute_copy(&base), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&imagepath), ::core::mem::transmute(&modulename), ::core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn RemoveSyntheticModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, base: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSyntheticModule(::core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetCurrentScopeFrameIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentScopeFrameIndex() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetScopeFrameByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeFrameByIndex(::core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn SetScopeFromJitDebugInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, infooffset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeFromJitDebugInfo(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&infooffset)).into()
}
unsafe extern "system" fn SetScopeFromStoredEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeFromStoredEvent().into()
}
unsafe extern "system" fn OutputSymbolByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputSymbolByOffset(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetFunctionEntryByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32, bufferneeded: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFunctionEntryByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&bufferneeded)).into()
}
unsafe extern "system" fn GetFieldTypeAndOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, containertypeid: u32, field: ::windows::core::PCSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldTypeAndOffset(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&containertypeid), ::core::mem::transmute(&field), ::core::mem::transmute_copy(&fieldtypeid), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetFieldTypeAndOffsetWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, module: u64, containertypeid: u32, field: ::windows::core::PCWSTR, fieldtypeid: *mut u32, offset: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetFieldTypeAndOffsetWide(::core::mem::transmute_copy(&module), ::core::mem::transmute_copy(&containertypeid), ::core::mem::transmute(&field), ::core::mem::transmute_copy(&fieldtypeid), ::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn AddSyntheticSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, size: u32, name: ::windows::core::PCSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticSymbol(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&name), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn AddSyntheticSymbolWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, size: u32, name: ::windows::core::PCWSTR, flags: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddSyntheticSymbolWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&size), ::core::mem::transmute(&name), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn RemoveSyntheticSymbol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveSyntheticSymbol(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetSymbolEntriesByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, displacements: *mut u64, idscount: u32, entries: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntriesByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&displacements), ::core::mem::transmute_copy(&idscount), ::core::mem::transmute_copy(&entries)).into()
}
unsafe extern "system" fn GetSymbolEntriesByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntriesByName(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&idscount), ::core::mem::transmute_copy(&entries)).into()
}
unsafe extern "system" fn GetSymbolEntriesByNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, symbol: ::windows::core::PCWSTR, flags: u32, ids: *mut DEBUG_MODULE_AND_ID, idscount: u32, entries: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntriesByNameWide(::core::mem::transmute(&symbol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&idscount), ::core::mem::transmute_copy(&entries)).into()
}
unsafe extern "system" fn GetSymbolEntryByToken<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modulebase: u64, token: u32, id: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolEntryByToken(::core::mem::transmute_copy(&modulebase), ::core::mem::transmute_copy(&token)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolEntryInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryInformation(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&info)).into()
}
unsafe extern "system" fn GetSymbolEntryString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryString(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSymbolEntryStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryStringWide(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSymbolEntryOffsetRegions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSymbolEntryOffsetRegions(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&regions), ::core::mem::transmute_copy(&regionscount), ::core::mem::transmute_copy(&regionsavail)).into()
}
unsafe extern "system" fn GetSymbolEntryBySymbolEntry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fromid: *const DEBUG_MODULE_AND_ID, flags: u32, toid: *mut DEBUG_MODULE_AND_ID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSymbolEntryBySymbolEntry(::core::mem::transmute_copy(&fromid), ::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(toid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSourceEntriesByOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntriesByOffset(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&entries), ::core::mem::transmute_copy(&entriescount), ::core::mem::transmute_copy(&entriesavail)).into()
}
unsafe extern "system" fn GetSourceEntriesByLine<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntriesByLine(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&entries), ::core::mem::transmute_copy(&entriescount), ::core::mem::transmute_copy(&entriesavail)).into()
}
unsafe extern "system" fn GetSourceEntriesByLineWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, line: u32, file: ::windows::core::PCWSTR, flags: u32, entries: *mut DEBUG_SYMBOL_SOURCE_ENTRY, entriescount: u32, entriesavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntriesByLineWide(::core::mem::transmute_copy(&line), ::core::mem::transmute(&file), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&entries), ::core::mem::transmute_copy(&entriescount), ::core::mem::transmute_copy(&entriesavail)).into()
}
unsafe extern "system" fn GetSourceEntryString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryString(::core::mem::transmute_copy(&entry), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSourceEntryStringWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, which: u32, buffer: ::windows::core::PWSTR, buffersize: u32, stringsize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryStringWide(::core::mem::transmute_copy(&entry), ::core::mem::transmute_copy(&which), ::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&stringsize)).into()
}
unsafe extern "system" fn GetSourceEntryOffsetRegions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, entry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, regions: *mut DEBUG_OFFSET_REGION, regionscount: u32, regionsavail: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryOffsetRegions(::core::mem::transmute_copy(&entry), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&regions), ::core::mem::transmute_copy(&regionscount), ::core::mem::transmute_copy(&regionsavail)).into()
}
unsafe extern "system" fn GetSourceEntryBySourceEntry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fromentry: *const DEBUG_SYMBOL_SOURCE_ENTRY, flags: u32, toentry: *mut DEBUG_SYMBOL_SOURCE_ENTRY) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSourceEntryBySourceEntry(::core::mem::transmute_copy(&fromentry), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&toentry)).into()
}
unsafe extern "system" fn GetScopeEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: *mut u64, scopeframe: *mut DEBUG_STACK_FRAME_EX, scopecontext: *mut ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetScopeEx(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn SetScopeEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, instructionoffset: u64, scopeframe: *const DEBUG_STACK_FRAME_EX, scopecontext: *const ::core::ffi::c_void, scopecontextsize: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeEx(::core::mem::transmute_copy(&instructionoffset), ::core::mem::transmute_copy(&scopeframe), ::core::mem::transmute_copy(&scopecontext), ::core::mem::transmute_copy(&scopecontextsize)).into()
}
unsafe extern "system" fn GetNameByInlineContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, inlinecontext: u32, namebuffer: ::windows::core::PSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByInlineContext(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&inlinecontext), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetNameByInlineContextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, inlinecontext: u32, namebuffer: ::windows::core::PWSTR, namebuffersize: u32, namesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNameByInlineContextWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&inlinecontext), ::core::mem::transmute_copy(&namebuffer), ::core::mem::transmute_copy(&namebuffersize), ::core::mem::transmute_copy(&namesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByInlineContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, inlinecontext: u32, line: *mut u32, filebuffer: ::windows::core::PSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByInlineContext(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&inlinecontext), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn GetLineByInlineContextWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, inlinecontext: u32, line: *mut u32, filebuffer: ::windows::core::PWSTR, filebuffersize: u32, filesize: *mut u32, displacement: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetLineByInlineContextWide(::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&inlinecontext), ::core::mem::transmute_copy(&line), ::core::mem::transmute_copy(&filebuffer), ::core::mem::transmute_copy(&filebuffersize), ::core::mem::transmute_copy(&filesize), ::core::mem::transmute_copy(&displacement)).into()
}
unsafe extern "system" fn OutputSymbolByInlineContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, outputcontrol: u32, flags: u32, offset: u64, inlinecontext: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OutputSymbolByInlineContext(::core::mem::transmute_copy(&outputcontrol), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&offset), ::core::mem::transmute_copy(&inlinecontext)).into()
}
unsafe extern "system" fn GetCurrentScopeFrameIndexEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, index: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentScopeFrameIndexEx(::core::mem::transmute_copy(&flags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(index, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetScopeFrameByIndexEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSymbols5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, index: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetScopeFrameByIndexEx(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&index)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSymbolOptions: GetSymbolOptions::<Identity, Impl, OFFSET>,
AddSymbolOptions: AddSymbolOptions::<Identity, Impl, OFFSET>,
RemoveSymbolOptions: RemoveSymbolOptions::<Identity, Impl, OFFSET>,
SetSymbolOptions: SetSymbolOptions::<Identity, Impl, OFFSET>,
GetNameByOffset: GetNameByOffset::<Identity, Impl, OFFSET>,
GetOffsetByName: GetOffsetByName::<Identity, Impl, OFFSET>,
GetNearNameByOffset: GetNearNameByOffset::<Identity, Impl, OFFSET>,
GetLineByOffset: GetLineByOffset::<Identity, Impl, OFFSET>,
GetOffsetByLine: GetOffsetByLine::<Identity, Impl, OFFSET>,
GetNumberModules: GetNumberModules::<Identity, Impl, OFFSET>,
GetModuleByIndex: GetModuleByIndex::<Identity, Impl, OFFSET>,
GetModuleByModuleName: GetModuleByModuleName::<Identity, Impl, OFFSET>,
GetModuleByOffset: GetModuleByOffset::<Identity, Impl, OFFSET>,
GetModuleNames: GetModuleNames::<Identity, Impl, OFFSET>,
GetModuleParameters: GetModuleParameters::<Identity, Impl, OFFSET>,
GetSymbolModule: GetSymbolModule::<Identity, Impl, OFFSET>,
GetTypeName: GetTypeName::<Identity, Impl, OFFSET>,
GetTypeId: GetTypeId::<Identity, Impl, OFFSET>,
GetTypeSize: GetTypeSize::<Identity, Impl, OFFSET>,
GetFieldOffset: GetFieldOffset::<Identity, Impl, OFFSET>,
GetSymbolTypeId: GetSymbolTypeId::<Identity, Impl, OFFSET>,
GetOffsetTypeId: GetOffsetTypeId::<Identity, Impl, OFFSET>,
ReadTypedDataVirtual: ReadTypedDataVirtual::<Identity, Impl, OFFSET>,
WriteTypedDataVirtual: WriteTypedDataVirtual::<Identity, Impl, OFFSET>,
OutputTypedDataVirtual: OutputTypedDataVirtual::<Identity, Impl, OFFSET>,
ReadTypedDataPhysical: ReadTypedDataPhysical::<Identity, Impl, OFFSET>,
WriteTypedDataPhysical: WriteTypedDataPhysical::<Identity, Impl, OFFSET>,
OutputTypedDataPhysical: OutputTypedDataPhysical::<Identity, Impl, OFFSET>,
GetScope: GetScope::<Identity, Impl, OFFSET>,
SetScope: SetScope::<Identity, Impl, OFFSET>,
ResetScope: ResetScope::<Identity, Impl, OFFSET>,
GetScopeSymbolGroup: GetScopeSymbolGroup::<Identity, Impl, OFFSET>,
CreateSymbolGroup: CreateSymbolGroup::<Identity, Impl, OFFSET>,
StartSymbolMatch: StartSymbolMatch::<Identity, Impl, OFFSET>,
GetNextSymbolMatch: GetNextSymbolMatch::<Identity, Impl, OFFSET>,
EndSymbolMatch: EndSymbolMatch::<Identity, Impl, OFFSET>,
Reload: Reload::<Identity, Impl, OFFSET>,
GetSymbolPath: GetSymbolPath::<Identity, Impl, OFFSET>,
SetSymbolPath: SetSymbolPath::<Identity, Impl, OFFSET>,
AppendSymbolPath: AppendSymbolPath::<Identity, Impl, OFFSET>,
GetImagePath: GetImagePath::<Identity, Impl, OFFSET>,
SetImagePath: SetImagePath::<Identity, Impl, OFFSET>,
AppendImagePath: AppendImagePath::<Identity, Impl, OFFSET>,
GetSourcePath: GetSourcePath::<Identity, Impl, OFFSET>,
GetSourcePathElement: GetSourcePathElement::<Identity, Impl, OFFSET>,
SetSourcePath: SetSourcePath::<Identity, Impl, OFFSET>,
AppendSourcePath: AppendSourcePath::<Identity, Impl, OFFSET>,
FindSourceFile: FindSourceFile::<Identity, Impl, OFFSET>,
GetSourceFileLineOffsets: GetSourceFileLineOffsets::<Identity, Impl, OFFSET>,
GetModuleVersionInformation: GetModuleVersionInformation::<Identity, Impl, OFFSET>,
GetModuleNameString: GetModuleNameString::<Identity, Impl, OFFSET>,
GetConstantName: GetConstantName::<Identity, Impl, OFFSET>,
GetFieldName: GetFieldName::<Identity, Impl, OFFSET>,
GetTypeOptions: GetTypeOptions::<Identity, Impl, OFFSET>,
AddTypeOptions: AddTypeOptions::<Identity, Impl, OFFSET>,
RemoveTypeOptions: RemoveTypeOptions::<Identity, Impl, OFFSET>,
SetTypeOptions: SetTypeOptions::<Identity, Impl, OFFSET>,
GetNameByOffsetWide: GetNameByOffsetWide::<Identity, Impl, OFFSET>,
GetOffsetByNameWide: GetOffsetByNameWide::<Identity, Impl, OFFSET>,
GetNearNameByOffsetWide: GetNearNameByOffsetWide::<Identity, Impl, OFFSET>,
GetLineByOffsetWide: GetLineByOffsetWide::<Identity, Impl, OFFSET>,
GetOffsetByLineWide: GetOffsetByLineWide::<Identity, Impl, OFFSET>,
GetModuleByModuleNameWide: GetModuleByModuleNameWide::<Identity, Impl, OFFSET>,
GetSymbolModuleWide: GetSymbolModuleWide::<Identity, Impl, OFFSET>,
GetTypeNameWide: GetTypeNameWide::<Identity, Impl, OFFSET>,
GetTypeIdWide: GetTypeIdWide::<Identity, Impl, OFFSET>,
GetFieldOffsetWide: GetFieldOffsetWide::<Identity, Impl, OFFSET>,
GetSymbolTypeIdWide: GetSymbolTypeIdWide::<Identity, Impl, OFFSET>,
GetScopeSymbolGroup2: GetScopeSymbolGroup2::<Identity, Impl, OFFSET>,
CreateSymbolGroup2: CreateSymbolGroup2::<Identity, Impl, OFFSET>,
StartSymbolMatchWide: StartSymbolMatchWide::<Identity, Impl, OFFSET>,
GetNextSymbolMatchWide: GetNextSymbolMatchWide::<Identity, Impl, OFFSET>,
ReloadWide: ReloadWide::<Identity, Impl, OFFSET>,
GetSymbolPathWide: GetSymbolPathWide::<Identity, Impl, OFFSET>,
SetSymbolPathWide: SetSymbolPathWide::<Identity, Impl, OFFSET>,
AppendSymbolPathWide: AppendSymbolPathWide::<Identity, Impl, OFFSET>,
GetImagePathWide: GetImagePathWide::<Identity, Impl, OFFSET>,
SetImagePathWide: SetImagePathWide::<Identity, Impl, OFFSET>,
AppendImagePathWide: AppendImagePathWide::<Identity, Impl, OFFSET>,
GetSourcePathWide: GetSourcePathWide::<Identity, Impl, OFFSET>,
GetSourcePathElementWide: GetSourcePathElementWide::<Identity, Impl, OFFSET>,
SetSourcePathWide: SetSourcePathWide::<Identity, Impl, OFFSET>,
AppendSourcePathWide: AppendSourcePathWide::<Identity, Impl, OFFSET>,
FindSourceFileWide: FindSourceFileWide::<Identity, Impl, OFFSET>,
GetSourceFileLineOffsetsWide: GetSourceFileLineOffsetsWide::<Identity, Impl, OFFSET>,
GetModuleVersionInformationWide: GetModuleVersionInformationWide::<Identity, Impl, OFFSET>,
GetModuleNameStringWide: GetModuleNameStringWide::<Identity, Impl, OFFSET>,
GetConstantNameWide: GetConstantNameWide::<Identity, Impl, OFFSET>,
GetFieldNameWide: GetFieldNameWide::<Identity, Impl, OFFSET>,
IsManagedModule: IsManagedModule::<Identity, Impl, OFFSET>,
GetModuleByModuleName2: GetModuleByModuleName2::<Identity, Impl, OFFSET>,
GetModuleByModuleName2Wide: GetModuleByModuleName2Wide::<Identity, Impl, OFFSET>,
GetModuleByOffset2: GetModuleByOffset2::<Identity, Impl, OFFSET>,
AddSyntheticModule: AddSyntheticModule::<Identity, Impl, OFFSET>,
AddSyntheticModuleWide: AddSyntheticModuleWide::<Identity, Impl, OFFSET>,
RemoveSyntheticModule: RemoveSyntheticModule::<Identity, Impl, OFFSET>,
GetCurrentScopeFrameIndex: GetCurrentScopeFrameIndex::<Identity, Impl, OFFSET>,
SetScopeFrameByIndex: SetScopeFrameByIndex::<Identity, Impl, OFFSET>,
SetScopeFromJitDebugInfo: SetScopeFromJitDebugInfo::<Identity, Impl, OFFSET>,
SetScopeFromStoredEvent: SetScopeFromStoredEvent::<Identity, Impl, OFFSET>,
OutputSymbolByOffset: OutputSymbolByOffset::<Identity, Impl, OFFSET>,
GetFunctionEntryByOffset: GetFunctionEntryByOffset::<Identity, Impl, OFFSET>,
GetFieldTypeAndOffset: GetFieldTypeAndOffset::<Identity, Impl, OFFSET>,
GetFieldTypeAndOffsetWide: GetFieldTypeAndOffsetWide::<Identity, Impl, OFFSET>,
AddSyntheticSymbol: AddSyntheticSymbol::<Identity, Impl, OFFSET>,
AddSyntheticSymbolWide: AddSyntheticSymbolWide::<Identity, Impl, OFFSET>,
RemoveSyntheticSymbol: RemoveSyntheticSymbol::<Identity, Impl, OFFSET>,
GetSymbolEntriesByOffset: GetSymbolEntriesByOffset::<Identity, Impl, OFFSET>,
GetSymbolEntriesByName: GetSymbolEntriesByName::<Identity, Impl, OFFSET>,
GetSymbolEntriesByNameWide: GetSymbolEntriesByNameWide::<Identity, Impl, OFFSET>,
GetSymbolEntryByToken: GetSymbolEntryByToken::<Identity, Impl, OFFSET>,
GetSymbolEntryInformation: GetSymbolEntryInformation::<Identity, Impl, OFFSET>,
GetSymbolEntryString: GetSymbolEntryString::<Identity, Impl, OFFSET>,
GetSymbolEntryStringWide: GetSymbolEntryStringWide::<Identity, Impl, OFFSET>,
GetSymbolEntryOffsetRegions: GetSymbolEntryOffsetRegions::<Identity, Impl, OFFSET>,
GetSymbolEntryBySymbolEntry: GetSymbolEntryBySymbolEntry::<Identity, Impl, OFFSET>,
GetSourceEntriesByOffset: GetSourceEntriesByOffset::<Identity, Impl, OFFSET>,
GetSourceEntriesByLine: GetSourceEntriesByLine::<Identity, Impl, OFFSET>,
GetSourceEntriesByLineWide: GetSourceEntriesByLineWide::<Identity, Impl, OFFSET>,
GetSourceEntryString: GetSourceEntryString::<Identity, Impl, OFFSET>,
GetSourceEntryStringWide: GetSourceEntryStringWide::<Identity, Impl, OFFSET>,
GetSourceEntryOffsetRegions: GetSourceEntryOffsetRegions::<Identity, Impl, OFFSET>,
GetSourceEntryBySourceEntry: GetSourceEntryBySourceEntry::<Identity, Impl, OFFSET>,
GetScopeEx: GetScopeEx::<Identity, Impl, OFFSET>,
SetScopeEx: SetScopeEx::<Identity, Impl, OFFSET>,
GetNameByInlineContext: GetNameByInlineContext::<Identity, Impl, OFFSET>,
GetNameByInlineContextWide: GetNameByInlineContextWide::<Identity, Impl, OFFSET>,
GetLineByInlineContext: GetLineByInlineContext::<Identity, Impl, OFFSET>,
GetLineByInlineContextWide: GetLineByInlineContextWide::<Identity, Impl, OFFSET>,
OutputSymbolByInlineContext: OutputSymbolByInlineContext::<Identity, Impl, OFFSET>,
GetCurrentScopeFrameIndexEx: GetCurrentScopeFrameIndexEx::<Identity, Impl, OFFSET>,
SetScopeFrameByIndexEx: SetScopeFrameByIndexEx::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSymbols5 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugSyncOperation_Impl: Sized {
fn GetTargetThread(&self) -> ::windows::core::Result<IDebugApplicationThread>;
fn Execute(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
fn InProgressAbort(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugSyncOperation {}
impl IDebugSyncOperation_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSyncOperation_Impl, const OFFSET: isize>() -> IDebugSyncOperation_Vtbl {
unsafe extern "system" fn GetTargetThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSyncOperation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppattarget: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTargetThread() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppattarget, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Execute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSyncOperation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppunkresult: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Execute() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppunkresult, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn InProgressAbort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSyncOperation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.InProgressAbort().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTargetThread: GetTargetThread::<Identity, Impl, OFFSET>,
Execute: Execute::<Identity, Impl, OFFSET>,
InProgressAbort: InProgressAbort::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSyncOperation as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugSystemObjects_Impl: Sized {
fn GetEventThread(&self) -> ::windows::core::Result<u32>;
fn GetEventProcess(&self) -> ::windows::core::Result<u32>;
fn GetCurrentThreadId(&self) -> ::windows::core::Result<u32>;
fn SetCurrentThreadId(&self, id: u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessId(&self) -> ::windows::core::Result<u32>;
fn SetCurrentProcessId(&self, id: u32) -> ::windows::core::Result<()>;
fn GetNumberThreads(&self) -> ::windows::core::Result<u32>;
fn GetTotalNumberThreads(&self, total: *mut u32, largestprocess: *mut u32) -> ::windows::core::Result<()>;
fn GetThreadIdsByIndex(&self, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::Result<()>;
fn GetThreadIdByProcessor(&self, processor: u32) -> ::windows::core::Result<u32>;
fn GetCurrentThreadDataOffset(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByDataOffset(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentThreadTeb(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByTeb(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentThreadSystemId(&self) -> ::windows::core::Result<u32>;
fn GetThreadIdBySystemId(&self, sysid: u32) -> ::windows::core::Result<u32>;
fn GetCurrentThreadHandle(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByHandle(&self, handle: u64) -> ::windows::core::Result<u32>;
fn GetNumberProcesses(&self) -> ::windows::core::Result<u32>;
fn GetProcessIdsByIndex(&self, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessDataOffset(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByDataOffset(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessPeb(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByPeb(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessSystemId(&self) -> ::windows::core::Result<u32>;
fn GetProcessIdBySystemId(&self, sysid: u32) -> ::windows::core::Result<u32>;
fn GetCurrentProcessHandle(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByHandle(&self, handle: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessExecutableName(&self, buffer: ::windows::core::PSTR, buffersize: u32, exesize: *mut u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugSystemObjects {}
impl IDebugSystemObjects_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>() -> IDebugSystemObjects_Vtbl {
unsafe extern "system" fn GetEventThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventThread() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventProcess() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentThreadId(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetCurrentProcessId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentProcessId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentProcessId(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberThreads() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTotalNumberThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, total: *mut u32, largestprocess: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTotalNumberThreads(::core::mem::transmute_copy(&total), ::core::mem::transmute_copy(&largestprocess)).into()
}
unsafe extern "system" fn GetThreadIdsByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetThreadIdsByIndex(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&sysids)).into()
}
unsafe extern "system" fn GetThreadIdByProcessor<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByProcessor(::core::mem::transmute_copy(&processor)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByDataOffset(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadTeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadTeb() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByTeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByTeb(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadSystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(sysid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdBySystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdBySystemId(::core::mem::transmute_copy(&sysid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByHandle(::core::mem::transmute_copy(&handle)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberProcesses() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdsByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessIdsByIndex(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&sysids)).into()
}
unsafe extern "system" fn GetCurrentProcessDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByDataOffset(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessPeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessPeb() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByPeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByPeb(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessSystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(sysid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdBySystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdBySystemId(::core::mem::transmute_copy(&sysid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByHandle(::core::mem::transmute_copy(&handle)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, exesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrentProcessExecutableName(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&exesize)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetEventThread: GetEventThread::<Identity, Impl, OFFSET>,
GetEventProcess: GetEventProcess::<Identity, Impl, OFFSET>,
GetCurrentThreadId: GetCurrentThreadId::<Identity, Impl, OFFSET>,
SetCurrentThreadId: SetCurrentThreadId::<Identity, Impl, OFFSET>,
GetCurrentProcessId: GetCurrentProcessId::<Identity, Impl, OFFSET>,
SetCurrentProcessId: SetCurrentProcessId::<Identity, Impl, OFFSET>,
GetNumberThreads: GetNumberThreads::<Identity, Impl, OFFSET>,
GetTotalNumberThreads: GetTotalNumberThreads::<Identity, Impl, OFFSET>,
GetThreadIdsByIndex: GetThreadIdsByIndex::<Identity, Impl, OFFSET>,
GetThreadIdByProcessor: GetThreadIdByProcessor::<Identity, Impl, OFFSET>,
GetCurrentThreadDataOffset: GetCurrentThreadDataOffset::<Identity, Impl, OFFSET>,
GetThreadIdByDataOffset: GetThreadIdByDataOffset::<Identity, Impl, OFFSET>,
GetCurrentThreadTeb: GetCurrentThreadTeb::<Identity, Impl, OFFSET>,
GetThreadIdByTeb: GetThreadIdByTeb::<Identity, Impl, OFFSET>,
GetCurrentThreadSystemId: GetCurrentThreadSystemId::<Identity, Impl, OFFSET>,
GetThreadIdBySystemId: GetThreadIdBySystemId::<Identity, Impl, OFFSET>,
GetCurrentThreadHandle: GetCurrentThreadHandle::<Identity, Impl, OFFSET>,
GetThreadIdByHandle: GetThreadIdByHandle::<Identity, Impl, OFFSET>,
GetNumberProcesses: GetNumberProcesses::<Identity, Impl, OFFSET>,
GetProcessIdsByIndex: GetProcessIdsByIndex::<Identity, Impl, OFFSET>,
GetCurrentProcessDataOffset: GetCurrentProcessDataOffset::<Identity, Impl, OFFSET>,
GetProcessIdByDataOffset: GetProcessIdByDataOffset::<Identity, Impl, OFFSET>,
GetCurrentProcessPeb: GetCurrentProcessPeb::<Identity, Impl, OFFSET>,
GetProcessIdByPeb: GetProcessIdByPeb::<Identity, Impl, OFFSET>,
GetCurrentProcessSystemId: GetCurrentProcessSystemId::<Identity, Impl, OFFSET>,
GetProcessIdBySystemId: GetProcessIdBySystemId::<Identity, Impl, OFFSET>,
GetCurrentProcessHandle: GetCurrentProcessHandle::<Identity, Impl, OFFSET>,
GetProcessIdByHandle: GetProcessIdByHandle::<Identity, Impl, OFFSET>,
GetCurrentProcessExecutableName: GetCurrentProcessExecutableName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSystemObjects as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugSystemObjects2_Impl: Sized {
fn GetEventThread(&self) -> ::windows::core::Result<u32>;
fn GetEventProcess(&self) -> ::windows::core::Result<u32>;
fn GetCurrentThreadId(&self) -> ::windows::core::Result<u32>;
fn SetCurrentThreadId(&self, id: u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessId(&self) -> ::windows::core::Result<u32>;
fn SetCurrentProcessId(&self, id: u32) -> ::windows::core::Result<()>;
fn GetNumberThreads(&self) -> ::windows::core::Result<u32>;
fn GetTotalNumberThreads(&self, total: *mut u32, largestprocess: *mut u32) -> ::windows::core::Result<()>;
fn GetThreadIdsByIndex(&self, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::Result<()>;
fn GetThreadIdByProcessor(&self, processor: u32) -> ::windows::core::Result<u32>;
fn GetCurrentThreadDataOffset(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByDataOffset(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentThreadTeb(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByTeb(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentThreadSystemId(&self) -> ::windows::core::Result<u32>;
fn GetThreadIdBySystemId(&self, sysid: u32) -> ::windows::core::Result<u32>;
fn GetCurrentThreadHandle(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByHandle(&self, handle: u64) -> ::windows::core::Result<u32>;
fn GetNumberProcesses(&self) -> ::windows::core::Result<u32>;
fn GetProcessIdsByIndex(&self, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessDataOffset(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByDataOffset(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessPeb(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByPeb(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessSystemId(&self) -> ::windows::core::Result<u32>;
fn GetProcessIdBySystemId(&self, sysid: u32) -> ::windows::core::Result<u32>;
fn GetCurrentProcessHandle(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByHandle(&self, handle: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessExecutableName(&self, buffer: ::windows::core::PSTR, buffersize: u32, exesize: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessUpTime(&self) -> ::windows::core::Result<u32>;
fn GetImplicitThreadDataOffset(&self) -> ::windows::core::Result<u64>;
fn SetImplicitThreadDataOffset(&self, offset: u64) -> ::windows::core::Result<()>;
fn GetImplicitProcessDataOffset(&self) -> ::windows::core::Result<u64>;
fn SetImplicitProcessDataOffset(&self, offset: u64) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugSystemObjects2 {}
impl IDebugSystemObjects2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>() -> IDebugSystemObjects2_Vtbl {
unsafe extern "system" fn GetEventThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventThread() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventProcess() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentThreadId(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetCurrentProcessId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentProcessId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentProcessId(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberThreads() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTotalNumberThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, total: *mut u32, largestprocess: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTotalNumberThreads(::core::mem::transmute_copy(&total), ::core::mem::transmute_copy(&largestprocess)).into()
}
unsafe extern "system" fn GetThreadIdsByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetThreadIdsByIndex(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&sysids)).into()
}
unsafe extern "system" fn GetThreadIdByProcessor<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByProcessor(::core::mem::transmute_copy(&processor)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByDataOffset(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadTeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadTeb() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByTeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByTeb(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadSystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(sysid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdBySystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdBySystemId(::core::mem::transmute_copy(&sysid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByHandle(::core::mem::transmute_copy(&handle)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberProcesses() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdsByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessIdsByIndex(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&sysids)).into()
}
unsafe extern "system" fn GetCurrentProcessDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByDataOffset(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessPeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessPeb() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByPeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByPeb(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessSystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(sysid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdBySystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdBySystemId(::core::mem::transmute_copy(&sysid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByHandle(::core::mem::transmute_copy(&handle)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, exesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrentProcessExecutableName(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&exesize)).into()
}
unsafe extern "system" fn GetCurrentProcessUpTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uptime: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessUpTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(uptime, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetImplicitThreadDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetImplicitThreadDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitThreadDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImplicitThreadDataOffset(::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetImplicitProcessDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetImplicitProcessDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitProcessDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImplicitProcessDataOffset(::core::mem::transmute_copy(&offset)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetEventThread: GetEventThread::<Identity, Impl, OFFSET>,
GetEventProcess: GetEventProcess::<Identity, Impl, OFFSET>,
GetCurrentThreadId: GetCurrentThreadId::<Identity, Impl, OFFSET>,
SetCurrentThreadId: SetCurrentThreadId::<Identity, Impl, OFFSET>,
GetCurrentProcessId: GetCurrentProcessId::<Identity, Impl, OFFSET>,
SetCurrentProcessId: SetCurrentProcessId::<Identity, Impl, OFFSET>,
GetNumberThreads: GetNumberThreads::<Identity, Impl, OFFSET>,
GetTotalNumberThreads: GetTotalNumberThreads::<Identity, Impl, OFFSET>,
GetThreadIdsByIndex: GetThreadIdsByIndex::<Identity, Impl, OFFSET>,
GetThreadIdByProcessor: GetThreadIdByProcessor::<Identity, Impl, OFFSET>,
GetCurrentThreadDataOffset: GetCurrentThreadDataOffset::<Identity, Impl, OFFSET>,
GetThreadIdByDataOffset: GetThreadIdByDataOffset::<Identity, Impl, OFFSET>,
GetCurrentThreadTeb: GetCurrentThreadTeb::<Identity, Impl, OFFSET>,
GetThreadIdByTeb: GetThreadIdByTeb::<Identity, Impl, OFFSET>,
GetCurrentThreadSystemId: GetCurrentThreadSystemId::<Identity, Impl, OFFSET>,
GetThreadIdBySystemId: GetThreadIdBySystemId::<Identity, Impl, OFFSET>,
GetCurrentThreadHandle: GetCurrentThreadHandle::<Identity, Impl, OFFSET>,
GetThreadIdByHandle: GetThreadIdByHandle::<Identity, Impl, OFFSET>,
GetNumberProcesses: GetNumberProcesses::<Identity, Impl, OFFSET>,
GetProcessIdsByIndex: GetProcessIdsByIndex::<Identity, Impl, OFFSET>,
GetCurrentProcessDataOffset: GetCurrentProcessDataOffset::<Identity, Impl, OFFSET>,
GetProcessIdByDataOffset: GetProcessIdByDataOffset::<Identity, Impl, OFFSET>,
GetCurrentProcessPeb: GetCurrentProcessPeb::<Identity, Impl, OFFSET>,
GetProcessIdByPeb: GetProcessIdByPeb::<Identity, Impl, OFFSET>,
GetCurrentProcessSystemId: GetCurrentProcessSystemId::<Identity, Impl, OFFSET>,
GetProcessIdBySystemId: GetProcessIdBySystemId::<Identity, Impl, OFFSET>,
GetCurrentProcessHandle: GetCurrentProcessHandle::<Identity, Impl, OFFSET>,
GetProcessIdByHandle: GetProcessIdByHandle::<Identity, Impl, OFFSET>,
GetCurrentProcessExecutableName: GetCurrentProcessExecutableName::<Identity, Impl, OFFSET>,
GetCurrentProcessUpTime: GetCurrentProcessUpTime::<Identity, Impl, OFFSET>,
GetImplicitThreadDataOffset: GetImplicitThreadDataOffset::<Identity, Impl, OFFSET>,
SetImplicitThreadDataOffset: SetImplicitThreadDataOffset::<Identity, Impl, OFFSET>,
GetImplicitProcessDataOffset: GetImplicitProcessDataOffset::<Identity, Impl, OFFSET>,
SetImplicitProcessDataOffset: SetImplicitProcessDataOffset::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSystemObjects2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugSystemObjects3_Impl: Sized {
fn GetEventThread(&self) -> ::windows::core::Result<u32>;
fn GetEventProcess(&self) -> ::windows::core::Result<u32>;
fn GetCurrentThreadId(&self) -> ::windows::core::Result<u32>;
fn SetCurrentThreadId(&self, id: u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessId(&self) -> ::windows::core::Result<u32>;
fn SetCurrentProcessId(&self, id: u32) -> ::windows::core::Result<()>;
fn GetNumberThreads(&self) -> ::windows::core::Result<u32>;
fn GetTotalNumberThreads(&self, total: *mut u32, largestprocess: *mut u32) -> ::windows::core::Result<()>;
fn GetThreadIdsByIndex(&self, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::Result<()>;
fn GetThreadIdByProcessor(&self, processor: u32) -> ::windows::core::Result<u32>;
fn GetCurrentThreadDataOffset(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByDataOffset(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentThreadTeb(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByTeb(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentThreadSystemId(&self) -> ::windows::core::Result<u32>;
fn GetThreadIdBySystemId(&self, sysid: u32) -> ::windows::core::Result<u32>;
fn GetCurrentThreadHandle(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByHandle(&self, handle: u64) -> ::windows::core::Result<u32>;
fn GetNumberProcesses(&self) -> ::windows::core::Result<u32>;
fn GetProcessIdsByIndex(&self, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessDataOffset(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByDataOffset(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessPeb(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByPeb(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessSystemId(&self) -> ::windows::core::Result<u32>;
fn GetProcessIdBySystemId(&self, sysid: u32) -> ::windows::core::Result<u32>;
fn GetCurrentProcessHandle(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByHandle(&self, handle: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessExecutableName(&self, buffer: ::windows::core::PSTR, buffersize: u32, exesize: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessUpTime(&self) -> ::windows::core::Result<u32>;
fn GetImplicitThreadDataOffset(&self) -> ::windows::core::Result<u64>;
fn SetImplicitThreadDataOffset(&self, offset: u64) -> ::windows::core::Result<()>;
fn GetImplicitProcessDataOffset(&self) -> ::windows::core::Result<u64>;
fn SetImplicitProcessDataOffset(&self, offset: u64) -> ::windows::core::Result<()>;
fn GetEventSystem(&self) -> ::windows::core::Result<u32>;
fn GetCurrentSystemId(&self) -> ::windows::core::Result<u32>;
fn SetCurrentSystemId(&self, id: u32) -> ::windows::core::Result<()>;
fn GetNumberSystems(&self) -> ::windows::core::Result<u32>;
fn GetSystemIdsByIndex(&self, start: u32, count: u32, ids: *mut u32) -> ::windows::core::Result<()>;
fn GetTotalNumberThreadsAndProcesses(&self, totalthreads: *mut u32, totalprocesses: *mut u32, largestprocessthreads: *mut u32, largestsystemthreads: *mut u32, largestsystemprocesses: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentSystemServer(&self) -> ::windows::core::Result<u64>;
fn GetSystemByServer(&self, server: u64) -> ::windows::core::Result<u32>;
fn GetCurrentSystemServerName(&self, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugSystemObjects3 {}
impl IDebugSystemObjects3_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>() -> IDebugSystemObjects3_Vtbl {
unsafe extern "system" fn GetEventThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventThread() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventProcess() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentThreadId(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetCurrentProcessId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentProcessId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentProcessId(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberThreads() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTotalNumberThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, total: *mut u32, largestprocess: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTotalNumberThreads(::core::mem::transmute_copy(&total), ::core::mem::transmute_copy(&largestprocess)).into()
}
unsafe extern "system" fn GetThreadIdsByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetThreadIdsByIndex(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&sysids)).into()
}
unsafe extern "system" fn GetThreadIdByProcessor<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByProcessor(::core::mem::transmute_copy(&processor)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByDataOffset(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadTeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadTeb() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByTeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByTeb(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadSystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(sysid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdBySystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdBySystemId(::core::mem::transmute_copy(&sysid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByHandle(::core::mem::transmute_copy(&handle)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberProcesses() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdsByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessIdsByIndex(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&sysids)).into()
}
unsafe extern "system" fn GetCurrentProcessDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByDataOffset(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessPeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessPeb() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByPeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByPeb(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessSystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(sysid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdBySystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdBySystemId(::core::mem::transmute_copy(&sysid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByHandle(::core::mem::transmute_copy(&handle)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, exesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrentProcessExecutableName(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&exesize)).into()
}
unsafe extern "system" fn GetCurrentProcessUpTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uptime: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessUpTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(uptime, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetImplicitThreadDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetImplicitThreadDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitThreadDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImplicitThreadDataOffset(::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetImplicitProcessDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetImplicitProcessDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitProcessDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImplicitProcessDataOffset(::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetEventSystem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventSystem() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentSystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentSystemId(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberSystems<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberSystems() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemIdsByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, ids: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemIdsByIndex(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids)).into()
}
unsafe extern "system" fn GetTotalNumberThreadsAndProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, totalthreads: *mut u32, totalprocesses: *mut u32, largestprocessthreads: *mut u32, largestsystemthreads: *mut u32, largestsystemprocesses: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTotalNumberThreadsAndProcesses(::core::mem::transmute_copy(&totalthreads), ::core::mem::transmute_copy(&totalprocesses), ::core::mem::transmute_copy(&largestprocessthreads), ::core::mem::transmute_copy(&largestsystemthreads), ::core::mem::transmute_copy(&largestsystemprocesses)).into()
}
unsafe extern "system" fn GetCurrentSystemServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentSystemServer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemByServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSystemByServer(::core::mem::transmute_copy(&server)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemServerName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrentSystemServerName(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetEventThread: GetEventThread::<Identity, Impl, OFFSET>,
GetEventProcess: GetEventProcess::<Identity, Impl, OFFSET>,
GetCurrentThreadId: GetCurrentThreadId::<Identity, Impl, OFFSET>,
SetCurrentThreadId: SetCurrentThreadId::<Identity, Impl, OFFSET>,
GetCurrentProcessId: GetCurrentProcessId::<Identity, Impl, OFFSET>,
SetCurrentProcessId: SetCurrentProcessId::<Identity, Impl, OFFSET>,
GetNumberThreads: GetNumberThreads::<Identity, Impl, OFFSET>,
GetTotalNumberThreads: GetTotalNumberThreads::<Identity, Impl, OFFSET>,
GetThreadIdsByIndex: GetThreadIdsByIndex::<Identity, Impl, OFFSET>,
GetThreadIdByProcessor: GetThreadIdByProcessor::<Identity, Impl, OFFSET>,
GetCurrentThreadDataOffset: GetCurrentThreadDataOffset::<Identity, Impl, OFFSET>,
GetThreadIdByDataOffset: GetThreadIdByDataOffset::<Identity, Impl, OFFSET>,
GetCurrentThreadTeb: GetCurrentThreadTeb::<Identity, Impl, OFFSET>,
GetThreadIdByTeb: GetThreadIdByTeb::<Identity, Impl, OFFSET>,
GetCurrentThreadSystemId: GetCurrentThreadSystemId::<Identity, Impl, OFFSET>,
GetThreadIdBySystemId: GetThreadIdBySystemId::<Identity, Impl, OFFSET>,
GetCurrentThreadHandle: GetCurrentThreadHandle::<Identity, Impl, OFFSET>,
GetThreadIdByHandle: GetThreadIdByHandle::<Identity, Impl, OFFSET>,
GetNumberProcesses: GetNumberProcesses::<Identity, Impl, OFFSET>,
GetProcessIdsByIndex: GetProcessIdsByIndex::<Identity, Impl, OFFSET>,
GetCurrentProcessDataOffset: GetCurrentProcessDataOffset::<Identity, Impl, OFFSET>,
GetProcessIdByDataOffset: GetProcessIdByDataOffset::<Identity, Impl, OFFSET>,
GetCurrentProcessPeb: GetCurrentProcessPeb::<Identity, Impl, OFFSET>,
GetProcessIdByPeb: GetProcessIdByPeb::<Identity, Impl, OFFSET>,
GetCurrentProcessSystemId: GetCurrentProcessSystemId::<Identity, Impl, OFFSET>,
GetProcessIdBySystemId: GetProcessIdBySystemId::<Identity, Impl, OFFSET>,
GetCurrentProcessHandle: GetCurrentProcessHandle::<Identity, Impl, OFFSET>,
GetProcessIdByHandle: GetProcessIdByHandle::<Identity, Impl, OFFSET>,
GetCurrentProcessExecutableName: GetCurrentProcessExecutableName::<Identity, Impl, OFFSET>,
GetCurrentProcessUpTime: GetCurrentProcessUpTime::<Identity, Impl, OFFSET>,
GetImplicitThreadDataOffset: GetImplicitThreadDataOffset::<Identity, Impl, OFFSET>,
SetImplicitThreadDataOffset: SetImplicitThreadDataOffset::<Identity, Impl, OFFSET>,
GetImplicitProcessDataOffset: GetImplicitProcessDataOffset::<Identity, Impl, OFFSET>,
SetImplicitProcessDataOffset: SetImplicitProcessDataOffset::<Identity, Impl, OFFSET>,
GetEventSystem: GetEventSystem::<Identity, Impl, OFFSET>,
GetCurrentSystemId: GetCurrentSystemId::<Identity, Impl, OFFSET>,
SetCurrentSystemId: SetCurrentSystemId::<Identity, Impl, OFFSET>,
GetNumberSystems: GetNumberSystems::<Identity, Impl, OFFSET>,
GetSystemIdsByIndex: GetSystemIdsByIndex::<Identity, Impl, OFFSET>,
GetTotalNumberThreadsAndProcesses: GetTotalNumberThreadsAndProcesses::<Identity, Impl, OFFSET>,
GetCurrentSystemServer: GetCurrentSystemServer::<Identity, Impl, OFFSET>,
GetSystemByServer: GetSystemByServer::<Identity, Impl, OFFSET>,
GetCurrentSystemServerName: GetCurrentSystemServerName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSystemObjects3 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugSystemObjects4_Impl: Sized {
fn GetEventThread(&self) -> ::windows::core::Result<u32>;
fn GetEventProcess(&self) -> ::windows::core::Result<u32>;
fn GetCurrentThreadId(&self) -> ::windows::core::Result<u32>;
fn SetCurrentThreadId(&self, id: u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessId(&self) -> ::windows::core::Result<u32>;
fn SetCurrentProcessId(&self, id: u32) -> ::windows::core::Result<()>;
fn GetNumberThreads(&self) -> ::windows::core::Result<u32>;
fn GetTotalNumberThreads(&self, total: *mut u32, largestprocess: *mut u32) -> ::windows::core::Result<()>;
fn GetThreadIdsByIndex(&self, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::Result<()>;
fn GetThreadIdByProcessor(&self, processor: u32) -> ::windows::core::Result<u32>;
fn GetCurrentThreadDataOffset(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByDataOffset(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentThreadTeb(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByTeb(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentThreadSystemId(&self) -> ::windows::core::Result<u32>;
fn GetThreadIdBySystemId(&self, sysid: u32) -> ::windows::core::Result<u32>;
fn GetCurrentThreadHandle(&self) -> ::windows::core::Result<u64>;
fn GetThreadIdByHandle(&self, handle: u64) -> ::windows::core::Result<u32>;
fn GetNumberProcesses(&self) -> ::windows::core::Result<u32>;
fn GetProcessIdsByIndex(&self, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessDataOffset(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByDataOffset(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessPeb(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByPeb(&self, offset: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessSystemId(&self) -> ::windows::core::Result<u32>;
fn GetProcessIdBySystemId(&self, sysid: u32) -> ::windows::core::Result<u32>;
fn GetCurrentProcessHandle(&self) -> ::windows::core::Result<u64>;
fn GetProcessIdByHandle(&self, handle: u64) -> ::windows::core::Result<u32>;
fn GetCurrentProcessExecutableName(&self, buffer: ::windows::core::PSTR, buffersize: u32, exesize: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessUpTime(&self) -> ::windows::core::Result<u32>;
fn GetImplicitThreadDataOffset(&self) -> ::windows::core::Result<u64>;
fn SetImplicitThreadDataOffset(&self, offset: u64) -> ::windows::core::Result<()>;
fn GetImplicitProcessDataOffset(&self) -> ::windows::core::Result<u64>;
fn SetImplicitProcessDataOffset(&self, offset: u64) -> ::windows::core::Result<()>;
fn GetEventSystem(&self) -> ::windows::core::Result<u32>;
fn GetCurrentSystemId(&self) -> ::windows::core::Result<u32>;
fn SetCurrentSystemId(&self, id: u32) -> ::windows::core::Result<()>;
fn GetNumberSystems(&self) -> ::windows::core::Result<u32>;
fn GetSystemIdsByIndex(&self, start: u32, count: u32, ids: *mut u32) -> ::windows::core::Result<()>;
fn GetTotalNumberThreadsAndProcesses(&self, totalthreads: *mut u32, totalprocesses: *mut u32, largestprocessthreads: *mut u32, largestsystemthreads: *mut u32, largestsystemprocesses: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentSystemServer(&self) -> ::windows::core::Result<u64>;
fn GetSystemByServer(&self, server: u64) -> ::windows::core::Result<u32>;
fn GetCurrentSystemServerName(&self, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentProcessExecutableNameWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, exesize: *mut u32) -> ::windows::core::Result<()>;
fn GetCurrentSystemServerNameWide(&self, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugSystemObjects4 {}
impl IDebugSystemObjects4_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>() -> IDebugSystemObjects4_Vtbl {
unsafe extern "system" fn GetEventThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventThread() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventProcess() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentThreadId(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetCurrentProcessId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentProcessId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentProcessId(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberThreads() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTotalNumberThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, total: *mut u32, largestprocess: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTotalNumberThreads(::core::mem::transmute_copy(&total), ::core::mem::transmute_copy(&largestprocess)).into()
}
unsafe extern "system" fn GetThreadIdsByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetThreadIdsByIndex(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&sysids)).into()
}
unsafe extern "system" fn GetThreadIdByProcessor<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processor: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByProcessor(::core::mem::transmute_copy(&processor)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByDataOffset(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadTeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadTeb() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByTeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByTeb(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadSystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(sysid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdBySystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdBySystemId(::core::mem::transmute_copy(&sysid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentThreadHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetThreadIdByHandle(::core::mem::transmute_copy(&handle)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberProcesses() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdsByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetProcessIdsByIndex(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids), ::core::mem::transmute_copy(&sysids)).into()
}
unsafe extern "system" fn GetCurrentProcessDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByDataOffset(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessPeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessPeb() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByPeb<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByPeb(::core::mem::transmute_copy(&offset)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessSystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(sysid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdBySystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sysid: u32, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdBySystemId(::core::mem::transmute_copy(&sysid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessHandle() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(handle, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, handle: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetProcessIdByHandle(::core::mem::transmute_copy(&handle)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessExecutableName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, exesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrentProcessExecutableName(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&exesize)).into()
}
unsafe extern "system" fn GetCurrentProcessUpTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uptime: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentProcessUpTime() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(uptime, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetImplicitThreadDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetImplicitThreadDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitThreadDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImplicitThreadDataOffset(::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetImplicitProcessDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetImplicitProcessDataOffset() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(offset, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitProcessDataOffset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, offset: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetImplicitProcessDataOffset(::core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetEventSystem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventSystem() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentSystemId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentSystemId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetCurrentSystemId(::core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberSystems<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, number: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberSystems() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(number, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemIdsByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: u32, count: u32, ids: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSystemIdsByIndex(::core::mem::transmute_copy(&start), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ids)).into()
}
unsafe extern "system" fn GetTotalNumberThreadsAndProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, totalthreads: *mut u32, totalprocesses: *mut u32, largestprocessthreads: *mut u32, largestsystemthreads: *mut u32, largestsystemprocesses: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTotalNumberThreadsAndProcesses(::core::mem::transmute_copy(&totalthreads), ::core::mem::transmute_copy(&totalprocesses), ::core::mem::transmute_copy(&largestprocessthreads), ::core::mem::transmute_copy(&largestsystemthreads), ::core::mem::transmute_copy(&largestsystemprocesses)).into()
}
unsafe extern "system" fn GetCurrentSystemServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentSystemServer() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(server, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemByServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, server: u64, id: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSystemByServer(::core::mem::transmute_copy(&server)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(id, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemServerName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrentSystemServerName(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
unsafe extern "system" fn GetCurrentProcessExecutableNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, exesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrentProcessExecutableNameWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&exesize)).into()
}
unsafe extern "system" fn GetCurrentSystemServerNameWide<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugSystemObjects4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: ::windows::core::PWSTR, buffersize: u32, namesize: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetCurrentSystemServerNameWide(::core::mem::transmute_copy(&buffer), ::core::mem::transmute_copy(&buffersize), ::core::mem::transmute_copy(&namesize)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetEventThread: GetEventThread::<Identity, Impl, OFFSET>,
GetEventProcess: GetEventProcess::<Identity, Impl, OFFSET>,
GetCurrentThreadId: GetCurrentThreadId::<Identity, Impl, OFFSET>,
SetCurrentThreadId: SetCurrentThreadId::<Identity, Impl, OFFSET>,
GetCurrentProcessId: GetCurrentProcessId::<Identity, Impl, OFFSET>,
SetCurrentProcessId: SetCurrentProcessId::<Identity, Impl, OFFSET>,
GetNumberThreads: GetNumberThreads::<Identity, Impl, OFFSET>,
GetTotalNumberThreads: GetTotalNumberThreads::<Identity, Impl, OFFSET>,
GetThreadIdsByIndex: GetThreadIdsByIndex::<Identity, Impl, OFFSET>,
GetThreadIdByProcessor: GetThreadIdByProcessor::<Identity, Impl, OFFSET>,
GetCurrentThreadDataOffset: GetCurrentThreadDataOffset::<Identity, Impl, OFFSET>,
GetThreadIdByDataOffset: GetThreadIdByDataOffset::<Identity, Impl, OFFSET>,
GetCurrentThreadTeb: GetCurrentThreadTeb::<Identity, Impl, OFFSET>,
GetThreadIdByTeb: GetThreadIdByTeb::<Identity, Impl, OFFSET>,
GetCurrentThreadSystemId: GetCurrentThreadSystemId::<Identity, Impl, OFFSET>,
GetThreadIdBySystemId: GetThreadIdBySystemId::<Identity, Impl, OFFSET>,
GetCurrentThreadHandle: GetCurrentThreadHandle::<Identity, Impl, OFFSET>,
GetThreadIdByHandle: GetThreadIdByHandle::<Identity, Impl, OFFSET>,
GetNumberProcesses: GetNumberProcesses::<Identity, Impl, OFFSET>,
GetProcessIdsByIndex: GetProcessIdsByIndex::<Identity, Impl, OFFSET>,
GetCurrentProcessDataOffset: GetCurrentProcessDataOffset::<Identity, Impl, OFFSET>,
GetProcessIdByDataOffset: GetProcessIdByDataOffset::<Identity, Impl, OFFSET>,
GetCurrentProcessPeb: GetCurrentProcessPeb::<Identity, Impl, OFFSET>,
GetProcessIdByPeb: GetProcessIdByPeb::<Identity, Impl, OFFSET>,
GetCurrentProcessSystemId: GetCurrentProcessSystemId::<Identity, Impl, OFFSET>,
GetProcessIdBySystemId: GetProcessIdBySystemId::<Identity, Impl, OFFSET>,
GetCurrentProcessHandle: GetCurrentProcessHandle::<Identity, Impl, OFFSET>,
GetProcessIdByHandle: GetProcessIdByHandle::<Identity, Impl, OFFSET>,
GetCurrentProcessExecutableName: GetCurrentProcessExecutableName::<Identity, Impl, OFFSET>,
GetCurrentProcessUpTime: GetCurrentProcessUpTime::<Identity, Impl, OFFSET>,
GetImplicitThreadDataOffset: GetImplicitThreadDataOffset::<Identity, Impl, OFFSET>,
SetImplicitThreadDataOffset: SetImplicitThreadDataOffset::<Identity, Impl, OFFSET>,
GetImplicitProcessDataOffset: GetImplicitProcessDataOffset::<Identity, Impl, OFFSET>,
SetImplicitProcessDataOffset: SetImplicitProcessDataOffset::<Identity, Impl, OFFSET>,
GetEventSystem: GetEventSystem::<Identity, Impl, OFFSET>,
GetCurrentSystemId: GetCurrentSystemId::<Identity, Impl, OFFSET>,
SetCurrentSystemId: SetCurrentSystemId::<Identity, Impl, OFFSET>,
GetNumberSystems: GetNumberSystems::<Identity, Impl, OFFSET>,
GetSystemIdsByIndex: GetSystemIdsByIndex::<Identity, Impl, OFFSET>,
GetTotalNumberThreadsAndProcesses: GetTotalNumberThreadsAndProcesses::<Identity, Impl, OFFSET>,
GetCurrentSystemServer: GetCurrentSystemServer::<Identity, Impl, OFFSET>,
GetSystemByServer: GetSystemByServer::<Identity, Impl, OFFSET>,
GetCurrentSystemServerName: GetCurrentSystemServerName::<Identity, Impl, OFFSET>,
GetCurrentProcessExecutableNameWide: GetCurrentProcessExecutableNameWide::<Identity, Impl, OFFSET>,
GetCurrentSystemServerNameWide: GetCurrentSystemServerNameWide::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugSystemObjects4 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugThreadCall32_Impl: Sized {
fn ThreadCallHandler(&self, dwparam1: u32, dwparam2: u32, dwparam3: u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugThreadCall32 {}
impl IDebugThreadCall32_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugThreadCall32_Impl, const OFFSET: isize>() -> IDebugThreadCall32_Vtbl {
unsafe extern "system" fn ThreadCallHandler<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugThreadCall32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwparam1: u32, dwparam2: u32, dwparam3: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ThreadCallHandler(::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ThreadCallHandler: ThreadCallHandler::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugThreadCall32 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDebugThreadCall64_Impl: Sized {
fn ThreadCallHandler(&self, dwparam1: u64, dwparam2: u64, dwparam3: u64) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDebugThreadCall64 {}
impl IDebugThreadCall64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugThreadCall64_Impl, const OFFSET: isize>() -> IDebugThreadCall64_Vtbl {
unsafe extern "system" fn ThreadCallHandler<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDebugThreadCall64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwparam1: u64, dwparam2: u64, dwparam3: u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ThreadCallHandler(::core::mem::transmute_copy(&dwparam1), ::core::mem::transmute_copy(&dwparam2), ::core::mem::transmute_copy(&dwparam3)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ThreadCallHandler: ThreadCallHandler::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDebugThreadCall64 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDynamicConceptProviderConcept_Impl: Sized {
fn GetConcept(&self, contextobject: ::core::option::Option<&IModelObject>, conceptid: *const ::windows::core::GUID, conceptinterface: *mut ::core::option::Option<::windows::core::IUnknown>, conceptmetadata: *mut ::core::option::Option<IKeyStore>, hasconcept: *mut bool) -> ::windows::core::Result<()>;
fn SetConcept(&self, contextobject: ::core::option::Option<&IModelObject>, conceptid: *const ::windows::core::GUID, conceptinterface: ::core::option::Option<&::windows::core::IUnknown>, conceptmetadata: ::core::option::Option<&IKeyStore>) -> ::windows::core::Result<()>;
fn NotifyParent(&self, parentmodel: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
fn NotifyParentChange(&self, parentmodel: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
fn NotifyDestruct(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IDynamicConceptProviderConcept {}
impl IDynamicConceptProviderConcept_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDynamicConceptProviderConcept_Impl, const OFFSET: isize>() -> IDynamicConceptProviderConcept_Vtbl {
unsafe extern "system" fn GetConcept<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDynamicConceptProviderConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, conceptid: *const ::windows::core::GUID, conceptinterface: *mut *mut ::core::ffi::c_void, conceptmetadata: *mut *mut ::core::ffi::c_void, hasconcept: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetConcept(::windows::core::from_raw_borrowed(&contextobject), ::core::mem::transmute_copy(&conceptid), ::core::mem::transmute_copy(&conceptinterface), ::core::mem::transmute_copy(&conceptmetadata), ::core::mem::transmute_copy(&hasconcept)).into()
}
unsafe extern "system" fn SetConcept<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDynamicConceptProviderConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, conceptid: *const ::windows::core::GUID, conceptinterface: *mut ::core::ffi::c_void, conceptmetadata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetConcept(::windows::core::from_raw_borrowed(&contextobject), ::core::mem::transmute_copy(&conceptid), ::windows::core::from_raw_borrowed(&conceptinterface), ::windows::core::from_raw_borrowed(&conceptmetadata)).into()
}
unsafe extern "system" fn NotifyParent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDynamicConceptProviderConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, parentmodel: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.NotifyParent(::windows::core::from_raw_borrowed(&parentmodel)).into()
}
unsafe extern "system" fn NotifyParentChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDynamicConceptProviderConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, parentmodel: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.NotifyParentChange(::windows::core::from_raw_borrowed(&parentmodel)).into()
}
unsafe extern "system" fn NotifyDestruct<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDynamicConceptProviderConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.NotifyDestruct().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetConcept: GetConcept::<Identity, Impl, OFFSET>,
SetConcept: SetConcept::<Identity, Impl, OFFSET>,
NotifyParent: NotifyParent::<Identity, Impl, OFFSET>,
NotifyParentChange: NotifyParentChange::<Identity, Impl, OFFSET>,
NotifyDestruct: NotifyDestruct::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDynamicConceptProviderConcept as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IDynamicKeyProviderConcept_Impl: Sized {
fn GetKey(&self, contextobject: ::core::option::Option<&IModelObject>, key: &::windows::core::PCWSTR, keyvalue: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>, haskey: *mut bool) -> ::windows::core::Result<()>;
fn SetKey(&self, contextobject: ::core::option::Option<&IModelObject>, key: &::windows::core::PCWSTR, keyvalue: ::core::option::Option<&IModelObject>, metadata: ::core::option::Option<&IKeyStore>) -> ::windows::core::Result<()>;
fn EnumerateKeys(&self, contextobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<IKeyEnumerator>;
}
impl ::windows::core::RuntimeName for IDynamicKeyProviderConcept {}
impl IDynamicKeyProviderConcept_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDynamicKeyProviderConcept_Impl, const OFFSET: isize>() -> IDynamicKeyProviderConcept_Vtbl {
unsafe extern "system" fn GetKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDynamicKeyProviderConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, keyvalue: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void, haskey: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKey(::windows::core::from_raw_borrowed(&contextobject), ::core::mem::transmute(&key), ::core::mem::transmute_copy(&keyvalue), ::core::mem::transmute_copy(&metadata), ::core::mem::transmute_copy(&haskey)).into()
}
unsafe extern "system" fn SetKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDynamicKeyProviderConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, keyvalue: *mut ::core::ffi::c_void, metadata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKey(::windows::core::from_raw_borrowed(&contextobject), ::core::mem::transmute(&key), ::windows::core::from_raw_borrowed(&keyvalue), ::windows::core::from_raw_borrowed(&metadata)).into()
}
unsafe extern "system" fn EnumerateKeys<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDynamicKeyProviderConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, ppenumerator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateKeys(::windows::core::from_raw_borrowed(&contextobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenumerator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetKey: GetKey::<Identity, Impl, OFFSET>,
SetKey: SetKey::<Identity, Impl, OFFSET>,
EnumerateKeys: EnumerateKeys::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IDynamicKeyProviderConcept as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IEnumDebugApplicationNodes_Impl: Sized {
fn Next(&self, celt: u32, pprddp: *mut ::core::option::Option<IDebugApplicationNode>, pceltfetched: *mut u32) -> ::windows::core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows::core::Result<()>;
fn Reset(&self) -> ::windows::core::Result<()>;
fn Clone(&self) -> ::windows::core::Result<IEnumDebugApplicationNodes>;
}
impl ::windows::core::RuntimeName for IEnumDebugApplicationNodes {}
impl IEnumDebugApplicationNodes_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugApplicationNodes_Impl, const OFFSET: isize>() -> IEnumDebugApplicationNodes_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugApplicationNodes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, pprddp: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&pprddp), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugApplicationNodes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugApplicationNodes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugApplicationNodes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pperddp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pperddp, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IEnumDebugApplicationNodes as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IEnumDebugCodeContexts_Impl: Sized {
fn Next(&self, celt: u32, pscc: *mut ::core::option::Option<IDebugCodeContext>, pceltfetched: *mut u32) -> ::windows::core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows::core::Result<()>;
fn Reset(&self) -> ::windows::core::Result<()>;
fn Clone(&self) -> ::windows::core::Result<IEnumDebugCodeContexts>;
}
impl ::windows::core::RuntimeName for IEnumDebugCodeContexts {}
impl IEnumDebugCodeContexts_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugCodeContexts_Impl, const OFFSET: isize>() -> IEnumDebugCodeContexts_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugCodeContexts_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, pscc: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&pscc), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugCodeContexts_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugCodeContexts_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugCodeContexts_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppescc: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppescc, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IEnumDebugCodeContexts as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IEnumDebugExpressionContexts_Impl: Sized {
fn Next(&self, celt: u32, ppdec: *mut ::core::option::Option<IDebugExpressionContext>, pceltfetched: *mut u32) -> ::windows::core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows::core::Result<()>;
fn Reset(&self) -> ::windows::core::Result<()>;
fn Clone(&self) -> ::windows::core::Result<IEnumDebugExpressionContexts>;
}
impl ::windows::core::RuntimeName for IEnumDebugExpressionContexts {}
impl IEnumDebugExpressionContexts_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugExpressionContexts_Impl, const OFFSET: isize>() -> IEnumDebugExpressionContexts_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugExpressionContexts_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, ppdec: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&ppdec), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugExpressionContexts_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugExpressionContexts_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugExpressionContexts_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppedec: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppedec, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IEnumDebugExpressionContexts as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com_StructuredStorage\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole"))]
pub trait IEnumDebugExtendedPropertyInfo_Impl: Sized {
fn Next(&self, celt: u32, rgextendedpropertyinfo: *mut ExtendedDebugPropertyInfo, pceltfetched: *mut u32) -> ::windows::core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows::core::Result<()>;
fn Reset(&self) -> ::windows::core::Result<()>;
fn Clone(&self) -> ::windows::core::Result<IEnumDebugExtendedPropertyInfo>;
fn GetCount(&self) -> ::windows::core::Result<u32>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IEnumDebugExtendedPropertyInfo {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com_StructuredStorage", feature = "Win32_System_Ole"))]
impl IEnumDebugExtendedPropertyInfo_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugExtendedPropertyInfo_Impl, const OFFSET: isize>() -> IEnumDebugExtendedPropertyInfo_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugExtendedPropertyInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, rgextendedpropertyinfo: *mut ExtendedDebugPropertyInfo, pceltfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&rgextendedpropertyinfo), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugExtendedPropertyInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugExtendedPropertyInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugExtendedPropertyInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pedpe: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pedpe, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugExtendedPropertyInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcelt: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcelt, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
GetCount: GetCount::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IEnumDebugExtendedPropertyInfo as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IEnumDebugPropertyInfo_Impl: Sized {
fn Next(&self, celt: u32, pi: *mut DebugPropertyInfo, pceltsfetched: *mut u32) -> ::windows::core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows::core::Result<()>;
fn Reset(&self) -> ::windows::core::Result<()>;
fn Clone(&self) -> ::windows::core::Result<IEnumDebugPropertyInfo>;
fn GetCount(&self) -> ::windows::core::Result<u32>;
}
impl ::windows::core::RuntimeName for IEnumDebugPropertyInfo {}
impl IEnumDebugPropertyInfo_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugPropertyInfo_Impl, const OFFSET: isize>() -> IEnumDebugPropertyInfo_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugPropertyInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, pi: *mut DebugPropertyInfo, pceltsfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&pi), ::core::mem::transmute_copy(&pceltsfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugPropertyInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugPropertyInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugPropertyInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppepi: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppepi, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugPropertyInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcelt: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcelt, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
GetCount: GetCount::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IEnumDebugPropertyInfo as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IEnumDebugStackFrames_Impl: Sized {
fn Next(&self, celt: u32, prgdsfd: *mut DebugStackFrameDescriptor, pceltfetched: *mut u32) -> ::windows::core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows::core::Result<()>;
fn Reset(&self) -> ::windows::core::Result<()>;
fn Clone(&self) -> ::windows::core::Result<IEnumDebugStackFrames>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IEnumDebugStackFrames {}
#[cfg(feature = "Win32_Foundation")]
impl IEnumDebugStackFrames_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugStackFrames_Impl, const OFFSET: isize>() -> IEnumDebugStackFrames_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugStackFrames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, prgdsfd: *mut DebugStackFrameDescriptor, pceltfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&prgdsfd), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugStackFrames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugStackFrames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugStackFrames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppedsf: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppedsf, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IEnumDebugStackFrames as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IEnumDebugStackFrames64_Impl: Sized + IEnumDebugStackFrames_Impl {
fn Next64(&self, celt: u32, prgdsfd: *mut DebugStackFrameDescriptor64, pceltfetched: *mut u32) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IEnumDebugStackFrames64 {}
#[cfg(feature = "Win32_Foundation")]
impl IEnumDebugStackFrames64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugStackFrames64_Impl, const OFFSET: isize>() -> IEnumDebugStackFrames64_Vtbl {
unsafe extern "system" fn Next64<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumDebugStackFrames64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, prgdsfd: *mut DebugStackFrameDescriptor64, pceltfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next64(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&prgdsfd), ::core::mem::transmute_copy(&pceltfetched)).into()
}
Self { base__: IEnumDebugStackFrames_Vtbl::new::<Identity, Impl, OFFSET>(), Next64: Next64::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IEnumDebugStackFrames64 as ::windows::core::ComInterface>::IID || iid == &<IEnumDebugStackFrames as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IEnumJsStackFrames_Impl: Sized {
fn Next(&self, cframecount: u32, pframes: *mut JS_NATIVE_FRAME, pcfetched: *mut u32) -> ::windows::core::Result<()>;
fn Reset(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IEnumJsStackFrames {}
impl IEnumJsStackFrames_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumJsStackFrames_Impl, const OFFSET: isize>() -> IEnumJsStackFrames_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumJsStackFrames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cframecount: u32, pframes: *mut JS_NATIVE_FRAME, pcfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&cframecount), ::core::mem::transmute_copy(&pframes), ::core::mem::transmute_copy(&pcfetched)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumJsStackFrames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Next: Next::<Identity, Impl, OFFSET>, Reset: Reset::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IEnumJsStackFrames as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IEnumRemoteDebugApplicationThreads_Impl: Sized {
fn Next(&self, celt: u32, pprdat: *mut ::core::option::Option<IRemoteDebugApplicationThread>, pceltfetched: *mut u32) -> ::windows::core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows::core::Result<()>;
fn Reset(&self) -> ::windows::core::Result<()>;
fn Clone(&self) -> ::windows::core::Result<IEnumRemoteDebugApplicationThreads>;
}
impl ::windows::core::RuntimeName for IEnumRemoteDebugApplicationThreads {}
impl IEnumRemoteDebugApplicationThreads_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumRemoteDebugApplicationThreads_Impl, const OFFSET: isize>() -> IEnumRemoteDebugApplicationThreads_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumRemoteDebugApplicationThreads_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, pprdat: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&pprdat), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumRemoteDebugApplicationThreads_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumRemoteDebugApplicationThreads_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumRemoteDebugApplicationThreads_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pperdat: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pperdat, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IEnumRemoteDebugApplicationThreads as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IEnumRemoteDebugApplications_Impl: Sized {
fn Next(&self, celt: u32, ppda: *mut ::core::option::Option<IRemoteDebugApplication>, pceltfetched: *mut u32) -> ::windows::core::Result<()>;
fn Skip(&self, celt: u32) -> ::windows::core::Result<()>;
fn Reset(&self) -> ::windows::core::Result<()>;
fn Clone(&self) -> ::windows::core::Result<IEnumRemoteDebugApplications>;
}
impl ::windows::core::RuntimeName for IEnumRemoteDebugApplications {}
impl IEnumRemoteDebugApplications_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumRemoteDebugApplications_Impl, const OFFSET: isize>() -> IEnumRemoteDebugApplications_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumRemoteDebugApplications_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, ppda: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&ppda), ::core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumRemoteDebugApplications_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Skip(::core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumRemoteDebugApplications_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumRemoteDebugApplications_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppessd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Clone() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppessd, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
Skip: Skip::<Identity, Impl, OFFSET>,
Reset: Reset::<Identity, Impl, OFFSET>,
Clone: Clone::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IEnumRemoteDebugApplications as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IEquatableConcept_Impl: Sized {
fn AreObjectsEqual(&self, contextobject: ::core::option::Option<&IModelObject>, otherobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<bool>;
}
impl ::windows::core::RuntimeName for IEquatableConcept {}
impl IEquatableConcept_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEquatableConcept_Impl, const OFFSET: isize>() -> IEquatableConcept_Vtbl {
unsafe extern "system" fn AreObjectsEqual<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEquatableConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, otherobject: *mut ::core::ffi::c_void, isequal: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AreObjectsEqual(::windows::core::from_raw_borrowed(&contextobject), ::windows::core::from_raw_borrowed(&otherobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(isequal, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), AreObjectsEqual: AreObjectsEqual::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IEquatableConcept as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IHostDataModelAccess_Impl: Sized {
fn GetDataModel(&self, manager: *mut ::core::option::Option<IDataModelManager>, host: *mut ::core::option::Option<IDebugHost>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IHostDataModelAccess {}
impl IHostDataModelAccess_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IHostDataModelAccess_Impl, const OFFSET: isize>() -> IHostDataModelAccess_Vtbl {
unsafe extern "system" fn GetDataModel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IHostDataModelAccess_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, manager: *mut *mut ::core::ffi::c_void, host: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDataModel(::core::mem::transmute_copy(&manager), ::core::mem::transmute_copy(&host)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetDataModel: GetDataModel::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IHostDataModelAccess as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IIndexableConcept_Impl: Sized {
fn GetDimensionality(&self, contextobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<u64>;
fn GetAt(&self, contextobject: ::core::option::Option<&IModelObject>, indexercount: u64, indexers: *const ::core::option::Option<IModelObject>, object: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn SetAt(&self, contextobject: ::core::option::Option<&IModelObject>, indexercount: u64, indexers: *const ::core::option::Option<IModelObject>, value: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IIndexableConcept {}
impl IIndexableConcept_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IIndexableConcept_Impl, const OFFSET: isize>() -> IIndexableConcept_Vtbl {
unsafe extern "system" fn GetDimensionality<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IIndexableConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, dimensionality: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDimensionality(::windows::core::from_raw_borrowed(&contextobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(dimensionality, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IIndexableConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, indexercount: u64, indexers: *const *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetAt(::windows::core::from_raw_borrowed(&contextobject), ::core::mem::transmute_copy(&indexercount), ::core::mem::transmute_copy(&indexers), ::core::mem::transmute_copy(&object), ::core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn SetAt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IIndexableConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, indexercount: u64, indexers: *const *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetAt(::windows::core::from_raw_borrowed(&contextobject), ::core::mem::transmute_copy(&indexercount), ::core::mem::transmute_copy(&indexers), ::windows::core::from_raw_borrowed(&value)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDimensionality: GetDimensionality::<Identity, Impl, OFFSET>,
GetAt: GetAt::<Identity, Impl, OFFSET>,
SetAt: SetAt::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IIndexableConcept as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IIterableConcept_Impl: Sized {
fn GetDefaultIndexDimensionality(&self, contextobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<u64>;
fn GetIterator(&self, contextobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<IModelIterator>;
}
impl ::windows::core::RuntimeName for IIterableConcept {}
impl IIterableConcept_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IIterableConcept_Impl, const OFFSET: isize>() -> IIterableConcept_Vtbl {
unsafe extern "system" fn GetDefaultIndexDimensionality<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IIterableConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, dimensionality: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDefaultIndexDimensionality(::windows::core::from_raw_borrowed(&contextobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(dimensionality, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIterator<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IIterableConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, iterator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetIterator(::windows::core::from_raw_borrowed(&contextobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(iterator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDefaultIndexDimensionality: GetDefaultIndexDimensionality::<Identity, Impl, OFFSET>,
GetIterator: GetIterator::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IIterableConcept as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IJsDebug_Impl: Sized {
fn OpenVirtualProcess(&self, processid: u32, runtimejsbaseaddress: u64, pdatatarget: ::core::option::Option<&IJsDebugDataTarget>) -> ::windows::core::Result<IJsDebugProcess>;
}
impl ::windows::core::RuntimeName for IJsDebug {}
impl IJsDebug_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebug_Impl, const OFFSET: isize>() -> IJsDebug_Vtbl {
unsafe extern "system" fn OpenVirtualProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processid: u32, runtimejsbaseaddress: u64, pdatatarget: *mut ::core::ffi::c_void, ppprocess: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.OpenVirtualProcess(::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&runtimejsbaseaddress), ::windows::core::from_raw_borrowed(&pdatatarget)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppprocess, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OpenVirtualProcess: OpenVirtualProcess::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IJsDebug as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IJsDebugBreakPoint_Impl: Sized {
fn IsEnabled(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
fn Enable(&self) -> ::windows::core::Result<()>;
fn Disable(&self) -> ::windows::core::Result<()>;
fn Delete(&self) -> ::windows::core::Result<()>;
fn GetDocumentPosition(&self, pdocumentid: *mut u64, pcharacteroffset: *mut u32, pstatementcharcount: *mut u32) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IJsDebugBreakPoint {}
#[cfg(feature = "Win32_Foundation")]
impl IJsDebugBreakPoint_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugBreakPoint_Impl, const OFFSET: isize>() -> IJsDebugBreakPoint_Vtbl {
unsafe extern "system" fn IsEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugBreakPoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pisenabled: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsEnabled() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pisenabled, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Enable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugBreakPoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Enable().into()
}
unsafe extern "system" fn Disable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugBreakPoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Disable().into()
}
unsafe extern "system" fn Delete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugBreakPoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Delete().into()
}
unsafe extern "system" fn GetDocumentPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugBreakPoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdocumentid: *mut u64, pcharacteroffset: *mut u32, pstatementcharcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDocumentPosition(::core::mem::transmute_copy(&pdocumentid), ::core::mem::transmute_copy(&pcharacteroffset), ::core::mem::transmute_copy(&pstatementcharcount)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
IsEnabled: IsEnabled::<Identity, Impl, OFFSET>,
Enable: Enable::<Identity, Impl, OFFSET>,
Disable: Disable::<Identity, Impl, OFFSET>,
Delete: Delete::<Identity, Impl, OFFSET>,
GetDocumentPosition: GetDocumentPosition::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IJsDebugBreakPoint as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IJsDebugDataTarget_Impl: Sized {
fn ReadMemory(&self, address: u64, flags: JsDebugReadMemoryFlags, pbuffer: *mut u8, size: u32, pbytesread: *mut u32) -> ::windows::core::Result<()>;
fn WriteMemory(&self, address: u64, pmemory: *const u8, size: u32) -> ::windows::core::Result<()>;
fn AllocateVirtualMemory(&self, address: u64, size: u32, allocationtype: u32, pageprotection: u32) -> ::windows::core::Result<u64>;
fn FreeVirtualMemory(&self, address: u64, size: u32, freetype: u32) -> ::windows::core::Result<()>;
fn GetTlsValue(&self, threadid: u32, tlsindex: u32) -> ::windows::core::Result<u64>;
fn ReadBSTR(&self, address: u64) -> ::windows::core::Result<::windows::core::BSTR>;
fn ReadNullTerminatedString(&self, address: u64, charactersize: u16, maxcharacters: u32) -> ::windows::core::Result<::windows::core::BSTR>;
fn CreateStackFrameEnumerator(&self, threadid: u32) -> ::windows::core::Result<IEnumJsStackFrames>;
fn GetThreadContext(&self, threadid: u32, contextflags: u32, contextsize: u32, pcontext: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IJsDebugDataTarget {}
impl IJsDebugDataTarget_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugDataTarget_Impl, const OFFSET: isize>() -> IJsDebugDataTarget_Vtbl {
unsafe extern "system" fn ReadMemory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugDataTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, address: u64, flags: JsDebugReadMemoryFlags, pbuffer: *mut u8, size: u32, pbytesread: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ReadMemory(::core::mem::transmute_copy(&address), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pbuffer), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&pbytesread)).into()
}
unsafe extern "system" fn WriteMemory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugDataTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, address: u64, pmemory: *const u8, size: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.WriteMemory(::core::mem::transmute_copy(&address), ::core::mem::transmute_copy(&pmemory), ::core::mem::transmute_copy(&size)).into()
}
unsafe extern "system" fn AllocateVirtualMemory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugDataTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, address: u64, size: u32, allocationtype: u32, pageprotection: u32, pallocatedaddress: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AllocateVirtualMemory(::core::mem::transmute_copy(&address), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&allocationtype), ::core::mem::transmute_copy(&pageprotection)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pallocatedaddress, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn FreeVirtualMemory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugDataTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, address: u64, size: u32, freetype: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FreeVirtualMemory(::core::mem::transmute_copy(&address), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&freetype)).into()
}
unsafe extern "system" fn GetTlsValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugDataTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, threadid: u32, tlsindex: u32, pvalue: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTlsValue(::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&tlsindex)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadBSTR<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugDataTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, address: u64, pstring: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ReadBSTR(::core::mem::transmute_copy(&address)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstring, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadNullTerminatedString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugDataTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, address: u64, charactersize: u16, maxcharacters: u32, pstring: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ReadNullTerminatedString(::core::mem::transmute_copy(&address), ::core::mem::transmute_copy(&charactersize), ::core::mem::transmute_copy(&maxcharacters)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstring, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateStackFrameEnumerator<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugDataTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, threadid: u32, ppenumerator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateStackFrameEnumerator(::core::mem::transmute_copy(&threadid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenumerator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugDataTarget_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, threadid: u32, contextflags: u32, contextsize: u32, pcontext: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetThreadContext(::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&contextflags), ::core::mem::transmute_copy(&contextsize), ::core::mem::transmute_copy(&pcontext)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ReadMemory: ReadMemory::<Identity, Impl, OFFSET>,
WriteMemory: WriteMemory::<Identity, Impl, OFFSET>,
AllocateVirtualMemory: AllocateVirtualMemory::<Identity, Impl, OFFSET>,
FreeVirtualMemory: FreeVirtualMemory::<Identity, Impl, OFFSET>,
GetTlsValue: GetTlsValue::<Identity, Impl, OFFSET>,
ReadBSTR: ReadBSTR::<Identity, Impl, OFFSET>,
ReadNullTerminatedString: ReadNullTerminatedString::<Identity, Impl, OFFSET>,
CreateStackFrameEnumerator: CreateStackFrameEnumerator::<Identity, Impl, OFFSET>,
GetThreadContext: GetThreadContext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IJsDebugDataTarget as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IJsDebugFrame_Impl: Sized {
fn GetStackRange(&self, pstart: *mut u64, pend: *mut u64) -> ::windows::core::Result<()>;
fn GetName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetDocumentPositionWithId(&self, pdocumentid: *mut u64, pcharacteroffset: *mut u32, pstatementcharcount: *mut u32) -> ::windows::core::Result<()>;
fn GetDocumentPositionWithName(&self, pdocumentname: *mut ::windows::core::BSTR, pline: *mut u32, pcolumn: *mut u32) -> ::windows::core::Result<()>;
fn GetDebugProperty(&self) -> ::windows::core::Result<IJsDebugProperty>;
fn GetReturnAddress(&self) -> ::windows::core::Result<u64>;
fn Evaluate(&self, pexpressiontext: &::windows::core::PCWSTR, ppdebugproperty: *mut ::core::option::Option<IJsDebugProperty>, perror: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IJsDebugFrame {}
impl IJsDebugFrame_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugFrame_Impl, const OFFSET: isize>() -> IJsDebugFrame_Vtbl {
unsafe extern "system" fn GetStackRange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstart: *mut u64, pend: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetStackRange(::core::mem::transmute_copy(&pstart), ::core::mem::transmute_copy(&pend)).into()
}
unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pname, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDocumentPositionWithId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdocumentid: *mut u64, pcharacteroffset: *mut u32, pstatementcharcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDocumentPositionWithId(::core::mem::transmute_copy(&pdocumentid), ::core::mem::transmute_copy(&pcharacteroffset), ::core::mem::transmute_copy(&pstatementcharcount)).into()
}
unsafe extern "system" fn GetDocumentPositionWithName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdocumentname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pline: *mut u32, pcolumn: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDocumentPositionWithName(::core::mem::transmute_copy(&pdocumentname), ::core::mem::transmute_copy(&pline), ::core::mem::transmute_copy(&pcolumn)).into()
}
unsafe extern "system" fn GetDebugProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdebugproperty: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDebugProperty() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdebugproperty, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetReturnAddress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, preturnaddress: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetReturnAddress() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(preturnaddress, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Evaluate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pexpressiontext: ::windows::core::PCWSTR, ppdebugproperty: *mut *mut ::core::ffi::c_void, perror: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Evaluate(::core::mem::transmute(&pexpressiontext), ::core::mem::transmute_copy(&ppdebugproperty), ::core::mem::transmute_copy(&perror)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetStackRange: GetStackRange::<Identity, Impl, OFFSET>,
GetName: GetName::<Identity, Impl, OFFSET>,
GetDocumentPositionWithId: GetDocumentPositionWithId::<Identity, Impl, OFFSET>,
GetDocumentPositionWithName: GetDocumentPositionWithName::<Identity, Impl, OFFSET>,
GetDebugProperty: GetDebugProperty::<Identity, Impl, OFFSET>,
GetReturnAddress: GetReturnAddress::<Identity, Impl, OFFSET>,
Evaluate: Evaluate::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IJsDebugFrame as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IJsDebugProcess_Impl: Sized {
fn CreateStackWalker(&self, threadid: u32) -> ::windows::core::Result<IJsDebugStackWalker>;
fn CreateBreakPoint(&self, documentid: u64, characteroffset: u32, charactercount: u32, isenabled: super::super::super::Foundation::BOOL) -> ::windows::core::Result<IJsDebugBreakPoint>;
fn PerformAsyncBreak(&self, threadid: u32) -> ::windows::core::Result<()>;
fn GetExternalStepAddress(&self) -> ::windows::core::Result<u64>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IJsDebugProcess {}
#[cfg(feature = "Win32_Foundation")]
impl IJsDebugProcess_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugProcess_Impl, const OFFSET: isize>() -> IJsDebugProcess_Vtbl {
unsafe extern "system" fn CreateStackWalker<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugProcess_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, threadid: u32, ppstackwalker: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateStackWalker(::core::mem::transmute_copy(&threadid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppstackwalker, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugProcess_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, documentid: u64, characteroffset: u32, charactercount: u32, isenabled: super::super::super::Foundation::BOOL, ppdebugbreakpoint: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateBreakPoint(::core::mem::transmute_copy(&documentid), ::core::mem::transmute_copy(&characteroffset), ::core::mem::transmute_copy(&charactercount), ::core::mem::transmute_copy(&isenabled)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdebugbreakpoint, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn PerformAsyncBreak<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugProcess_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, threadid: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.PerformAsyncBreak(::core::mem::transmute_copy(&threadid)).into()
}
unsafe extern "system" fn GetExternalStepAddress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugProcess_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcodeaddress: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetExternalStepAddress() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcodeaddress, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CreateStackWalker: CreateStackWalker::<Identity, Impl, OFFSET>,
CreateBreakPoint: CreateBreakPoint::<Identity, Impl, OFFSET>,
PerformAsyncBreak: PerformAsyncBreak::<Identity, Impl, OFFSET>,
GetExternalStepAddress: GetExternalStepAddress::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IJsDebugProcess as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IJsDebugProperty_Impl: Sized {
fn GetPropertyInfo(&self, nradix: u32, ppropertyinfo: *mut JsDebugPropertyInfo) -> ::windows::core::Result<()>;
fn GetMembers(&self, members: JS_PROPERTY_MEMBERS) -> ::windows::core::Result<IJsEnumDebugProperty>;
}
impl ::windows::core::RuntimeName for IJsDebugProperty {}
impl IJsDebugProperty_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugProperty_Impl, const OFFSET: isize>() -> IJsDebugProperty_Vtbl {
unsafe extern "system" fn GetPropertyInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nradix: u32, ppropertyinfo: *mut JsDebugPropertyInfo) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPropertyInfo(::core::mem::transmute_copy(&nradix), ::core::mem::transmute_copy(&ppropertyinfo)).into()
}
unsafe extern "system" fn GetMembers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, members: JS_PROPERTY_MEMBERS, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMembers(::core::mem::transmute_copy(&members)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetPropertyInfo: GetPropertyInfo::<Identity, Impl, OFFSET>,
GetMembers: GetMembers::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IJsDebugProperty as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IJsDebugStackWalker_Impl: Sized {
fn GetNext(&self) -> ::windows::core::Result<IJsDebugFrame>;
}
impl ::windows::core::RuntimeName for IJsDebugStackWalker {}
impl IJsDebugStackWalker_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugStackWalker_Impl, const OFFSET: isize>() -> IJsDebugStackWalker_Vtbl {
unsafe extern "system" fn GetNext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsDebugStackWalker_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppframe: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppframe, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetNext: GetNext::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IJsDebugStackWalker as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IJsEnumDebugProperty_Impl: Sized {
fn Next(&self, count: u32, ppdebugproperty: *mut ::core::option::Option<IJsDebugProperty>, pactualcount: *mut u32) -> ::windows::core::Result<()>;
fn GetCount(&self) -> ::windows::core::Result<u32>;
}
impl ::windows::core::RuntimeName for IJsEnumDebugProperty {}
impl IJsEnumDebugProperty_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsEnumDebugProperty_Impl, const OFFSET: isize>() -> IJsEnumDebugProperty_Vtbl {
unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsEnumDebugProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: u32, ppdebugproperty: *mut *mut ::core::ffi::c_void, pactualcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Next(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&ppdebugproperty), ::core::mem::transmute_copy(&pactualcount)).into()
}
unsafe extern "system" fn GetCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IJsEnumDebugProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcount, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, Impl, OFFSET>,
GetCount: GetCount::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IJsEnumDebugProperty as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IKeyEnumerator_Impl: Sized {
fn Reset(&self) -> ::windows::core::Result<()>;
fn GetNext(&self, key: *mut ::windows::core::BSTR, value: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IKeyEnumerator {}
impl IKeyEnumerator_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IKeyEnumerator_Impl, const OFFSET: isize>() -> IKeyEnumerator_Vtbl {
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IKeyEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn GetNext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IKeyEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, value: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNext(::core::mem::transmute_copy(&key), ::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&metadata)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Reset: Reset::<Identity, Impl, OFFSET>,
GetNext: GetNext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IKeyEnumerator as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IKeyStore_Impl: Sized {
fn GetKey(&self, key: &::windows::core::PCWSTR, object: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn SetKey(&self, key: &::windows::core::PCWSTR, object: ::core::option::Option<&IModelObject>, metadata: ::core::option::Option<&IKeyStore>) -> ::windows::core::Result<()>;
fn GetKeyValue(&self, key: &::windows::core::PCWSTR, object: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn SetKeyValue(&self, key: &::windows::core::PCWSTR, object: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
fn ClearKeys(&self) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IKeyStore {}
impl IKeyStore_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IKeyStore_Impl, const OFFSET: isize>() -> IKeyStore_Vtbl {
unsafe extern "system" fn GetKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IKeyStore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, object: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKey(::core::mem::transmute(&key), ::core::mem::transmute_copy(&object), ::core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn SetKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IKeyStore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, object: *mut ::core::ffi::c_void, metadata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKey(::core::mem::transmute(&key), ::windows::core::from_raw_borrowed(&object), ::windows::core::from_raw_borrowed(&metadata)).into()
}
unsafe extern "system" fn GetKeyValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IKeyStore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, object: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKeyValue(::core::mem::transmute(&key), ::core::mem::transmute_copy(&object), ::core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn SetKeyValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IKeyStore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, object: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKeyValue(::core::mem::transmute(&key), ::windows::core::from_raw_borrowed(&object)).into()
}
unsafe extern "system" fn ClearKeys<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IKeyStore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ClearKeys().into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetKey: GetKey::<Identity, Impl, OFFSET>,
SetKey: SetKey::<Identity, Impl, OFFSET>,
GetKeyValue: GetKeyValue::<Identity, Impl, OFFSET>,
SetKeyValue: SetKeyValue::<Identity, Impl, OFFSET>,
ClearKeys: ClearKeys::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IKeyStore as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IMachineDebugManager_Impl: Sized {
fn AddApplication(&self, pda: ::core::option::Option<&IRemoteDebugApplication>) -> ::windows::core::Result<u32>;
fn RemoveApplication(&self, dwappcookie: u32) -> ::windows::core::Result<()>;
fn EnumApplications(&self) -> ::windows::core::Result<IEnumRemoteDebugApplications>;
}
impl ::windows::core::RuntimeName for IMachineDebugManager {}
impl IMachineDebugManager_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMachineDebugManager_Impl, const OFFSET: isize>() -> IMachineDebugManager_Vtbl {
unsafe extern "system" fn AddApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMachineDebugManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pda: *mut ::core::ffi::c_void, pdwappcookie: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddApplication(::windows::core::from_raw_borrowed(&pda)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwappcookie, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMachineDebugManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwappcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveApplication(::core::mem::transmute_copy(&dwappcookie)).into()
}
unsafe extern "system" fn EnumApplications<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMachineDebugManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppeda: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumApplications() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppeda, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AddApplication: AddApplication::<Identity, Impl, OFFSET>,
RemoveApplication: RemoveApplication::<Identity, Impl, OFFSET>,
EnumApplications: EnumApplications::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IMachineDebugManager as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IMachineDebugManagerCookie_Impl: Sized {
fn AddApplication(&self, pda: ::core::option::Option<&IRemoteDebugApplication>, dwdebugappcookie: u32) -> ::windows::core::Result<u32>;
fn RemoveApplication(&self, dwdebugappcookie: u32, dwappcookie: u32) -> ::windows::core::Result<()>;
fn EnumApplications(&self) -> ::windows::core::Result<IEnumRemoteDebugApplications>;
}
impl ::windows::core::RuntimeName for IMachineDebugManagerCookie {}
impl IMachineDebugManagerCookie_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMachineDebugManagerCookie_Impl, const OFFSET: isize>() -> IMachineDebugManagerCookie_Vtbl {
unsafe extern "system" fn AddApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMachineDebugManagerCookie_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pda: *mut ::core::ffi::c_void, dwdebugappcookie: u32, pdwappcookie: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddApplication(::windows::core::from_raw_borrowed(&pda), ::core::mem::transmute_copy(&dwdebugappcookie)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwappcookie, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMachineDebugManagerCookie_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwdebugappcookie: u32, dwappcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveApplication(::core::mem::transmute_copy(&dwdebugappcookie), ::core::mem::transmute_copy(&dwappcookie)).into()
}
unsafe extern "system" fn EnumApplications<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMachineDebugManagerCookie_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppeda: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumApplications() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppeda, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AddApplication: AddApplication::<Identity, Impl, OFFSET>,
RemoveApplication: RemoveApplication::<Identity, Impl, OFFSET>,
EnumApplications: EnumApplications::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IMachineDebugManagerCookie as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IMachineDebugManagerEvents_Impl: Sized {
fn onAddApplication(&self, pda: ::core::option::Option<&IRemoteDebugApplication>, dwappcookie: u32) -> ::windows::core::Result<()>;
fn onRemoveApplication(&self, pda: ::core::option::Option<&IRemoteDebugApplication>, dwappcookie: u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IMachineDebugManagerEvents {}
impl IMachineDebugManagerEvents_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMachineDebugManagerEvents_Impl, const OFFSET: isize>() -> IMachineDebugManagerEvents_Vtbl {
unsafe extern "system" fn onAddApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMachineDebugManagerEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pda: *mut ::core::ffi::c_void, dwappcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onAddApplication(::windows::core::from_raw_borrowed(&pda), ::core::mem::transmute_copy(&dwappcookie)).into()
}
unsafe extern "system" fn onRemoveApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMachineDebugManagerEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pda: *mut ::core::ffi::c_void, dwappcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.onRemoveApplication(::windows::core::from_raw_borrowed(&pda), ::core::mem::transmute_copy(&dwappcookie)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
onAddApplication: onAddApplication::<Identity, Impl, OFFSET>,
onRemoveApplication: onRemoveApplication::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IMachineDebugManagerEvents as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IModelIterator_Impl: Sized {
fn Reset(&self) -> ::windows::core::Result<()>;
fn GetNext(&self, object: *mut ::core::option::Option<IModelObject>, dimensions: u64, indexers: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IModelIterator {}
impl IModelIterator_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelIterator_Impl, const OFFSET: isize>() -> IModelIterator_Vtbl {
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelIterator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn GetNext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelIterator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void, dimensions: u64, indexers: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNext(::core::mem::transmute_copy(&object), ::core::mem::transmute_copy(&dimensions), ::core::mem::transmute_copy(&indexers), ::core::mem::transmute_copy(&metadata)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Reset: Reset::<Identity, Impl, OFFSET>,
GetNext: GetNext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IModelIterator as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IModelKeyReference_Impl: Sized {
fn GetKeyName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetOriginalObject(&self) -> ::windows::core::Result<IModelObject>;
fn GetContextObject(&self) -> ::windows::core::Result<IModelObject>;
fn GetKey(&self, object: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn GetKeyValue(&self, object: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn SetKey(&self, object: ::core::option::Option<&IModelObject>, metadata: ::core::option::Option<&IKeyStore>) -> ::windows::core::Result<()>;
fn SetKeyValue(&self, object: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IModelKeyReference {}
impl IModelKeyReference_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelKeyReference_Impl, const OFFSET: isize>() -> IModelKeyReference_Vtbl {
unsafe extern "system" fn GetKeyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelKeyReference_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, keyname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetKeyName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(keyname, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOriginalObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelKeyReference_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, originalobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetOriginalObject() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(originalobject, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContextObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelKeyReference_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, containingobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContextObject() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(containingobject, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelKeyReference_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKey(::core::mem::transmute_copy(&object), ::core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn GetKeyValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelKeyReference_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKeyValue(::core::mem::transmute_copy(&object), ::core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn SetKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelKeyReference_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, object: *mut ::core::ffi::c_void, metadata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKey(::windows::core::from_raw_borrowed(&object), ::windows::core::from_raw_borrowed(&metadata)).into()
}
unsafe extern "system" fn SetKeyValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelKeyReference_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, object: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKeyValue(::windows::core::from_raw_borrowed(&object)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetKeyName: GetKeyName::<Identity, Impl, OFFSET>,
GetOriginalObject: GetOriginalObject::<Identity, Impl, OFFSET>,
GetContextObject: GetContextObject::<Identity, Impl, OFFSET>,
GetKey: GetKey::<Identity, Impl, OFFSET>,
GetKeyValue: GetKeyValue::<Identity, Impl, OFFSET>,
SetKey: SetKey::<Identity, Impl, OFFSET>,
SetKeyValue: SetKeyValue::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IModelKeyReference as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IModelKeyReference2_Impl: Sized + IModelKeyReference_Impl {
fn OverrideContextObject(&self, newcontextobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IModelKeyReference2 {}
impl IModelKeyReference2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelKeyReference2_Impl, const OFFSET: isize>() -> IModelKeyReference2_Vtbl {
unsafe extern "system" fn OverrideContextObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelKeyReference2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newcontextobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OverrideContextObject(::windows::core::from_raw_borrowed(&newcontextobject)).into()
}
Self { base__: IModelKeyReference_Vtbl::new::<Identity, Impl, OFFSET>(), OverrideContextObject: OverrideContextObject::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IModelKeyReference2 as ::windows::core::ComInterface>::IID || iid == &<IModelKeyReference as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IModelMethod_Impl: Sized {
fn Call(&self, pcontextobject: ::core::option::Option<&IModelObject>, argcount: u64, pparguments: *const ::core::option::Option<IModelObject>, ppresult: *mut ::core::option::Option<IModelObject>, ppmetadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IModelMethod {}
impl IModelMethod_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelMethod_Impl, const OFFSET: isize>() -> IModelMethod_Vtbl {
unsafe extern "system" fn Call<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelMethod_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcontextobject: *mut ::core::ffi::c_void, argcount: u64, pparguments: *const *mut ::core::ffi::c_void, ppresult: *mut *mut ::core::ffi::c_void, ppmetadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Call(::windows::core::from_raw_borrowed(&pcontextobject), ::core::mem::transmute_copy(&argcount), ::core::mem::transmute_copy(&pparguments), ::core::mem::transmute_copy(&ppresult), ::core::mem::transmute_copy(&ppmetadata)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Call: Call::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IModelMethod as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IModelObject_Impl: Sized {
fn GetContext(&self) -> ::windows::core::Result<IDebugHostContext>;
fn GetKind(&self) -> ::windows::core::Result<ModelObjectKind>;
fn GetIntrinsicValue(&self) -> ::windows::core::Result<super::super::Com::VARIANT>;
fn GetIntrinsicValueAs(&self, vt: super::super::Com::VARENUM) -> ::windows::core::Result<super::super::Com::VARIANT>;
fn GetKeyValue(&self, key: &::windows::core::PCWSTR, object: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn SetKeyValue(&self, key: &::windows::core::PCWSTR, object: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
fn EnumerateKeyValues(&self) -> ::windows::core::Result<IKeyEnumerator>;
fn GetRawValue(&self, kind: SymbolKind, name: &::windows::core::PCWSTR, searchflags: u32) -> ::windows::core::Result<IModelObject>;
fn EnumerateRawValues(&self, kind: SymbolKind, searchflags: u32) -> ::windows::core::Result<IRawEnumerator>;
fn Dereference(&self) -> ::windows::core::Result<IModelObject>;
fn TryCastToRuntimeType(&self) -> ::windows::core::Result<IModelObject>;
fn GetConcept(&self, conceptid: *const ::windows::core::GUID, conceptinterface: *mut ::core::option::Option<::windows::core::IUnknown>, conceptmetadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn GetLocation(&self) -> ::windows::core::Result<Location>;
fn GetTypeInfo(&self) -> ::windows::core::Result<IDebugHostType>;
fn GetTargetInfo(&self, location: *mut Location, r#type: *mut ::core::option::Option<IDebugHostType>) -> ::windows::core::Result<()>;
fn GetNumberOfParentModels(&self) -> ::windows::core::Result<u64>;
fn GetParentModel(&self, i: u64, model: *mut ::core::option::Option<IModelObject>, contextobject: *mut ::core::option::Option<IModelObject>) -> ::windows::core::Result<()>;
fn AddParentModel(&self, model: ::core::option::Option<&IModelObject>, contextobject: ::core::option::Option<&IModelObject>, r#override: u8) -> ::windows::core::Result<()>;
fn RemoveParentModel(&self, model: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
fn GetKey(&self, key: &::windows::core::PCWSTR, object: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn GetKeyReference(&self, key: &::windows::core::PCWSTR, objectreference: *mut ::core::option::Option<IModelObject>, metadata: *mut ::core::option::Option<IKeyStore>) -> ::windows::core::Result<()>;
fn SetKey(&self, key: &::windows::core::PCWSTR, object: ::core::option::Option<&IModelObject>, metadata: ::core::option::Option<&IKeyStore>) -> ::windows::core::Result<()>;
fn ClearKeys(&self) -> ::windows::core::Result<()>;
fn EnumerateKeys(&self) -> ::windows::core::Result<IKeyEnumerator>;
fn EnumerateKeyReferences(&self) -> ::windows::core::Result<IKeyEnumerator>;
fn SetConcept(&self, conceptid: *const ::windows::core::GUID, conceptinterface: ::core::option::Option<&::windows::core::IUnknown>, conceptmetadata: ::core::option::Option<&IKeyStore>) -> ::windows::core::Result<()>;
fn ClearConcepts(&self) -> ::windows::core::Result<()>;
fn GetRawReference(&self, kind: SymbolKind, name: &::windows::core::PCWSTR, searchflags: u32) -> ::windows::core::Result<IModelObject>;
fn EnumerateRawReferences(&self, kind: SymbolKind, searchflags: u32) -> ::windows::core::Result<IRawEnumerator>;
fn SetContextForDataModel(&self, datamodelobject: ::core::option::Option<&IModelObject>, context: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
fn GetContextForDataModel(&self, datamodelobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<::windows::core::IUnknown>;
fn Compare(&self, other: ::core::option::Option<&IModelObject>, ppresult: *mut ::core::option::Option<IModelObject>) -> ::windows::core::Result<()>;
fn IsEqualTo(&self, other: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<bool>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for IModelObject {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IModelObject_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>() -> IModelObject_Vtbl {
unsafe extern "system" fn GetContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContext() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(context, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetKind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, kind: *mut ModelObjectKind) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetKind() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(kind, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIntrinsicValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, intrinsicdata: *mut super::super::Com::VARIANT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetIntrinsicValue() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(intrinsicdata, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIntrinsicValueAs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, vt: super::super::Com::VARENUM, intrinsicdata: *mut super::super::Com::VARIANT) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetIntrinsicValueAs(::core::mem::transmute_copy(&vt)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(intrinsicdata, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetKeyValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, object: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKeyValue(::core::mem::transmute(&key), ::core::mem::transmute_copy(&object), ::core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn SetKeyValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, object: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKeyValue(::core::mem::transmute(&key), ::windows::core::from_raw_borrowed(&object)).into()
}
unsafe extern "system" fn EnumerateKeyValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enumerator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateKeyValues() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(enumerator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRawValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, kind: SymbolKind, name: ::windows::core::PCWSTR, searchflags: u32, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRawValue(::core::mem::transmute_copy(&kind), ::core::mem::transmute(&name), ::core::mem::transmute_copy(&searchflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateRawValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, kind: SymbolKind, searchflags: u32, enumerator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateRawValues(::core::mem::transmute_copy(&kind), ::core::mem::transmute_copy(&searchflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(enumerator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Dereference<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Dereference() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn TryCastToRuntimeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, runtimetypedobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.TryCastToRuntimeType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(runtimetypedobject, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetConcept<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, conceptid: *const ::windows::core::GUID, conceptinterface: *mut *mut ::core::ffi::c_void, conceptmetadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetConcept(::core::mem::transmute_copy(&conceptid), ::core::mem::transmute_copy(&conceptinterface), ::core::mem::transmute_copy(&conceptmetadata)).into()
}
unsafe extern "system" fn GetLocation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, location: *mut Location) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLocation() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(location, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetTypeInfo() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(r#type, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTargetInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, location: *mut Location, r#type: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetTargetInfo(::core::mem::transmute_copy(&location), ::core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetNumberOfParentModels<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nummodels: *mut u64) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberOfParentModels() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(nummodels, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetParentModel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, i: u64, model: *mut *mut ::core::ffi::c_void, contextobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetParentModel(::core::mem::transmute_copy(&i), ::core::mem::transmute_copy(&model), ::core::mem::transmute_copy(&contextobject)).into()
}
unsafe extern "system" fn AddParentModel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, model: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, r#override: u8) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.AddParentModel(::windows::core::from_raw_borrowed(&model), ::windows::core::from_raw_borrowed(&contextobject), ::core::mem::transmute_copy(&r#override)).into()
}
unsafe extern "system" fn RemoveParentModel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, model: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveParentModel(::windows::core::from_raw_borrowed(&model)).into()
}
unsafe extern "system" fn GetKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, object: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKey(::core::mem::transmute(&key), ::core::mem::transmute_copy(&object), ::core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn GetKeyReference<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, objectreference: *mut *mut ::core::ffi::c_void, metadata: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetKeyReference(::core::mem::transmute(&key), ::core::mem::transmute_copy(&objectreference), ::core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn SetKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, object: *mut ::core::ffi::c_void, metadata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetKey(::core::mem::transmute(&key), ::windows::core::from_raw_borrowed(&object), ::windows::core::from_raw_borrowed(&metadata)).into()
}
unsafe extern "system" fn ClearKeys<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ClearKeys().into()
}
unsafe extern "system" fn EnumerateKeys<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enumerator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateKeys() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(enumerator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateKeyReferences<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enumerator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateKeyReferences() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(enumerator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetConcept<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, conceptid: *const ::windows::core::GUID, conceptinterface: *mut ::core::ffi::c_void, conceptmetadata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetConcept(::core::mem::transmute_copy(&conceptid), ::windows::core::from_raw_borrowed(&conceptinterface), ::windows::core::from_raw_borrowed(&conceptmetadata)).into()
}
unsafe extern "system" fn ClearConcepts<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ClearConcepts().into()
}
unsafe extern "system" fn GetRawReference<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, kind: SymbolKind, name: ::windows::core::PCWSTR, searchflags: u32, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRawReference(::core::mem::transmute_copy(&kind), ::core::mem::transmute(&name), ::core::mem::transmute_copy(&searchflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateRawReferences<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, kind: SymbolKind, searchflags: u32, enumerator: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumerateRawReferences(::core::mem::transmute_copy(&kind), ::core::mem::transmute_copy(&searchflags)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(enumerator, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetContextForDataModel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, datamodelobject: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetContextForDataModel(::windows::core::from_raw_borrowed(&datamodelobject), ::windows::core::from_raw_borrowed(&context)).into()
}
unsafe extern "system" fn GetContextForDataModel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, datamodelobject: *mut ::core::ffi::c_void, context: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContextForDataModel(::windows::core::from_raw_borrowed(&datamodelobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(context, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Compare<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, other: *mut ::core::ffi::c_void, ppresult: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Compare(::windows::core::from_raw_borrowed(&other), ::core::mem::transmute_copy(&ppresult)).into()
}
unsafe extern "system" fn IsEqualTo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, other: *mut ::core::ffi::c_void, equal: *mut bool) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.IsEqualTo(::windows::core::from_raw_borrowed(&other)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(equal, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetContext: GetContext::<Identity, Impl, OFFSET>,
GetKind: GetKind::<Identity, Impl, OFFSET>,
GetIntrinsicValue: GetIntrinsicValue::<Identity, Impl, OFFSET>,
GetIntrinsicValueAs: GetIntrinsicValueAs::<Identity, Impl, OFFSET>,
GetKeyValue: GetKeyValue::<Identity, Impl, OFFSET>,
SetKeyValue: SetKeyValue::<Identity, Impl, OFFSET>,
EnumerateKeyValues: EnumerateKeyValues::<Identity, Impl, OFFSET>,
GetRawValue: GetRawValue::<Identity, Impl, OFFSET>,
EnumerateRawValues: EnumerateRawValues::<Identity, Impl, OFFSET>,
Dereference: Dereference::<Identity, Impl, OFFSET>,
TryCastToRuntimeType: TryCastToRuntimeType::<Identity, Impl, OFFSET>,
GetConcept: GetConcept::<Identity, Impl, OFFSET>,
GetLocation: GetLocation::<Identity, Impl, OFFSET>,
GetTypeInfo: GetTypeInfo::<Identity, Impl, OFFSET>,
GetTargetInfo: GetTargetInfo::<Identity, Impl, OFFSET>,
GetNumberOfParentModels: GetNumberOfParentModels::<Identity, Impl, OFFSET>,
GetParentModel: GetParentModel::<Identity, Impl, OFFSET>,
AddParentModel: AddParentModel::<Identity, Impl, OFFSET>,
RemoveParentModel: RemoveParentModel::<Identity, Impl, OFFSET>,
GetKey: GetKey::<Identity, Impl, OFFSET>,
GetKeyReference: GetKeyReference::<Identity, Impl, OFFSET>,
SetKey: SetKey::<Identity, Impl, OFFSET>,
ClearKeys: ClearKeys::<Identity, Impl, OFFSET>,
EnumerateKeys: EnumerateKeys::<Identity, Impl, OFFSET>,
EnumerateKeyReferences: EnumerateKeyReferences::<Identity, Impl, OFFSET>,
SetConcept: SetConcept::<Identity, Impl, OFFSET>,
ClearConcepts: ClearConcepts::<Identity, Impl, OFFSET>,
GetRawReference: GetRawReference::<Identity, Impl, OFFSET>,
EnumerateRawReferences: EnumerateRawReferences::<Identity, Impl, OFFSET>,
SetContextForDataModel: SetContextForDataModel::<Identity, Impl, OFFSET>,
GetContextForDataModel: GetContextForDataModel::<Identity, Impl, OFFSET>,
Compare: Compare::<Identity, Impl, OFFSET>,
IsEqualTo: IsEqualTo::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IModelObject as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IModelPropertyAccessor_Impl: Sized {
fn GetValue(&self, key: &::windows::core::PCWSTR, contextobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<IModelObject>;
fn SetValue(&self, key: &::windows::core::PCWSTR, contextobject: ::core::option::Option<&IModelObject>, value: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IModelPropertyAccessor {}
impl IModelPropertyAccessor_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelPropertyAccessor_Impl, const OFFSET: isize>() -> IModelPropertyAccessor_Vtbl {
unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelPropertyAccessor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, contextobject: *mut ::core::ffi::c_void, value: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetValue(::core::mem::transmute(&key), ::windows::core::from_raw_borrowed(&contextobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(value, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IModelPropertyAccessor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, key: ::windows::core::PCWSTR, contextobject: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetValue(::core::mem::transmute(&key), ::windows::core::from_raw_borrowed(&contextobject), ::windows::core::from_raw_borrowed(&value)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetValue: GetValue::<Identity, Impl, OFFSET>,
SetValue: SetValue::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IModelPropertyAccessor as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IObjectSafety_Impl: Sized {
fn GetInterfaceSafetyOptions(&self, riid: *const ::windows::core::GUID, pdwsupportedoptions: *mut u32, pdwenabledoptions: *mut u32) -> ::windows::core::Result<()>;
fn SetInterfaceSafetyOptions(&self, riid: *const ::windows::core::GUID, dwoptionsetmask: u32, dwenabledoptions: u32) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IObjectSafety {}
impl IObjectSafety_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectSafety_Impl, const OFFSET: isize>() -> IObjectSafety_Vtbl {
unsafe extern "system" fn GetInterfaceSafetyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectSafety_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, pdwsupportedoptions: *mut u32, pdwenabledoptions: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetInterfaceSafetyOptions(::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&pdwsupportedoptions), ::core::mem::transmute_copy(&pdwenabledoptions)).into()
}
unsafe extern "system" fn SetInterfaceSafetyOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectSafety_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, dwoptionsetmask: u32, dwenabledoptions: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetInterfaceSafetyOptions(::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&dwoptionsetmask), ::core::mem::transmute_copy(&dwenabledoptions)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterfaceSafetyOptions: GetInterfaceSafetyOptions::<Identity, Impl, OFFSET>,
SetInterfaceSafetyOptions: SetInterfaceSafetyOptions::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IObjectSafety as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Ole")]
pub trait IPerPropertyBrowsing2_Impl: Sized {
fn GetDisplayString(&self, dispid: i32) -> ::windows::core::Result<::windows::core::BSTR>;
fn MapPropertyToPage(&self, dispid: i32) -> ::windows::core::Result<::windows::core::GUID>;
fn GetPredefinedStrings(&self, dispid: i32, pcastrings: *mut super::super::Ole::CALPOLESTR, pcacookies: *mut super::super::Ole::CADWORD) -> ::windows::core::Result<()>;
fn SetPredefinedValue(&self, dispid: i32, dwcookie: u32) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_System_Ole")]
impl ::windows::core::RuntimeName for IPerPropertyBrowsing2 {}
#[cfg(feature = "Win32_System_Ole")]
impl IPerPropertyBrowsing2_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPerPropertyBrowsing2_Impl, const OFFSET: isize>() -> IPerPropertyBrowsing2_Vtbl {
unsafe extern "system" fn GetDisplayString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPerPropertyBrowsing2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dispid: i32, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDisplayString(::core::mem::transmute_copy(&dispid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn MapPropertyToPage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPerPropertyBrowsing2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dispid: i32, pclsidproppage: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.MapPropertyToPage(::core::mem::transmute_copy(&dispid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pclsidproppage, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPredefinedStrings<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPerPropertyBrowsing2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dispid: i32, pcastrings: *mut super::super::Ole::CALPOLESTR, pcacookies: *mut super::super::Ole::CADWORD) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetPredefinedStrings(::core::mem::transmute_copy(&dispid), ::core::mem::transmute_copy(&pcastrings), ::core::mem::transmute_copy(&pcacookies)).into()
}
unsafe extern "system" fn SetPredefinedValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPerPropertyBrowsing2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dispid: i32, dwcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetPredefinedValue(::core::mem::transmute_copy(&dispid), ::core::mem::transmute_copy(&dwcookie)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDisplayString: GetDisplayString::<Identity, Impl, OFFSET>,
MapPropertyToPage: MapPropertyToPage::<Identity, Impl, OFFSET>,
GetPredefinedStrings: GetPredefinedStrings::<Identity, Impl, OFFSET>,
SetPredefinedValue: SetPredefinedValue::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IPerPropertyBrowsing2 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IPreferredRuntimeTypeConcept_Impl: Sized {
fn CastToPreferredRuntimeType(&self, contextobject: ::core::option::Option<&IModelObject>) -> ::windows::core::Result<IModelObject>;
}
impl ::windows::core::RuntimeName for IPreferredRuntimeTypeConcept {}
impl IPreferredRuntimeTypeConcept_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPreferredRuntimeTypeConcept_Impl, const OFFSET: isize>() -> IPreferredRuntimeTypeConcept_Vtbl {
unsafe extern "system" fn CastToPreferredRuntimeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPreferredRuntimeTypeConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CastToPreferredRuntimeType(::windows::core::from_raw_borrowed(&contextobject)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(object, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CastToPreferredRuntimeType: CastToPreferredRuntimeType::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IPreferredRuntimeTypeConcept as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IProcessDebugManager32_Impl: Sized {
fn CreateApplication(&self) -> ::windows::core::Result<IDebugApplication32>;
fn GetDefaultApplication(&self) -> ::windows::core::Result<IDebugApplication32>;
fn AddApplication(&self, pda: ::core::option::Option<&IDebugApplication32>) -> ::windows::core::Result<u32>;
fn RemoveApplication(&self, dwappcookie: u32) -> ::windows::core::Result<()>;
fn CreateDebugDocumentHelper(&self, punkouter: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<IDebugDocumentHelper32>;
}
impl ::windows::core::RuntimeName for IProcessDebugManager32 {}
impl IProcessDebugManager32_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager32_Impl, const OFFSET: isize>() -> IProcessDebugManager32_Vtbl {
unsafe extern "system" fn CreateApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppda: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateApplication() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppda, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDefaultApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppda: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDefaultApplication() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppda, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pda: *mut ::core::ffi::c_void, pdwappcookie: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddApplication(::windows::core::from_raw_borrowed(&pda)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwappcookie, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwappcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveApplication(::core::mem::transmute_copy(&dwappcookie)).into()
}
unsafe extern "system" fn CreateDebugDocumentHelper<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager32_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punkouter: *mut ::core::ffi::c_void, pddh: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateDebugDocumentHelper(::windows::core::from_raw_borrowed(&punkouter)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pddh, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CreateApplication: CreateApplication::<Identity, Impl, OFFSET>,
GetDefaultApplication: GetDefaultApplication::<Identity, Impl, OFFSET>,
AddApplication: AddApplication::<Identity, Impl, OFFSET>,
RemoveApplication: RemoveApplication::<Identity, Impl, OFFSET>,
CreateDebugDocumentHelper: CreateDebugDocumentHelper::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IProcessDebugManager32 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IProcessDebugManager64_Impl: Sized {
fn CreateApplication(&self) -> ::windows::core::Result<IDebugApplication64>;
fn GetDefaultApplication(&self) -> ::windows::core::Result<IDebugApplication64>;
fn AddApplication(&self, pda: ::core::option::Option<&IDebugApplication64>) -> ::windows::core::Result<u32>;
fn RemoveApplication(&self, dwappcookie: u32) -> ::windows::core::Result<()>;
fn CreateDebugDocumentHelper(&self, punkouter: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<IDebugDocumentHelper64>;
}
impl ::windows::core::RuntimeName for IProcessDebugManager64 {}
impl IProcessDebugManager64_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager64_Impl, const OFFSET: isize>() -> IProcessDebugManager64_Vtbl {
unsafe extern "system" fn CreateApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppda: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateApplication() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppda, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDefaultApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppda: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDefaultApplication() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppda, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn AddApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pda: *mut ::core::ffi::c_void, pdwappcookie: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.AddApplication(::windows::core::from_raw_borrowed(&pda)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwappcookie, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwappcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.RemoveApplication(::core::mem::transmute_copy(&dwappcookie)).into()
}
unsafe extern "system" fn CreateDebugDocumentHelper<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessDebugManager64_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punkouter: *mut ::core::ffi::c_void, pddh: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateDebugDocumentHelper(::windows::core::from_raw_borrowed(&punkouter)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pddh, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CreateApplication: CreateApplication::<Identity, Impl, OFFSET>,
GetDefaultApplication: GetDefaultApplication::<Identity, Impl, OFFSET>,
AddApplication: AddApplication::<Identity, Impl, OFFSET>,
RemoveApplication: RemoveApplication::<Identity, Impl, OFFSET>,
CreateDebugDocumentHelper: CreateDebugDocumentHelper::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IProcessDebugManager64 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IProvideExpressionContexts_Impl: Sized {
fn EnumExpressionContexts(&self) -> ::windows::core::Result<IEnumDebugExpressionContexts>;
}
impl ::windows::core::RuntimeName for IProvideExpressionContexts {}
impl IProvideExpressionContexts_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProvideExpressionContexts_Impl, const OFFSET: isize>() -> IProvideExpressionContexts_Vtbl {
unsafe extern "system" fn EnumExpressionContexts<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProvideExpressionContexts_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppedec: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumExpressionContexts() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppedec, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), EnumExpressionContexts: EnumExpressionContexts::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IProvideExpressionContexts as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IRawEnumerator_Impl: Sized {
fn Reset(&self) -> ::windows::core::Result<()>;
fn GetNext(&self, name: *mut ::windows::core::BSTR, kind: *mut SymbolKind, value: *mut ::core::option::Option<IModelObject>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IRawEnumerator {}
impl IRawEnumerator_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRawEnumerator_Impl, const OFFSET: isize>() -> IRawEnumerator_Vtbl {
unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRawEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Reset().into()
}
unsafe extern "system" fn GetNext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRawEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, kind: *mut SymbolKind, value: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetNext(::core::mem::transmute_copy(&name), ::core::mem::transmute_copy(&kind), ::core::mem::transmute_copy(&value)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Reset: Reset::<Identity, Impl, OFFSET>,
GetNext: GetNext::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IRawEnumerator as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IRemoteDebugApplication_Impl: Sized {
fn ResumeFromBreakPoint(&self, prptfocus: ::core::option::Option<&IRemoteDebugApplicationThread>, bra: BREAKRESUMEACTION, era: ERRORRESUMEACTION) -> ::windows::core::Result<()>;
fn CauseBreak(&self) -> ::windows::core::Result<()>;
fn ConnectDebugger(&self, pad: ::core::option::Option<&IApplicationDebugger>) -> ::windows::core::Result<()>;
fn DisconnectDebugger(&self) -> ::windows::core::Result<()>;
fn GetDebugger(&self) -> ::windows::core::Result<IApplicationDebugger>;
fn CreateInstanceAtApplication(&self, rclsid: *const ::windows::core::GUID, punkouter: ::core::option::Option<&::windows::core::IUnknown>, dwclscontext: u32, riid: *const ::windows::core::GUID) -> ::windows::core::Result<::windows::core::IUnknown>;
fn QueryAlive(&self) -> ::windows::core::Result<()>;
fn EnumThreads(&self) -> ::windows::core::Result<IEnumRemoteDebugApplicationThreads>;
fn GetName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetRootNode(&self) -> ::windows::core::Result<IDebugApplicationNode>;
fn EnumGlobalExpressionContexts(&self) -> ::windows::core::Result<IEnumDebugExpressionContexts>;
}
impl ::windows::core::RuntimeName for IRemoteDebugApplication {}
impl IRemoteDebugApplication_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>() -> IRemoteDebugApplication_Vtbl {
unsafe extern "system" fn ResumeFromBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prptfocus: *mut ::core::ffi::c_void, bra: BREAKRESUMEACTION, era: ERRORRESUMEACTION) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ResumeFromBreakPoint(::windows::core::from_raw_borrowed(&prptfocus), ::core::mem::transmute_copy(&bra), ::core::mem::transmute_copy(&era)).into()
}
unsafe extern "system" fn CauseBreak<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CauseBreak().into()
}
unsafe extern "system" fn ConnectDebugger<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pad: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.ConnectDebugger(::windows::core::from_raw_borrowed(&pad)).into()
}
unsafe extern "system" fn DisconnectDebugger<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DisconnectDebugger().into()
}
unsafe extern "system" fn GetDebugger<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pad: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetDebugger() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pad, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateInstanceAtApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rclsid: *const ::windows::core::GUID, punkouter: *mut ::core::ffi::c_void, dwclscontext: u32, riid: *const ::windows::core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateInstanceAtApplication(::core::mem::transmute_copy(&rclsid), ::windows::core::from_raw_borrowed(&punkouter), ::core::mem::transmute_copy(&dwclscontext), ::core::mem::transmute_copy(&riid)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppvobject, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn QueryAlive<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.QueryAlive().into()
}
unsafe extern "system" fn EnumThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pperdat: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumThreads() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pperdat, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRootNode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdanroot: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetRootNode() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppdanroot, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumGlobalExpressionContexts<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppedec: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumGlobalExpressionContexts() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppedec, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ResumeFromBreakPoint: ResumeFromBreakPoint::<Identity, Impl, OFFSET>,
CauseBreak: CauseBreak::<Identity, Impl, OFFSET>,
ConnectDebugger: ConnectDebugger::<Identity, Impl, OFFSET>,
DisconnectDebugger: DisconnectDebugger::<Identity, Impl, OFFSET>,
GetDebugger: GetDebugger::<Identity, Impl, OFFSET>,
CreateInstanceAtApplication: CreateInstanceAtApplication::<Identity, Impl, OFFSET>,
QueryAlive: QueryAlive::<Identity, Impl, OFFSET>,
EnumThreads: EnumThreads::<Identity, Impl, OFFSET>,
GetName: GetName::<Identity, Impl, OFFSET>,
GetRootNode: GetRootNode::<Identity, Impl, OFFSET>,
EnumGlobalExpressionContexts: EnumGlobalExpressionContexts::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IRemoteDebugApplication as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IRemoteDebugApplication110_Impl: Sized {
fn SetDebuggerOptions(&self, mask: SCRIPT_DEBUGGER_OPTIONS, value: SCRIPT_DEBUGGER_OPTIONS) -> ::windows::core::Result<()>;
fn GetCurrentDebuggerOptions(&self) -> ::windows::core::Result<SCRIPT_DEBUGGER_OPTIONS>;
fn GetMainThread(&self) -> ::windows::core::Result<IRemoteDebugApplicationThread>;
}
impl ::windows::core::RuntimeName for IRemoteDebugApplication110 {}
impl IRemoteDebugApplication110_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication110_Impl, const OFFSET: isize>() -> IRemoteDebugApplication110_Vtbl {
unsafe extern "system" fn SetDebuggerOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: SCRIPT_DEBUGGER_OPTIONS, value: SCRIPT_DEBUGGER_OPTIONS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetDebuggerOptions(::core::mem::transmute_copy(&mask), ::core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn GetCurrentDebuggerOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcurrentoptions: *mut SCRIPT_DEBUGGER_OPTIONS) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCurrentDebuggerOptions() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcurrentoptions, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMainThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplication110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppthread: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetMainThread() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppthread, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetDebuggerOptions: SetDebuggerOptions::<Identity, Impl, OFFSET>,
GetCurrentDebuggerOptions: GetCurrentDebuggerOptions::<Identity, Impl, OFFSET>,
GetMainThread: GetMainThread::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IRemoteDebugApplication110 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IRemoteDebugApplicationEvents_Impl: Sized {
fn OnConnectDebugger(&self, pad: ::core::option::Option<&IApplicationDebugger>) -> ::windows::core::Result<()>;
fn OnDisconnectDebugger(&self) -> ::windows::core::Result<()>;
fn OnSetName(&self, pstrname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OnDebugOutput(&self, pstr: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn OnClose(&self) -> ::windows::core::Result<()>;
fn OnEnterBreakPoint(&self, prdat: ::core::option::Option<&IRemoteDebugApplicationThread>) -> ::windows::core::Result<()>;
fn OnLeaveBreakPoint(&self, prdat: ::core::option::Option<&IRemoteDebugApplicationThread>) -> ::windows::core::Result<()>;
fn OnCreateThread(&self, prdat: ::core::option::Option<&IRemoteDebugApplicationThread>) -> ::windows::core::Result<()>;
fn OnDestroyThread(&self, prdat: ::core::option::Option<&IRemoteDebugApplicationThread>) -> ::windows::core::Result<()>;
fn OnBreakFlagChange(&self, abf: u32, prdatsteppingthread: ::core::option::Option<&IRemoteDebugApplicationThread>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IRemoteDebugApplicationEvents {}
impl IRemoteDebugApplicationEvents_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationEvents_Impl, const OFFSET: isize>() -> IRemoteDebugApplicationEvents_Vtbl {
unsafe extern "system" fn OnConnectDebugger<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pad: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnConnectDebugger(::windows::core::from_raw_borrowed(&pad)).into()
}
unsafe extern "system" fn OnDisconnectDebugger<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnDisconnectDebugger().into()
}
unsafe extern "system" fn OnSetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnSetName(::core::mem::transmute(&pstrname)).into()
}
unsafe extern "system" fn OnDebugOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstr: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnDebugOutput(::core::mem::transmute(&pstr)).into()
}
unsafe extern "system" fn OnClose<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnClose().into()
}
unsafe extern "system" fn OnEnterBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prdat: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnEnterBreakPoint(::windows::core::from_raw_borrowed(&prdat)).into()
}
unsafe extern "system" fn OnLeaveBreakPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prdat: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnLeaveBreakPoint(::windows::core::from_raw_borrowed(&prdat)).into()
}
unsafe extern "system" fn OnCreateThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prdat: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnCreateThread(::windows::core::from_raw_borrowed(&prdat)).into()
}
unsafe extern "system" fn OnDestroyThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prdat: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnDestroyThread(::windows::core::from_raw_borrowed(&prdat)).into()
}
unsafe extern "system" fn OnBreakFlagChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, abf: u32, prdatsteppingthread: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.OnBreakFlagChange(::core::mem::transmute_copy(&abf), ::windows::core::from_raw_borrowed(&prdatsteppingthread)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
OnConnectDebugger: OnConnectDebugger::<Identity, Impl, OFFSET>,
OnDisconnectDebugger: OnDisconnectDebugger::<Identity, Impl, OFFSET>,
OnSetName: OnSetName::<Identity, Impl, OFFSET>,
OnDebugOutput: OnDebugOutput::<Identity, Impl, OFFSET>,
OnClose: OnClose::<Identity, Impl, OFFSET>,
OnEnterBreakPoint: OnEnterBreakPoint::<Identity, Impl, OFFSET>,
OnLeaveBreakPoint: OnLeaveBreakPoint::<Identity, Impl, OFFSET>,
OnCreateThread: OnCreateThread::<Identity, Impl, OFFSET>,
OnDestroyThread: OnDestroyThread::<Identity, Impl, OFFSET>,
OnBreakFlagChange: OnBreakFlagChange::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IRemoteDebugApplicationEvents as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IRemoteDebugApplicationThread_Impl: Sized {
fn GetSystemThreadId(&self) -> ::windows::core::Result<u32>;
fn GetApplication(&self) -> ::windows::core::Result<IRemoteDebugApplication>;
fn EnumStackFrames(&self) -> ::windows::core::Result<IEnumDebugStackFrames>;
fn GetDescription(&self, pbstrdescription: *mut ::windows::core::BSTR, pbstrstate: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
fn SetNextStatement(&self, pstackframe: ::core::option::Option<&IDebugStackFrame>, pcodecontext: ::core::option::Option<&IDebugCodeContext>) -> ::windows::core::Result<()>;
fn GetState(&self) -> ::windows::core::Result<u32>;
fn Suspend(&self) -> ::windows::core::Result<u32>;
fn Resume(&self) -> ::windows::core::Result<u32>;
fn GetSuspendCount(&self) -> ::windows::core::Result<u32>;
}
impl ::windows::core::RuntimeName for IRemoteDebugApplicationThread {}
impl IRemoteDebugApplicationThread_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationThread_Impl, const OFFSET: isize>() -> IRemoteDebugApplicationThread_Vtbl {
unsafe extern "system" fn GetSystemThreadId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwthreadid: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSystemThreadId() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(dwthreadid, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pprda: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetApplication() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pprda, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumStackFrames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppedsf: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.EnumStackFrames() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppedsf, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrdescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrstate: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetDescription(::core::mem::transmute_copy(&pbstrdescription), ::core::mem::transmute_copy(&pbstrstate)).into()
}
unsafe extern "system" fn SetNextStatement<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstackframe: *mut ::core::ffi::c_void, pcodecontext: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetNextStatement(::windows::core::from_raw_borrowed(&pstackframe), ::windows::core::from_raw_borrowed(&pcodecontext)).into()
}
unsafe extern "system" fn GetState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstate: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetState() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pstate, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Suspend<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Suspend() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwcount, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Resume<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Resume() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwcount, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSuspendCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugApplicationThread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSuspendCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwcount, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSystemThreadId: GetSystemThreadId::<Identity, Impl, OFFSET>,
GetApplication: GetApplication::<Identity, Impl, OFFSET>,
EnumStackFrames: EnumStackFrames::<Identity, Impl, OFFSET>,
GetDescription: GetDescription::<Identity, Impl, OFFSET>,
SetNextStatement: SetNextStatement::<Identity, Impl, OFFSET>,
GetState: GetState::<Identity, Impl, OFFSET>,
Suspend: Suspend::<Identity, Impl, OFFSET>,
Resume: Resume::<Identity, Impl, OFFSET>,
GetSuspendCount: GetSuspendCount::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IRemoteDebugApplicationThread as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IRemoteDebugCriticalErrorEvent110_Impl: Sized {
fn GetErrorInfo(&self, pbstrsource: *mut ::windows::core::BSTR, pmessageid: *mut i32, pbstrmessage: *mut ::windows::core::BSTR, pplocation: *mut ::core::option::Option<IDebugDocumentContext>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IRemoteDebugCriticalErrorEvent110 {}
impl IRemoteDebugCriticalErrorEvent110_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugCriticalErrorEvent110_Impl, const OFFSET: isize>() -> IRemoteDebugCriticalErrorEvent110_Vtbl {
unsafe extern "system" fn GetErrorInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugCriticalErrorEvent110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrsource: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pmessageid: *mut i32, pbstrmessage: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pplocation: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetErrorInfo(::core::mem::transmute_copy(&pbstrsource), ::core::mem::transmute_copy(&pmessageid), ::core::mem::transmute_copy(&pbstrmessage), ::core::mem::transmute_copy(&pplocation)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetErrorInfo: GetErrorInfo::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IRemoteDebugCriticalErrorEvent110 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IRemoteDebugInfoEvent110_Impl: Sized {
fn GetEventInfo(&self, pmessagetype: *mut DEBUG_EVENT_INFO_TYPE, pbstrmessage: *mut ::windows::core::BSTR, pbstrurl: *mut ::windows::core::BSTR, pplocation: *mut ::core::option::Option<IDebugDocumentContext>) -> ::windows::core::Result<()>;
}
impl ::windows::core::RuntimeName for IRemoteDebugInfoEvent110 {}
impl IRemoteDebugInfoEvent110_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugInfoEvent110_Impl, const OFFSET: isize>() -> IRemoteDebugInfoEvent110_Vtbl {
unsafe extern "system" fn GetEventInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IRemoteDebugInfoEvent110_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmessagetype: *mut DEBUG_EVENT_INFO_TYPE, pbstrmessage: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pplocation: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetEventInfo(::core::mem::transmute_copy(&pmessagetype), ::core::mem::transmute_copy(&pbstrmessage), ::core::mem::transmute_copy(&pbstrurl), ::core::mem::transmute_copy(&pplocation)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetEventInfo: GetEventInfo::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IRemoteDebugInfoEvent110 as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IScriptEntry_Impl: Sized + IScriptNode_Impl {
fn GetText(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn SetText(&self, psz: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetBody(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn SetBody(&self, psz: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn SetName(&self, psz: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetItemName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn SetItemName(&self, psz: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSignature(&self, ppti: *mut ::core::option::Option<super::super::Com::ITypeInfo>, pimethod: *mut u32) -> ::windows::core::Result<()>;
fn SetSignature(&self, pti: ::core::option::Option<&super::super::Com::ITypeInfo>, imethod: u32) -> ::windows::core::Result<()>;
fn GetRange(&self, pichmin: *mut u32, pcch: *mut u32) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IScriptEntry {}
#[cfg(feature = "Win32_System_Com")]
impl IScriptEntry_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>() -> IScriptEntry_Vtbl {
unsafe extern "system" fn GetText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetText() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psz: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetText(::core::mem::transmute(&psz)).into()
}
unsafe extern "system" fn GetBody<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetBody() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBody<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psz: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetBody(::core::mem::transmute(&psz)).into()
}
unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psz: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetName(::core::mem::transmute(&psz)).into()
}
unsafe extern "system" fn GetItemName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetItemName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetItemName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psz: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetItemName(::core::mem::transmute(&psz)).into()
}
unsafe extern "system" fn GetSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppti: *mut *mut ::core::ffi::c_void, pimethod: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetSignature(::core::mem::transmute_copy(&ppti), ::core::mem::transmute_copy(&pimethod)).into()
}
unsafe extern "system" fn SetSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pti: *mut ::core::ffi::c_void, imethod: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSignature(::windows::core::from_raw_borrowed(&pti), ::core::mem::transmute_copy(&imethod)).into()
}
unsafe extern "system" fn GetRange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pichmin: *mut u32, pcch: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.GetRange(::core::mem::transmute_copy(&pichmin), ::core::mem::transmute_copy(&pcch)).into()
}
Self {
base__: IScriptNode_Vtbl::new::<Identity, Impl, OFFSET>(),
GetText: GetText::<Identity, Impl, OFFSET>,
SetText: SetText::<Identity, Impl, OFFSET>,
GetBody: GetBody::<Identity, Impl, OFFSET>,
SetBody: SetBody::<Identity, Impl, OFFSET>,
GetName: GetName::<Identity, Impl, OFFSET>,
SetName: SetName::<Identity, Impl, OFFSET>,
GetItemName: GetItemName::<Identity, Impl, OFFSET>,
SetItemName: SetItemName::<Identity, Impl, OFFSET>,
GetSignature: GetSignature::<Identity, Impl, OFFSET>,
SetSignature: SetSignature::<Identity, Impl, OFFSET>,
GetRange: GetRange::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IScriptEntry as ::windows::core::ComInterface>::IID || iid == &<IScriptNode as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IScriptInvocationContext_Impl: Sized {
fn GetContextType(&self) -> ::windows::core::Result<SCRIPT_INVOCATION_CONTEXT_TYPE>;
fn GetContextDescription(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn GetContextObject(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
}
impl ::windows::core::RuntimeName for IScriptInvocationContext {}
impl IScriptInvocationContext_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptInvocationContext_Impl, const OFFSET: isize>() -> IScriptInvocationContext_Vtbl {
unsafe extern "system" fn GetContextType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptInvocationContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinvocationcontexttype: *mut SCRIPT_INVOCATION_CONTEXT_TYPE) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContextType() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pinvocationcontexttype, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContextDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptInvocationContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContextDescription() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdescription, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContextObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptInvocationContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcontextobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetContextObject() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppcontextobject, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetContextType: GetContextType::<Identity, Impl, OFFSET>,
GetContextDescription: GetContextDescription::<Identity, Impl, OFFSET>,
GetContextObject: GetContextObject::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IScriptInvocationContext as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IScriptNode_Impl: Sized {
fn Alive(&self) -> ::windows::core::Result<()>;
fn Delete(&self) -> ::windows::core::Result<()>;
fn GetParent(&self) -> ::windows::core::Result<IScriptNode>;
fn GetIndexInParent(&self) -> ::windows::core::Result<u32>;
fn GetCookie(&self) -> ::windows::core::Result<u32>;
fn GetNumberOfChildren(&self) -> ::windows::core::Result<u32>;
fn GetChild(&self, isn: u32) -> ::windows::core::Result<IScriptNode>;
fn GetLanguage(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn CreateChildEntry(&self, isn: u32, dwcookie: u32, pszdelimiter: &::windows::core::PCWSTR) -> ::windows::core::Result<IScriptEntry>;
fn CreateChildHandler(&self, pszdefaultname: &::windows::core::PCWSTR, prgpsznames: *const ::windows::core::PCWSTR, cpsznames: u32, pszevent: &::windows::core::PCWSTR, pszdelimiter: &::windows::core::PCWSTR, ptisignature: ::core::option::Option<&super::super::Com::ITypeInfo>, imethodsignature: u32, isn: u32, dwcookie: u32) -> ::windows::core::Result<IScriptEntry>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IScriptNode {}
#[cfg(feature = "Win32_System_Com")]
impl IScriptNode_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptNode_Impl, const OFFSET: isize>() -> IScriptNode_Vtbl {
unsafe extern "system" fn Alive<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Alive().into()
}
unsafe extern "system" fn Delete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Delete().into()
}
unsafe extern "system" fn GetParent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppsnparent: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetParent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsnparent, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIndexInParent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pisn: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetIndexInParent() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pisn, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCookie<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwcookie: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetCookie() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwcookie, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberOfChildren<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcsn: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetNumberOfChildren() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pcsn, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetChild<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, isn: u32, ppsn: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetChild(::core::mem::transmute_copy(&isn)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppsn, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLanguage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetLanguage() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateChildEntry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, isn: u32, dwcookie: u32, pszdelimiter: ::windows::core::PCWSTR, ppse: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateChildEntry(::core::mem::transmute_copy(&isn), ::core::mem::transmute_copy(&dwcookie), ::core::mem::transmute(&pszdelimiter)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppse, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateChildHandler<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptNode_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszdefaultname: ::windows::core::PCWSTR, prgpsznames: *const ::windows::core::PCWSTR, cpsznames: u32, pszevent: ::windows::core::PCWSTR, pszdelimiter: ::windows::core::PCWSTR, ptisignature: *mut ::core::ffi::c_void, imethodsignature: u32, isn: u32, dwcookie: u32, ppse: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.CreateChildHandler(::core::mem::transmute(&pszdefaultname), ::core::mem::transmute_copy(&prgpsznames), ::core::mem::transmute_copy(&cpsznames), ::core::mem::transmute(&pszevent), ::core::mem::transmute(&pszdelimiter), ::windows::core::from_raw_borrowed(&ptisignature), ::core::mem::transmute_copy(&imethodsignature), ::core::mem::transmute_copy(&isn), ::core::mem::transmute_copy(&dwcookie)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(ppse, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Alive: Alive::<Identity, Impl, OFFSET>,
Delete: Delete::<Identity, Impl, OFFSET>,
GetParent: GetParent::<Identity, Impl, OFFSET>,
GetIndexInParent: GetIndexInParent::<Identity, Impl, OFFSET>,
GetCookie: GetCookie::<Identity, Impl, OFFSET>,
GetNumberOfChildren: GetNumberOfChildren::<Identity, Impl, OFFSET>,
GetChild: GetChild::<Identity, Impl, OFFSET>,
GetLanguage: GetLanguage::<Identity, Impl, OFFSET>,
CreateChildEntry: CreateChildEntry::<Identity, Impl, OFFSET>,
CreateChildHandler: CreateChildHandler::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IScriptNode as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait IScriptScriptlet_Impl: Sized + IScriptEntry_Impl {
fn GetSubItemName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn SetSubItemName(&self, psz: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetEventName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn SetEventName(&self, psz: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
fn GetSimpleEventName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
fn SetSimpleEventName(&self, psz: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for IScriptScriptlet {}
#[cfg(feature = "Win32_System_Com")]
impl IScriptScriptlet_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptScriptlet_Impl, const OFFSET: isize>() -> IScriptScriptlet_Vtbl {
unsafe extern "system" fn GetSubItemName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptScriptlet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSubItemName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSubItemName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptScriptlet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psz: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSubItemName(::core::mem::transmute(&psz)).into()
}
unsafe extern "system" fn GetEventName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptScriptlet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptScriptlet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psz: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetEventName(::core::mem::transmute(&psz)).into()
}
unsafe extern "system" fn GetSimpleEventName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptScriptlet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetSimpleEventName() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSimpleEventName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IScriptScriptlet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psz: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.SetSimpleEventName(::core::mem::transmute(&psz)).into()
}
Self {
base__: IScriptEntry_Vtbl::new::<Identity, Impl, OFFSET>(),
GetSubItemName: GetSubItemName::<Identity, Impl, OFFSET>,
SetSubItemName: SetSubItemName::<Identity, Impl, OFFSET>,
GetEventName: GetEventName::<Identity, Impl, OFFSET>,
SetEventName: SetEventName::<Identity, Impl, OFFSET>,
GetSimpleEventName: GetSimpleEventName::<Identity, Impl, OFFSET>,
SetSimpleEventName: SetSimpleEventName::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IScriptScriptlet as ::windows::core::ComInterface>::IID || iid == &<IScriptNode as ::windows::core::ComInterface>::IID || iid == &<IScriptEntry as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_System_Com")]
pub trait ISimpleConnectionPoint_Impl: Sized {
fn GetEventCount(&self) -> ::windows::core::Result<u32>;
fn DescribeEvents(&self, ievent: u32, cevents: u32, prgid: *mut i32, prgbstr: *mut ::windows::core::BSTR, pceventsfetched: *mut u32) -> ::windows::core::Result<()>;
fn Advise(&self, pdisp: ::core::option::Option<&super::super::Com::IDispatch>) -> ::windows::core::Result<u32>;
fn Unadvise(&self, dwcookie: u32) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl ::windows::core::RuntimeName for ISimpleConnectionPoint {}
#[cfg(feature = "Win32_System_Com")]
impl ISimpleConnectionPoint_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISimpleConnectionPoint_Impl, const OFFSET: isize>() -> ISimpleConnectionPoint_Vtbl {
unsafe extern "system" fn GetEventCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISimpleConnectionPoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pulcount: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.GetEventCount() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pulcount, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn DescribeEvents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISimpleConnectionPoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ievent: u32, cevents: u32, prgid: *mut i32, prgbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pceventsfetched: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.DescribeEvents(::core::mem::transmute_copy(&ievent), ::core::mem::transmute_copy(&cevents), ::core::mem::transmute_copy(&prgid), ::core::mem::transmute_copy(&prgbstr), ::core::mem::transmute_copy(&pceventsfetched)).into()
}
unsafe extern "system" fn Advise<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISimpleConnectionPoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdisp: *mut ::core::ffi::c_void, pdwcookie: *mut u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.Advise(::windows::core::from_raw_borrowed(&pdisp)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pdwcookie, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn Unadvise<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISimpleConnectionPoint_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcookie: u32) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Unadvise(::core::mem::transmute_copy(&dwcookie)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetEventCount: GetEventCount::<Identity, Impl, OFFSET>,
DescribeEvents: DescribeEvents::<Identity, Impl, OFFSET>,
Advise: Advise::<Identity, Impl, OFFSET>,
Unadvise: Unadvise::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<ISimpleConnectionPoint as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"implement\"`*"]
pub trait IStringDisplayableConcept_Impl: Sized {
fn ToDisplayString(&self, contextobject: ::core::option::Option<&IModelObject>, metadata: ::core::option::Option<&IKeyStore>) -> ::windows::core::Result<::windows::core::BSTR>;
}
impl ::windows::core::RuntimeName for IStringDisplayableConcept {}
impl IStringDisplayableConcept_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IStringDisplayableConcept_Impl, const OFFSET: isize>() -> IStringDisplayableConcept_Vtbl {
unsafe extern "system" fn ToDisplayString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IStringDisplayableConcept_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextobject: *mut ::core::ffi::c_void, metadata: *mut ::core::ffi::c_void, displaystring: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.ToDisplayString(::windows::core::from_raw_borrowed(&contextobject), ::windows::core::from_raw_borrowed(&metadata)) {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(displaystring, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ToDisplayString: ToDisplayString::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IStringDisplayableConcept as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait ITridentEventSink_Impl: Sized {
fn FireEvent(&self, pstrevent: &::windows::core::PCWSTR, pdp: *const super::super::Com::DISPPARAMS, pvarres: *mut super::super::Com::VARIANT, pei: *mut super::super::Com::EXCEPINFO) -> ::windows::core::Result<()>;
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ::windows::core::RuntimeName for ITridentEventSink {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl ITridentEventSink_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITridentEventSink_Impl, const OFFSET: isize>() -> ITridentEventSink_Vtbl {
unsafe extern "system" fn FireEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITridentEventSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrevent: ::windows::core::PCWSTR, pdp: *const super::super::Com::DISPPARAMS, pvarres: *mut super::super::Com::VARIANT, pei: *mut super::super::Com::EXCEPINFO) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.FireEvent(::core::mem::transmute(&pstrevent), ::core::mem::transmute_copy(&pdp), ::core::mem::transmute_copy(&pvarres), ::core::mem::transmute_copy(&pei)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), FireEvent: FireEvent::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<ITridentEventSink as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IWebAppDiagnosticsObjectInitialization_Impl: Sized {
fn Initialize(&self, hpassedhandle: super::super::super::Foundation::HANDLE_PTR, pdebugapplication: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IWebAppDiagnosticsObjectInitialization {}
#[cfg(feature = "Win32_Foundation")]
impl IWebAppDiagnosticsObjectInitialization_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWebAppDiagnosticsObjectInitialization_Impl, const OFFSET: isize>() -> IWebAppDiagnosticsObjectInitialization_Vtbl {
unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWebAppDiagnosticsObjectInitialization_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hpassedhandle: super::super::super::Foundation::HANDLE_PTR, pdebugapplication: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.Initialize(::core::mem::transmute_copy(&hpassedhandle), ::windows::core::from_raw_borrowed(&pdebugapplication)).into()
}
Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, Impl, OFFSET> }
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IWebAppDiagnosticsObjectInitialization as ::windows::core::ComInterface>::IID
}
}
#[doc = "*Required features: `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub trait IWebAppDiagnosticsSetup_Impl: Sized {
fn DiagnosticsSupported(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
fn CreateObjectWithSiteAtWebApp(&self, rclsid: *const ::windows::core::GUID, dwclscontext: u32, riid: *const ::windows::core::GUID, hpasstoobject: usize) -> ::windows::core::Result<()>;
}
#[cfg(feature = "Win32_Foundation")]
impl ::windows::core::RuntimeName for IWebAppDiagnosticsSetup {}
#[cfg(feature = "Win32_Foundation")]
impl IWebAppDiagnosticsSetup_Vtbl {
pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWebAppDiagnosticsSetup_Impl, const OFFSET: isize>() -> IWebAppDiagnosticsSetup_Vtbl {
unsafe extern "system" fn DiagnosticsSupported<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWebAppDiagnosticsSetup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pretval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
match this.DiagnosticsSupported() {
::core::result::Result::Ok(ok__) => {
::core::ptr::write(pretval, ::core::mem::transmute(ok__));
::windows::core::HRESULT(0)
}
::core::result::Result::Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateObjectWithSiteAtWebApp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWebAppDiagnosticsSetup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rclsid: *const ::windows::core::GUID, dwclscontext: u32, riid: *const ::windows::core::GUID, hpasstoobject: usize) -> ::windows::core::HRESULT {
let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
let this = (*this).get_impl();
this.CreateObjectWithSiteAtWebApp(::core::mem::transmute_copy(&rclsid), ::core::mem::transmute_copy(&dwclscontext), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&hpasstoobject)).into()
}
Self {
base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
DiagnosticsSupported: DiagnosticsSupported::<Identity, Impl, OFFSET>,
CreateObjectWithSiteAtWebApp: CreateObjectWithSiteAtWebApp::<Identity, Impl, OFFSET>,
}
}
pub fn matches(iid: &windows::core::GUID) -> bool {
iid == &<IWebAppDiagnosticsSetup as ::windows::core::ComInterface>::IID
}
}