pub trait DebugBaseEventCallbacks_Impl: Sized + IDebugEventCallbacks_Impl {}
impl windows_core::RuntimeName for DebugBaseEventCallbacks {}
impl DebugBaseEventCallbacks_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> DebugBaseEventCallbacks_Vtbl
where
Identity: DebugBaseEventCallbacks_Impl,
{
Self { base__: IDebugEventCallbacks_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<DebugBaseEventCallbacks as windows_core::Interface>::IID || iid == &<IDebugEventCallbacks as windows_core::Interface>::IID
}
}
pub trait DebugBaseEventCallbacksWide_Impl: Sized + IDebugEventCallbacksWide_Impl {}
impl windows_core::RuntimeName for DebugBaseEventCallbacksWide {}
impl DebugBaseEventCallbacksWide_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> DebugBaseEventCallbacksWide_Vtbl
where
Identity: DebugBaseEventCallbacksWide_Impl,
{
Self { base__: IDebugEventCallbacksWide_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<DebugBaseEventCallbacksWide as windows_core::Interface>::IID || iid == &<IDebugEventCallbacksWide as windows_core::Interface>::IID
}
}
pub trait ICodeAddressConcept_Impl: Sized {
fn GetContainingSymbol(&self, pcontextobject: Option<&IModelObject>) -> windows_core::Result<IDebugHostSymbol>;
}
impl windows_core::RuntimeName for ICodeAddressConcept {}
impl ICodeAddressConcept_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICodeAddressConcept_Vtbl
where
Identity: ICodeAddressConcept_Impl,
{
unsafe extern "system" fn GetContainingSymbol<Identity: windows_core::IUnknownImpl, 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
where
Identity: ICodeAddressConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICodeAddressConcept_Impl::GetContainingSymbol(this, windows_core::from_raw_borrowed(&pcontextobject)) {
Ok(ok__) => {
ppsymbol.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetContainingSymbol: GetContainingSymbol::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICodeAddressConcept as windows_core::Interface>::IID
}
}
pub trait IComparableConcept_Impl: Sized {
fn CompareObjects(&self, contextobject: Option<&IModelObject>, otherobject: Option<&IModelObject>) -> windows_core::Result<i32>;
}
impl windows_core::RuntimeName for IComparableConcept {}
impl IComparableConcept_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IComparableConcept_Vtbl
where
Identity: IComparableConcept_Impl,
{
unsafe extern "system" fn CompareObjects<Identity: windows_core::IUnknownImpl, 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
where
Identity: IComparableConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IComparableConcept_Impl::CompareObjects(this, windows_core::from_raw_borrowed(&contextobject), windows_core::from_raw_borrowed(&otherobject)) {
Ok(ok__) => {
comparisonresult.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CompareObjects: CompareObjects::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IComparableConcept as windows_core::Interface>::IID
}
}
pub trait IDataModelConcept_Impl: Sized {
fn InitializeObject(&self, modelobject: Option<&IModelObject>, matchingtypesignature: Option<&IDebugHostTypeSignature>, wildcardmatches: 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, const OFFSET: isize>() -> IDataModelConcept_Vtbl
where
Identity: IDataModelConcept_Impl,
{
unsafe extern "system" fn InitializeObject<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelConcept_Impl::InitializeObject(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, modelname: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDataModelConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelConcept_Impl::GetName(this) {
Ok(ok__) => {
modelname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
InitializeObject: InitializeObject::<Identity, OFFSET>,
GetName: GetName::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelConcept as windows_core::Interface>::IID
}
}
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: Option<&IDebugHostContext>, objectlocation: &Location, objecttype: Option<&IDebugHostType>) -> windows_core::Result<IModelObject>;
fn CreateTypedObjectReference(&self, context: Option<&IDebugHostContext>, objectlocation: &Location, objecttype: Option<&IDebugHostType>) -> windows_core::Result<IModelObject>;
fn CreateSyntheticObject(&self, context: Option<&IDebugHostContext>) -> windows_core::Result<IModelObject>;
fn CreateDataModelObject(&self, datamodel: Option<&IDataModelConcept>) -> windows_core::Result<IModelObject>;
fn CreateIntrinsicObject(&self, objectkind: ModelObjectKind, intrinsicdata: *const windows_core::VARIANT) -> windows_core::Result<IModelObject>;
fn CreateTypedIntrinsicObject(&self, intrinsicdata: *const windows_core::VARIANT, r#type: Option<&IDebugHostType>) -> windows_core::Result<IModelObject>;
fn GetModelForTypeSignature(&self, typesignature: Option<&IDebugHostTypeSignature>) -> windows_core::Result<IModelObject>;
fn GetModelForType(&self, r#type: Option<&IDebugHostType>, datamodel: *mut Option<IModelObject>, typesignature: *mut Option<IDebugHostTypeSignature>, wildcardmatches: *mut Option<IDebugHostSymbolEnumerator>) -> windows_core::Result<()>;
fn RegisterModelForTypeSignature(&self, typesignature: Option<&IDebugHostTypeSignature>, datamodel: Option<&IModelObject>) -> windows_core::Result<()>;
fn UnregisterModelForTypeSignature(&self, datamodel: Option<&IModelObject>, typesignature: Option<&IDebugHostTypeSignature>) -> windows_core::Result<()>;
fn RegisterExtensionForTypeSignature(&self, typesignature: Option<&IDebugHostTypeSignature>, datamodel: Option<&IModelObject>) -> windows_core::Result<()>;
fn UnregisterExtensionForTypeSignature(&self, datamodel: Option<&IModelObject>, typesignature: Option<&IDebugHostTypeSignature>) -> windows_core::Result<()>;
fn CreateMetadataStore(&self, parentstore: Option<&IKeyStore>) -> windows_core::Result<IKeyStore>;
fn GetRootNamespace(&self) -> windows_core::Result<IModelObject>;
fn RegisterNamedModel(&self, modelname: &windows_core::PCWSTR, modeobject: 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>;
}
impl windows_core::RuntimeName for IDataModelManager {}
impl IDataModelManager_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDataModelManager_Vtbl
where
Identity: IDataModelManager_Impl,
{
unsafe extern "system" fn Close<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelManager_Impl::Close(this).into()
}
unsafe extern "system" fn CreateNoValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, object: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::CreateNoValue(this) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateErrorObject<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::CreateErrorObject(this, core::mem::transmute_copy(&hrerror), core::mem::transmute(&pwszmessage)) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypedObject<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::CreateTypedObject(this, windows_core::from_raw_borrowed(&context), core::mem::transmute(&objectlocation), windows_core::from_raw_borrowed(&objecttype)) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypedObjectReference<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::CreateTypedObjectReference(this, windows_core::from_raw_borrowed(&context), core::mem::transmute(&objectlocation), windows_core::from_raw_borrowed(&objecttype)) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSyntheticObject<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::CreateSyntheticObject(this, windows_core::from_raw_borrowed(&context)) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateDataModelObject<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::CreateDataModelObject(this, windows_core::from_raw_borrowed(&datamodel)) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateIntrinsicObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, objectkind: ModelObjectKind, intrinsicdata: *const core::mem::MaybeUninit<windows_core::VARIANT>, object: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::CreateIntrinsicObject(this, core::mem::transmute_copy(&objectkind), core::mem::transmute_copy(&intrinsicdata)) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypedIntrinsicObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, intrinsicdata: *const core::mem::MaybeUninit<windows_core::VARIANT>, r#type: *mut core::ffi::c_void, object: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::CreateTypedIntrinsicObject(this, core::mem::transmute_copy(&intrinsicdata), windows_core::from_raw_borrowed(&r#type)) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModelForTypeSignature<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::GetModelForTypeSignature(this, windows_core::from_raw_borrowed(&typesignature)) {
Ok(ok__) => {
datamodel.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModelForType<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelManager_Impl::GetModelForType(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, typesignature: *mut core::ffi::c_void, datamodel: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelManager_Impl::RegisterModelForTypeSignature(this, windows_core::from_raw_borrowed(&typesignature), windows_core::from_raw_borrowed(&datamodel)).into()
}
unsafe extern "system" fn UnregisterModelForTypeSignature<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, datamodel: *mut core::ffi::c_void, typesignature: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelManager_Impl::UnregisterModelForTypeSignature(this, windows_core::from_raw_borrowed(&datamodel), windows_core::from_raw_borrowed(&typesignature)).into()
}
unsafe extern "system" fn RegisterExtensionForTypeSignature<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, typesignature: *mut core::ffi::c_void, datamodel: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelManager_Impl::RegisterExtensionForTypeSignature(this, windows_core::from_raw_borrowed(&typesignature), windows_core::from_raw_borrowed(&datamodel)).into()
}
unsafe extern "system" fn UnregisterExtensionForTypeSignature<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, datamodel: *mut core::ffi::c_void, typesignature: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelManager_Impl::UnregisterExtensionForTypeSignature(this, windows_core::from_raw_borrowed(&datamodel), windows_core::from_raw_borrowed(&typesignature)).into()
}
unsafe extern "system" fn CreateMetadataStore<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::CreateMetadataStore(this, windows_core::from_raw_borrowed(&parentstore)) {
Ok(ok__) => {
metadatastore.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRootNamespace<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rootnamespace: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::GetRootNamespace(this) {
Ok(ok__) => {
rootnamespace.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterNamedModel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, modelname: windows_core::PCWSTR, modeobject: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelManager_Impl::RegisterNamedModel(this, core::mem::transmute(&modelname), windows_core::from_raw_borrowed(&modeobject)).into()
}
unsafe extern "system" fn UnregisterNamedModel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, modelname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelManager_Impl::UnregisterNamedModel(this, core::mem::transmute(&modelname)).into()
}
unsafe extern "system" fn AcquireNamedModel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, modelname: windows_core::PCWSTR, modelobject: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager_Impl::AcquireNamedModel(this, core::mem::transmute(&modelname)) {
Ok(ok__) => {
modelobject.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Close: Close::<Identity, OFFSET>,
CreateNoValue: CreateNoValue::<Identity, OFFSET>,
CreateErrorObject: CreateErrorObject::<Identity, OFFSET>,
CreateTypedObject: CreateTypedObject::<Identity, OFFSET>,
CreateTypedObjectReference: CreateTypedObjectReference::<Identity, OFFSET>,
CreateSyntheticObject: CreateSyntheticObject::<Identity, OFFSET>,
CreateDataModelObject: CreateDataModelObject::<Identity, OFFSET>,
CreateIntrinsicObject: CreateIntrinsicObject::<Identity, OFFSET>,
CreateTypedIntrinsicObject: CreateTypedIntrinsicObject::<Identity, OFFSET>,
GetModelForTypeSignature: GetModelForTypeSignature::<Identity, OFFSET>,
GetModelForType: GetModelForType::<Identity, OFFSET>,
RegisterModelForTypeSignature: RegisterModelForTypeSignature::<Identity, OFFSET>,
UnregisterModelForTypeSignature: UnregisterModelForTypeSignature::<Identity, OFFSET>,
RegisterExtensionForTypeSignature: RegisterExtensionForTypeSignature::<Identity, OFFSET>,
UnregisterExtensionForTypeSignature: UnregisterExtensionForTypeSignature::<Identity, OFFSET>,
CreateMetadataStore: CreateMetadataStore::<Identity, OFFSET>,
GetRootNamespace: GetRootNamespace::<Identity, OFFSET>,
RegisterNamedModel: RegisterNamedModel::<Identity, OFFSET>,
UnregisterNamedModel: UnregisterNamedModel::<Identity, OFFSET>,
AcquireNamedModel: AcquireNamedModel::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelManager as windows_core::Interface>::IID
}
}
pub trait IDataModelManager2_Impl: Sized + IDataModelManager_Impl {
fn AcquireSubNamespace(&self, modelname: &windows_core::PCWSTR, subnamespacemodelname: &windows_core::PCWSTR, accessname: &windows_core::PCWSTR, metadata: Option<&IKeyStore>) -> windows_core::Result<IModelObject>;
fn CreateTypedIntrinsicObjectEx(&self, context: Option<&IDebugHostContext>, intrinsicdata: *const windows_core::VARIANT, r#type: Option<&IDebugHostType>) -> windows_core::Result<IModelObject>;
}
impl windows_core::RuntimeName for IDataModelManager2 {}
impl IDataModelManager2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDataModelManager2_Vtbl
where
Identity: IDataModelManager2_Impl,
{
unsafe extern "system" fn AcquireSubNamespace<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelManager2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager2_Impl::AcquireSubNamespace(this, core::mem::transmute(&modelname), core::mem::transmute(&subnamespacemodelname), core::mem::transmute(&accessname), windows_core::from_raw_borrowed(&metadata)) {
Ok(ok__) => {
namespacemodelobject.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypedIntrinsicObjectEx<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *mut core::ffi::c_void, intrinsicdata: *const core::mem::MaybeUninit<windows_core::VARIANT>, r#type: *mut core::ffi::c_void, object: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelManager2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelManager2_Impl::CreateTypedIntrinsicObjectEx(this, windows_core::from_raw_borrowed(&context), core::mem::transmute_copy(&intrinsicdata), windows_core::from_raw_borrowed(&r#type)) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IDataModelManager_Vtbl::new::<Identity, OFFSET>(),
AcquireSubNamespace: AcquireSubNamespace::<Identity, OFFSET>,
CreateTypedIntrinsicObjectEx: CreateTypedIntrinsicObjectEx::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelManager2 as windows_core::Interface>::IID || iid == &<IDataModelManager as windows_core::Interface>::IID
}
}
pub trait IDataModelNameBinder_Impl: Sized {
fn BindValue(&self, contextobject: Option<&IModelObject>, name: &windows_core::PCWSTR, value: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
fn BindReference(&self, contextobject: Option<&IModelObject>, name: &windows_core::PCWSTR, reference: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
fn EnumerateValues(&self, contextobject: Option<&IModelObject>) -> windows_core::Result<IKeyEnumerator>;
fn EnumerateReferences(&self, contextobject: Option<&IModelObject>) -> windows_core::Result<IKeyEnumerator>;
}
impl windows_core::RuntimeName for IDataModelNameBinder {}
impl IDataModelNameBinder_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDataModelNameBinder_Vtbl
where
Identity: IDataModelNameBinder_Impl,
{
unsafe extern "system" fn BindValue<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelNameBinder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelNameBinder_Impl::BindValue(this, 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, 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
where
Identity: IDataModelNameBinder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelNameBinder_Impl::BindReference(this, 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, 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
where
Identity: IDataModelNameBinder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelNameBinder_Impl::EnumerateValues(this, windows_core::from_raw_borrowed(&contextobject)) {
Ok(ok__) => {
enumerator.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateReferences<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelNameBinder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelNameBinder_Impl::EnumerateReferences(this, windows_core::from_raw_borrowed(&contextobject)) {
Ok(ok__) => {
enumerator.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
BindValue: BindValue::<Identity, OFFSET>,
BindReference: BindReference::<Identity, OFFSET>,
EnumerateValues: EnumerateValues::<Identity, OFFSET>,
EnumerateReferences: EnumerateReferences::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelNameBinder as windows_core::Interface>::IID
}
}
#[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: Option<&super::super::super::Com::IStream>) -> windows_core::Result<()>;
fn Execute(&self, client: Option<&IDataModelScriptClient>) -> windows_core::Result<()>;
fn Unlink(&self) -> windows_core::Result<()>;
fn IsInvocable(&self) -> windows_core::Result<bool>;
fn InvokeMain(&self, client: 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, const OFFSET: isize>() -> IDataModelScript_Vtbl
where
Identity: IDataModelScript_Impl,
{
unsafe extern "system" fn GetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, scriptname: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDataModelScript_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScript_Impl::GetName(this) {
Ok(ok__) => {
scriptname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Rename<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, scriptname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDataModelScript_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScript_Impl::Rename(this, core::mem::transmute(&scriptname)).into()
}
unsafe extern "system" fn Populate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, contentstream: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScript_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScript_Impl::Populate(this, windows_core::from_raw_borrowed(&contentstream)).into()
}
unsafe extern "system" fn Execute<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScript_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScript_Impl::Execute(this, windows_core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn Unlink<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScript_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScript_Impl::Unlink(this).into()
}
unsafe extern "system" fn IsInvocable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, isinvocable: *mut bool) -> windows_core::HRESULT
where
Identity: IDataModelScript_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScript_Impl::IsInvocable(this) {
Ok(ok__) => {
isinvocable.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn InvokeMain<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScript_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScript_Impl::InvokeMain(this, windows_core::from_raw_borrowed(&client)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetName: GetName::<Identity, OFFSET>,
Rename: Rename::<Identity, OFFSET>,
Populate: Populate::<Identity, OFFSET>,
Execute: Execute::<Identity, OFFSET>,
Unlink: Unlink::<Identity, OFFSET>,
IsInvocable: IsInvocable::<Identity, OFFSET>,
InvokeMain: InvokeMain::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScript as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDataModelScriptClient_Vtbl
where
Identity: IDataModelScriptClient_Impl,
{
unsafe extern "system" fn ReportError<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelScriptClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptClient_Impl::ReportError(this, 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, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptClient as windows_core::Interface>::IID
}
}
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: Option<&IDataModelScriptDebugClient>) -> windows_core::Result<()>;
fn StopDebugging(&self, debugclient: Option<&IDataModelScriptDebugClient>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IDataModelScriptDebug {}
impl IDataModelScriptDebug_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDataModelScriptDebug_Vtbl
where
Identity: IDataModelScriptDebug_Impl,
{
unsafe extern "system" fn GetDebugState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> ScriptDebugState
where
Identity: IDataModelScriptDebug_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebug_Impl::GetDebugState(this)
}
unsafe extern "system" fn GetCurrentPosition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, currentposition: *mut ScriptDebugPosition, positionspanend: *mut ScriptDebugPosition, linetext: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebug_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebug_Impl::GetCurrentPosition(this, core::mem::transmute_copy(¤tposition), core::mem::transmute_copy(&positionspanend), core::mem::transmute_copy(&linetext)).into()
}
unsafe extern "system" fn GetStack<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, stack: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebug_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebug_Impl::GetStack(this) {
Ok(ok__) => {
stack.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lineposition: u32, columnposition: u32, breakpoint: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebug_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebug_Impl::SetBreakpoint(this, core::mem::transmute_copy(&lineposition), core::mem::transmute_copy(&columnposition)) {
Ok(ok__) => {
breakpoint.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FindBreakpointById<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, breakpointid: u64, breakpoint: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebug_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebug_Impl::FindBreakpointById(this, core::mem::transmute_copy(&breakpointid)) {
Ok(ok__) => {
breakpoint.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateBreakpoints<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, breakpointenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebug_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebug_Impl::EnumerateBreakpoints(this) {
Ok(ok__) => {
breakpointenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventFilter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, eventfilter: ScriptDebugEventFilter, isbreakenabled: *mut bool) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebug_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebug_Impl::GetEventFilter(this, core::mem::transmute_copy(&eventfilter)) {
Ok(ok__) => {
isbreakenabled.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventFilter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, eventfilter: ScriptDebugEventFilter, isbreakenabled: u8) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebug_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebug_Impl::SetEventFilter(this, core::mem::transmute_copy(&eventfilter), core::mem::transmute_copy(&isbreakenabled)).into()
}
unsafe extern "system" fn StartDebugging<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, debugclient: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebug_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebug_Impl::StartDebugging(this, windows_core::from_raw_borrowed(&debugclient)).into()
}
unsafe extern "system" fn StopDebugging<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, debugclient: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebug_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebug_Impl::StopDebugging(this, windows_core::from_raw_borrowed(&debugclient)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDebugState: GetDebugState::<Identity, OFFSET>,
GetCurrentPosition: GetCurrentPosition::<Identity, OFFSET>,
GetStack: GetStack::<Identity, OFFSET>,
SetBreakpoint: SetBreakpoint::<Identity, OFFSET>,
FindBreakpointById: FindBreakpointById::<Identity, OFFSET>,
EnumerateBreakpoints: EnumerateBreakpoints::<Identity, OFFSET>,
GetEventFilter: GetEventFilter::<Identity, OFFSET>,
SetEventFilter: SetEventFilter::<Identity, OFFSET>,
StartDebugging: StartDebugging::<Identity, OFFSET>,
StopDebugging: StopDebugging::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptDebug as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDataModelScriptDebug2_Vtbl
where
Identity: IDataModelScriptDebug2_Impl,
{
unsafe extern "system" fn SetBreakpointAtFunction<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, functionname: windows_core::PCWSTR, breakpoint: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebug2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebug2_Impl::SetBreakpointAtFunction(this, core::mem::transmute(&functionname)) {
Ok(ok__) => {
breakpoint.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IDataModelScriptDebug_Vtbl::new::<Identity, OFFSET>(), SetBreakpointAtFunction: SetBreakpointAtFunction::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptDebug2 as windows_core::Interface>::IID || iid == &<IDataModelScriptDebug as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDataModelScriptDebugBreakpoint_Vtbl
where
Identity: IDataModelScriptDebugBreakpoint_Impl,
{
unsafe extern "system" fn GetId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> u64
where
Identity: IDataModelScriptDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugBreakpoint_Impl::GetId(this)
}
unsafe extern "system" fn IsEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> bool
where
Identity: IDataModelScriptDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugBreakpoint_Impl::IsEnabled(this)
}
unsafe extern "system" fn Enable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void)
where
Identity: IDataModelScriptDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugBreakpoint_Impl::Enable(this)
}
unsafe extern "system" fn Disable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void)
where
Identity: IDataModelScriptDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugBreakpoint_Impl::Disable(this)
}
unsafe extern "system" fn Remove<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void)
where
Identity: IDataModelScriptDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugBreakpoint_Impl::Remove(this)
}
unsafe extern "system" fn GetPosition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, position: *mut ScriptDebugPosition, positionspanend: *mut ScriptDebugPosition, linetext: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugBreakpoint_Impl::GetPosition(this, 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, OFFSET>,
IsEnabled: IsEnabled::<Identity, OFFSET>,
Enable: Enable::<Identity, OFFSET>,
Disable: Disable::<Identity, OFFSET>,
Remove: Remove::<Identity, OFFSET>,
GetPosition: GetPosition::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptDebugBreakpoint as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDataModelScriptDebugBreakpointEnumerator_Vtbl
where
Identity: IDataModelScriptDebugBreakpointEnumerator_Impl,
{
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugBreakpointEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugBreakpointEnumerator_Impl::Reset(this).into()
}
unsafe extern "system" fn GetNext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, breakpoint: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugBreakpointEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebugBreakpointEnumerator_Impl::GetNext(this) {
Ok(ok__) => {
breakpoint.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Reset: Reset::<Identity, OFFSET>, GetNext: GetNext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptDebugBreakpointEnumerator as windows_core::Interface>::IID
}
}
pub trait IDataModelScriptDebugClient_Impl: Sized {
fn NotifyDebugEvent(&self, peventinfo: *const ScriptDebugEventInformation, pscript: Option<&IDataModelScript>, peventdataobject: 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, const OFFSET: isize>() -> IDataModelScriptDebugClient_Vtbl
where
Identity: IDataModelScriptDebugClient_Impl,
{
unsafe extern "system" fn NotifyDebugEvent<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDataModelScriptDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugClient_Impl::NotifyDebugEvent(this, 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, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptDebugClient as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDataModelScriptDebugStack_Vtbl
where
Identity: IDataModelScriptDebugStack_Impl,
{
unsafe extern "system" fn GetFrameCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> u64
where
Identity: IDataModelScriptDebugStack_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugStack_Impl::GetFrameCount(this)
}
unsafe extern "system" fn GetStackFrame<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, framenumber: u64, stackframe: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugStack_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebugStack_Impl::GetStackFrame(this, core::mem::transmute_copy(&framenumber)) {
Ok(ok__) => {
stackframe.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetFrameCount: GetFrameCount::<Identity, OFFSET>,
GetStackFrame: GetStackFrame::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptDebugStack as windows_core::Interface>::IID
}
}
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 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, const OFFSET: isize>() -> IDataModelScriptDebugStackFrame_Vtbl
where
Identity: IDataModelScriptDebugStackFrame_Impl,
{
unsafe extern "system" fn GetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugStackFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebugStackFrame_Impl::GetName(this) {
Ok(ok__) => {
name.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPosition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, position: *mut ScriptDebugPosition, positionspanend: *mut ScriptDebugPosition, linetext: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugStackFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugStackFrame_Impl::GetPosition(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, istransitionpoint: *mut bool) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugStackFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebugStackFrame_Impl::IsTransitionPoint(this) {
Ok(ok__) => {
istransitionpoint.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTransition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, transitionscript: *mut *mut core::ffi::c_void, istransitioncontiguous: *mut bool) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugStackFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugStackFrame_Impl::GetTransition(this, core::mem::transmute_copy(&transitionscript), core::mem::transmute_copy(&istransitioncontiguous)).into()
}
unsafe extern "system" fn Evaluate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwszexpression: windows_core::PCWSTR, ppresult: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugStackFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebugStackFrame_Impl::Evaluate(this, core::mem::transmute(&pwszexpression)) {
Ok(ok__) => {
ppresult.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateLocals<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, variablesenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugStackFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebugStackFrame_Impl::EnumerateLocals(this) {
Ok(ok__) => {
variablesenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateArguments<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, variablesenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugStackFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptDebugStackFrame_Impl::EnumerateArguments(this) {
Ok(ok__) => {
variablesenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetName: GetName::<Identity, OFFSET>,
GetPosition: GetPosition::<Identity, OFFSET>,
IsTransitionPoint: IsTransitionPoint::<Identity, OFFSET>,
GetTransition: GetTransition::<Identity, OFFSET>,
Evaluate: Evaluate::<Identity, OFFSET>,
EnumerateLocals: EnumerateLocals::<Identity, OFFSET>,
EnumerateArguments: EnumerateArguments::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptDebugStackFrame as windows_core::Interface>::IID
}
}
pub trait IDataModelScriptDebugVariableSetEnumerator_Impl: Sized {
fn Reset(&self) -> windows_core::Result<()>;
fn GetNext(&self, variablename: *mut windows_core::BSTR, variablevalue: *mut Option<IModelObject>, variablemetadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IDataModelScriptDebugVariableSetEnumerator {}
impl IDataModelScriptDebugVariableSetEnumerator_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDataModelScriptDebugVariableSetEnumerator_Vtbl
where
Identity: IDataModelScriptDebugVariableSetEnumerator_Impl,
{
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugVariableSetEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugVariableSetEnumerator_Impl::Reset(this).into()
}
unsafe extern "system" fn GetNext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, variablename: *mut core::mem::MaybeUninit<windows_core::BSTR>, variablevalue: *mut *mut core::ffi::c_void, variablemetadata: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptDebugVariableSetEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptDebugVariableSetEnumerator_Impl::GetNext(this, 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, OFFSET>, GetNext: GetNext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptDebugVariableSetEnumerator as windows_core::Interface>::IID
}
}
pub trait IDataModelScriptHostContext_Impl: Sized {
fn NotifyScriptChange(&self, script: 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, const OFFSET: isize>() -> IDataModelScriptHostContext_Vtbl
where
Identity: IDataModelScriptHostContext_Impl,
{
unsafe extern "system" fn NotifyScriptChange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, script: *mut core::ffi::c_void, changekind: ScriptChangeKind) -> windows_core::HRESULT
where
Identity: IDataModelScriptHostContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptHostContext_Impl::NotifyScriptChange(this, windows_core::from_raw_borrowed(&script), core::mem::transmute_copy(&changekind)).into()
}
unsafe extern "system" fn GetNamespaceObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, namespaceobject: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptHostContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptHostContext_Impl::GetNamespaceObject(this) {
Ok(ok__) => {
namespaceobject.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
NotifyScriptChange: NotifyScriptChange::<Identity, OFFSET>,
GetNamespaceObject: GetNamespaceObject::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptHostContext as windows_core::Interface>::IID
}
}
pub trait IDataModelScriptManager_Impl: Sized {
fn GetDefaultNameBinder(&self) -> windows_core::Result<IDataModelNameBinder>;
fn RegisterScriptProvider(&self, provider: Option<&IDataModelScriptProvider>) -> windows_core::Result<()>;
fn UnregisterScriptProvider(&self, provider: 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, const OFFSET: isize>() -> IDataModelScriptManager_Vtbl
where
Identity: IDataModelScriptManager_Impl,
{
unsafe extern "system" fn GetDefaultNameBinder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppnamebinder: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptManager_Impl::GetDefaultNameBinder(this) {
Ok(ok__) => {
ppnamebinder.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterScriptProvider<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, provider: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptManager_Impl::RegisterScriptProvider(this, windows_core::from_raw_borrowed(&provider)).into()
}
unsafe extern "system" fn UnregisterScriptProvider<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, provider: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptManager_Impl::UnregisterScriptProvider(this, windows_core::from_raw_borrowed(&provider)).into()
}
unsafe extern "system" fn FindProviderForScriptType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, scripttype: windows_core::PCWSTR, provider: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptManager_Impl::FindProviderForScriptType(this, core::mem::transmute(&scripttype)) {
Ok(ok__) => {
provider.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FindProviderForScriptExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, scriptextension: windows_core::PCWSTR, provider: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptManager_Impl::FindProviderForScriptExtension(this, core::mem::transmute(&scriptextension)) {
Ok(ok__) => {
provider.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateScriptProviders<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, enumerator: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptManager_Impl::EnumerateScriptProviders(this) {
Ok(ok__) => {
enumerator.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDefaultNameBinder: GetDefaultNameBinder::<Identity, OFFSET>,
RegisterScriptProvider: RegisterScriptProvider::<Identity, OFFSET>,
UnregisterScriptProvider: UnregisterScriptProvider::<Identity, OFFSET>,
FindProviderForScriptType: FindProviderForScriptType::<Identity, OFFSET>,
FindProviderForScriptExtension: FindProviderForScriptExtension::<Identity, OFFSET>,
EnumerateScriptProviders: EnumerateScriptProviders::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptManager as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDataModelScriptProvider_Vtbl
where
Identity: IDataModelScriptProvider_Impl,
{
unsafe extern "system" fn GetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDataModelScriptProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptProvider_Impl::GetName(this) {
Ok(ok__) => {
name.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, extension: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDataModelScriptProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptProvider_Impl::GetExtension(this) {
Ok(ok__) => {
extension.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateScript<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, script: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptProvider_Impl::CreateScript(this) {
Ok(ok__) => {
script.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDefaultTemplateContent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, templatecontent: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptProvider_Impl::GetDefaultTemplateContent(this) {
Ok(ok__) => {
templatecontent.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateTemplates<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, enumerator: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptProvider_Impl::EnumerateTemplates(this) {
Ok(ok__) => {
enumerator.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetName: GetName::<Identity, OFFSET>,
GetExtension: GetExtension::<Identity, OFFSET>,
CreateScript: CreateScript::<Identity, OFFSET>,
GetDefaultTemplateContent: GetDefaultTemplateContent::<Identity, OFFSET>,
EnumerateTemplates: EnumerateTemplates::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptProvider as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDataModelScriptProviderEnumerator_Vtbl
where
Identity: IDataModelScriptProviderEnumerator_Impl,
{
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptProviderEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptProviderEnumerator_Impl::Reset(this).into()
}
unsafe extern "system" fn GetNext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, provider: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptProviderEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptProviderEnumerator_Impl::GetNext(this) {
Ok(ok__) => {
provider.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Reset: Reset::<Identity, OFFSET>, GetNext: GetNext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptProviderEnumerator as windows_core::Interface>::IID
}
}
#[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::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, const OFFSET: isize>() -> IDataModelScriptTemplate_Vtbl
where
Identity: IDataModelScriptTemplate_Impl,
{
unsafe extern "system" fn GetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, templatename: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDataModelScriptTemplate_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptTemplate_Impl::GetName(this) {
Ok(ok__) => {
templatename.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescription<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, templatedescription: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDataModelScriptTemplate_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptTemplate_Impl::GetDescription(this) {
Ok(ok__) => {
templatedescription.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, contentstream: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptTemplate_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptTemplate_Impl::GetContent(this) {
Ok(ok__) => {
contentstream.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetName: GetName::<Identity, OFFSET>,
GetDescription: GetDescription::<Identity, OFFSET>,
GetContent: GetContent::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptTemplate as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDataModelScriptTemplateEnumerator_Vtbl
where
Identity: IDataModelScriptTemplateEnumerator_Impl,
{
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptTemplateEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataModelScriptTemplateEnumerator_Impl::Reset(this).into()
}
unsafe extern "system" fn GetNext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, templatecontent: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataModelScriptTemplateEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataModelScriptTemplateEnumerator_Impl::GetNext(this) {
Ok(ok__) => {
templatecontent.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Reset: Reset::<Identity, OFFSET>, GetNext: GetNext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataModelScriptTemplateEnumerator as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugAdvanced_Vtbl
where
Identity: IDebugAdvanced_Impl,
{
unsafe extern "system" fn GetThreadContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *mut core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugAdvanced_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced_Impl::GetThreadContext(this, core::mem::transmute_copy(&context), core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn SetThreadContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugAdvanced_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced_Impl::SetThreadContext(this, core::mem::transmute_copy(&context), core::mem::transmute_copy(&contextsize)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetThreadContext: GetThreadContext::<Identity, OFFSET>,
SetThreadContext: SetThreadContext::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugAdvanced as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugAdvanced2_Vtbl
where
Identity: IDebugAdvanced2_Impl,
{
unsafe extern "system" fn GetThreadContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *mut core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugAdvanced2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced2_Impl::GetThreadContext(this, core::mem::transmute_copy(&context), core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn SetThreadContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugAdvanced2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced2_Impl::SetThreadContext(this, core::mem::transmute_copy(&context), core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn Request<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugAdvanced2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced2_Impl::Request(this, 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, 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
where
Identity: IDebugAdvanced2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced2_Impl::GetSourceFileInformation(this, 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, 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
where
Identity: IDebugAdvanced2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced2_Impl::FindSourceFileAndToken(this, 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, 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
where
Identity: IDebugAdvanced2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced2_Impl::GetSymbolInformation(this, 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, 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
where
Identity: IDebugAdvanced2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced2_Impl::GetSystemObjectInformation(this, 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, OFFSET>,
SetThreadContext: SetThreadContext::<Identity, OFFSET>,
Request: Request::<Identity, OFFSET>,
GetSourceFileInformation: GetSourceFileInformation::<Identity, OFFSET>,
FindSourceFileAndToken: FindSourceFileAndToken::<Identity, OFFSET>,
GetSymbolInformation: GetSymbolInformation::<Identity, OFFSET>,
GetSystemObjectInformation: GetSystemObjectInformation::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugAdvanced2 as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugAdvanced3_Vtbl
where
Identity: IDebugAdvanced3_Impl,
{
unsafe extern "system" fn GetThreadContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *mut core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugAdvanced3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced3_Impl::GetThreadContext(this, core::mem::transmute_copy(&context), core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn SetThreadContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugAdvanced3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced3_Impl::SetThreadContext(this, core::mem::transmute_copy(&context), core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn Request<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugAdvanced3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced3_Impl::Request(this, 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, 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
where
Identity: IDebugAdvanced3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced3_Impl::GetSourceFileInformation(this, 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, 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
where
Identity: IDebugAdvanced3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced3_Impl::FindSourceFileAndToken(this, 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, 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
where
Identity: IDebugAdvanced3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced3_Impl::GetSymbolInformation(this, 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, 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
where
Identity: IDebugAdvanced3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced3_Impl::GetSystemObjectInformation(this, 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, 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
where
Identity: IDebugAdvanced3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced3_Impl::GetSourceFileInformationWide(this, 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, 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
where
Identity: IDebugAdvanced3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced3_Impl::FindSourceFileAndTokenWide(this, 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, 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
where
Identity: IDebugAdvanced3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced3_Impl::GetSymbolInformationWide(this, 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, OFFSET>,
SetThreadContext: SetThreadContext::<Identity, OFFSET>,
Request: Request::<Identity, OFFSET>,
GetSourceFileInformation: GetSourceFileInformation::<Identity, OFFSET>,
FindSourceFileAndToken: FindSourceFileAndToken::<Identity, OFFSET>,
GetSymbolInformation: GetSymbolInformation::<Identity, OFFSET>,
GetSystemObjectInformation: GetSystemObjectInformation::<Identity, OFFSET>,
GetSourceFileInformationWide: GetSourceFileInformationWide::<Identity, OFFSET>,
FindSourceFileAndTokenWide: FindSourceFileAndTokenWide::<Identity, OFFSET>,
GetSymbolInformationWide: GetSymbolInformationWide::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugAdvanced3 as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugAdvanced4_Vtbl
where
Identity: IDebugAdvanced4_Impl,
{
unsafe extern "system" fn GetThreadContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *mut core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugAdvanced4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced4_Impl::GetThreadContext(this, core::mem::transmute_copy(&context), core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn SetThreadContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugAdvanced4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced4_Impl::SetThreadContext(this, core::mem::transmute_copy(&context), core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn Request<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugAdvanced4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced4_Impl::Request(this, 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, 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
where
Identity: IDebugAdvanced4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced4_Impl::GetSourceFileInformation(this, 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, 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
where
Identity: IDebugAdvanced4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced4_Impl::FindSourceFileAndToken(this, 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, 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
where
Identity: IDebugAdvanced4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced4_Impl::GetSymbolInformation(this, 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, 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
where
Identity: IDebugAdvanced4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced4_Impl::GetSystemObjectInformation(this, 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, 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
where
Identity: IDebugAdvanced4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced4_Impl::GetSourceFileInformationWide(this, 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, 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
where
Identity: IDebugAdvanced4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced4_Impl::FindSourceFileAndTokenWide(this, 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, 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
where
Identity: IDebugAdvanced4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced4_Impl::GetSymbolInformationWide(this, 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, 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
where
Identity: IDebugAdvanced4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugAdvanced4_Impl::GetSymbolInformationWideEx(this, 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, OFFSET>,
SetThreadContext: SetThreadContext::<Identity, OFFSET>,
Request: Request::<Identity, OFFSET>,
GetSourceFileInformation: GetSourceFileInformation::<Identity, OFFSET>,
FindSourceFileAndToken: FindSourceFileAndToken::<Identity, OFFSET>,
GetSymbolInformation: GetSymbolInformation::<Identity, OFFSET>,
GetSystemObjectInformation: GetSystemObjectInformation::<Identity, OFFSET>,
GetSourceFileInformationWide: GetSourceFileInformationWide::<Identity, OFFSET>,
FindSourceFileAndTokenWide: FindSourceFileAndTokenWide::<Identity, OFFSET>,
GetSymbolInformationWide: GetSymbolInformationWide::<Identity, OFFSET>,
GetSymbolInformationWideEx: GetSymbolInformationWideEx::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugAdvanced4 as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugBreakpoint_Vtbl
where
Identity: IDebugBreakpoint_Impl,
{
unsafe extern "system" fn GetId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint_Impl::GetId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, breaktype: *mut u32, proctype: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::GetType(this, core::mem::transmute_copy(&breaktype), core::mem::transmute_copy(&proctype)).into()
}
unsafe extern "system" fn GetAdder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, adder: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint_Impl::GetAdder(this) {
Ok(ok__) => {
adder.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint_Impl::GetFlags(this) {
Ok(ok__) => {
flags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::AddFlags(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn RemoveFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::RemoveFlags(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::SetFlags(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint_Impl::GetOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::SetOffset(this, core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetDataParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, size: *mut u32, accesstype: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::GetDataParameters(this, core::mem::transmute_copy(&size), core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn SetDataParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, size: u32, accesstype: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::SetDataParameters(this, core::mem::transmute_copy(&size), core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn GetPassCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint_Impl::GetPassCount(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPassCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::SetPassCount(this, core::mem::transmute_copy(&count)).into()
}
unsafe extern "system" fn GetCurrentPassCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint_Impl::GetCurrentPassCount(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMatchThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint_Impl::GetMatchThreadId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMatchThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, thread: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::SetMatchThreadId(this, core::mem::transmute_copy(&thread)).into()
}
unsafe extern "system" fn GetCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::GetCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::SetCommand(this, core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetOffsetExpression<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, expressionsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::GetOffsetExpression(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, expression: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::SetOffsetExpression(this, core::mem::transmute(&expression)).into()
}
unsafe extern "system" fn GetParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint_Impl::GetParameters(this, core::mem::transmute_copy(¶ms)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetId: GetId::<Identity, OFFSET>,
GetType: GetType::<Identity, OFFSET>,
GetAdder: GetAdder::<Identity, OFFSET>,
GetFlags: GetFlags::<Identity, OFFSET>,
AddFlags: AddFlags::<Identity, OFFSET>,
RemoveFlags: RemoveFlags::<Identity, OFFSET>,
SetFlags: SetFlags::<Identity, OFFSET>,
GetOffset: GetOffset::<Identity, OFFSET>,
SetOffset: SetOffset::<Identity, OFFSET>,
GetDataParameters: GetDataParameters::<Identity, OFFSET>,
SetDataParameters: SetDataParameters::<Identity, OFFSET>,
GetPassCount: GetPassCount::<Identity, OFFSET>,
SetPassCount: SetPassCount::<Identity, OFFSET>,
GetCurrentPassCount: GetCurrentPassCount::<Identity, OFFSET>,
GetMatchThreadId: GetMatchThreadId::<Identity, OFFSET>,
SetMatchThreadId: SetMatchThreadId::<Identity, OFFSET>,
GetCommand: GetCommand::<Identity, OFFSET>,
SetCommand: SetCommand::<Identity, OFFSET>,
GetOffsetExpression: GetOffsetExpression::<Identity, OFFSET>,
SetOffsetExpression: SetOffsetExpression::<Identity, OFFSET>,
GetParameters: GetParameters::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugBreakpoint as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugBreakpoint2_Vtbl
where
Identity: IDebugBreakpoint2_Impl,
{
unsafe extern "system" fn GetId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint2_Impl::GetId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, breaktype: *mut u32, proctype: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::GetType(this, core::mem::transmute_copy(&breaktype), core::mem::transmute_copy(&proctype)).into()
}
unsafe extern "system" fn GetAdder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, adder: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint2_Impl::GetAdder(this) {
Ok(ok__) => {
adder.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint2_Impl::GetFlags(this) {
Ok(ok__) => {
flags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::AddFlags(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn RemoveFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::RemoveFlags(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::SetFlags(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint2_Impl::GetOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::SetOffset(this, core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetDataParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, size: *mut u32, accesstype: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::GetDataParameters(this, core::mem::transmute_copy(&size), core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn SetDataParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, size: u32, accesstype: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::SetDataParameters(this, core::mem::transmute_copy(&size), core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn GetPassCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint2_Impl::GetPassCount(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPassCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::SetPassCount(this, core::mem::transmute_copy(&count)).into()
}
unsafe extern "system" fn GetCurrentPassCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint2_Impl::GetCurrentPassCount(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMatchThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint2_Impl::GetMatchThreadId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMatchThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, thread: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::SetMatchThreadId(this, core::mem::transmute_copy(&thread)).into()
}
unsafe extern "system" fn GetCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::GetCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::SetCommand(this, core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetOffsetExpression<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, expressionsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::GetOffsetExpression(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, expression: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::SetOffsetExpression(this, core::mem::transmute(&expression)).into()
}
unsafe extern "system" fn GetParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::GetParameters(this, core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetCommandWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::GetCommandWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, command: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::SetCommandWide(this, core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetOffsetExpressionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, expressionsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::GetOffsetExpressionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, expression: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint2_Impl::SetOffsetExpressionWide(this, core::mem::transmute(&expression)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetId: GetId::<Identity, OFFSET>,
GetType: GetType::<Identity, OFFSET>,
GetAdder: GetAdder::<Identity, OFFSET>,
GetFlags: GetFlags::<Identity, OFFSET>,
AddFlags: AddFlags::<Identity, OFFSET>,
RemoveFlags: RemoveFlags::<Identity, OFFSET>,
SetFlags: SetFlags::<Identity, OFFSET>,
GetOffset: GetOffset::<Identity, OFFSET>,
SetOffset: SetOffset::<Identity, OFFSET>,
GetDataParameters: GetDataParameters::<Identity, OFFSET>,
SetDataParameters: SetDataParameters::<Identity, OFFSET>,
GetPassCount: GetPassCount::<Identity, OFFSET>,
SetPassCount: SetPassCount::<Identity, OFFSET>,
GetCurrentPassCount: GetCurrentPassCount::<Identity, OFFSET>,
GetMatchThreadId: GetMatchThreadId::<Identity, OFFSET>,
SetMatchThreadId: SetMatchThreadId::<Identity, OFFSET>,
GetCommand: GetCommand::<Identity, OFFSET>,
SetCommand: SetCommand::<Identity, OFFSET>,
GetOffsetExpression: GetOffsetExpression::<Identity, OFFSET>,
SetOffsetExpression: SetOffsetExpression::<Identity, OFFSET>,
GetParameters: GetParameters::<Identity, OFFSET>,
GetCommandWide: GetCommandWide::<Identity, OFFSET>,
SetCommandWide: SetCommandWide::<Identity, OFFSET>,
GetOffsetExpressionWide: GetOffsetExpressionWide::<Identity, OFFSET>,
SetOffsetExpressionWide: SetOffsetExpressionWide::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugBreakpoint2 as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugBreakpoint3_Vtbl
where
Identity: IDebugBreakpoint3_Impl,
{
unsafe extern "system" fn GetId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint3_Impl::GetId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, breaktype: *mut u32, proctype: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::GetType(this, core::mem::transmute_copy(&breaktype), core::mem::transmute_copy(&proctype)).into()
}
unsafe extern "system" fn GetAdder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, adder: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint3_Impl::GetAdder(this) {
Ok(ok__) => {
adder.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint3_Impl::GetFlags(this) {
Ok(ok__) => {
flags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::AddFlags(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn RemoveFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::RemoveFlags(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::SetFlags(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint3_Impl::GetOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::SetOffset(this, core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetDataParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, size: *mut u32, accesstype: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::GetDataParameters(this, core::mem::transmute_copy(&size), core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn SetDataParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, size: u32, accesstype: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::SetDataParameters(this, core::mem::transmute_copy(&size), core::mem::transmute_copy(&accesstype)).into()
}
unsafe extern "system" fn GetPassCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint3_Impl::GetPassCount(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPassCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::SetPassCount(this, core::mem::transmute_copy(&count)).into()
}
unsafe extern "system" fn GetCurrentPassCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint3_Impl::GetCurrentPassCount(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMatchThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint3_Impl::GetMatchThreadId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMatchThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, thread: u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::SetMatchThreadId(this, core::mem::transmute_copy(&thread)).into()
}
unsafe extern "system" fn GetCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::GetCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::SetCommand(this, core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetOffsetExpression<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, expressionsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::GetOffsetExpression(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, expression: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::SetOffsetExpression(this, core::mem::transmute(&expression)).into()
}
unsafe extern "system" fn GetParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::GetParameters(this, core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetCommandWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::GetCommandWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, command: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::SetCommandWide(this, core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetOffsetExpressionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, expressionsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::GetOffsetExpressionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, expression: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugBreakpoint3_Impl::SetOffsetExpressionWide(this, core::mem::transmute(&expression)).into()
}
unsafe extern "system" fn GetGuid<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, guid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IDebugBreakpoint3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugBreakpoint3_Impl::GetGuid(this) {
Ok(ok__) => {
guid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetId: GetId::<Identity, OFFSET>,
GetType: GetType::<Identity, OFFSET>,
GetAdder: GetAdder::<Identity, OFFSET>,
GetFlags: GetFlags::<Identity, OFFSET>,
AddFlags: AddFlags::<Identity, OFFSET>,
RemoveFlags: RemoveFlags::<Identity, OFFSET>,
SetFlags: SetFlags::<Identity, OFFSET>,
GetOffset: GetOffset::<Identity, OFFSET>,
SetOffset: SetOffset::<Identity, OFFSET>,
GetDataParameters: GetDataParameters::<Identity, OFFSET>,
SetDataParameters: SetDataParameters::<Identity, OFFSET>,
GetPassCount: GetPassCount::<Identity, OFFSET>,
SetPassCount: SetPassCount::<Identity, OFFSET>,
GetCurrentPassCount: GetCurrentPassCount::<Identity, OFFSET>,
GetMatchThreadId: GetMatchThreadId::<Identity, OFFSET>,
SetMatchThreadId: SetMatchThreadId::<Identity, OFFSET>,
GetCommand: GetCommand::<Identity, OFFSET>,
SetCommand: SetCommand::<Identity, OFFSET>,
GetOffsetExpression: GetOffsetExpression::<Identity, OFFSET>,
SetOffsetExpression: SetOffsetExpression::<Identity, OFFSET>,
GetParameters: GetParameters::<Identity, OFFSET>,
GetCommandWide: GetCommandWide::<Identity, OFFSET>,
SetCommandWide: SetCommandWide::<Identity, OFFSET>,
GetOffsetExpressionWide: GetOffsetExpressionWide::<Identity, OFFSET>,
SetOffsetExpressionWide: SetOffsetExpressionWide::<Identity, OFFSET>,
GetGuid: GetGuid::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugBreakpoint3 as windows_core::Interface>::IID
}
}
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: Option<&IDebugClient>) -> windows_core::Result<()>;
fn CreateClient(&self) -> windows_core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> windows_core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: Option<&IDebugInputCallbacks>) -> windows_core::Result<()>;
fn GetOutputCallbacks(&self) -> windows_core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: Option<&IDebugOutputCallbacks>) -> windows_core::Result<()>;
fn GetOutputMask(&self) -> windows_core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> windows_core::Result<()>;
fn GetOtherOutputMask(&self, client: Option<&IDebugClient>) -> windows_core::Result<u32>;
fn SetOtherOutputMask(&self, client: 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: 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, const OFFSET: isize>() -> IDebugClient_Vtbl
where
Identity: IDebugClient_Impl,
{
unsafe extern "system" fn AttachKernel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::AttachKernel(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::GetKernelConnectionOptions(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::SetKernelConnectionOptions(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::StartProcessServer(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient_Impl::ConnectProcessServer(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::DisconnectProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::GetRunningProcessSystemIds(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient_Impl::GetRunningProcessSystemIdByExecutableName(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::GetRunningProcessDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::AttachProcess(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::CreateProcessA(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::CreateProcessAndAttach(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient_Impl::GetProcessOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::AddProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::RemoveProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::SetProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::OpenDumpFile(this, core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::WriteDumpFile(this, core::mem::transmute(&dumpfile), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, historylimit: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::ConnectSession(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::StartServer(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::OutputServers(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::TerminateProcesses(this).into()
}
unsafe extern "system" fn DetachProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::DetachProcesses(this).into()
}
unsafe extern "system" fn EndSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::EndSession(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, code: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient_Impl::GetExitCode(this) {
Ok(ok__) => {
code.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::DispatchCallbacks(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::ExitDispatch(this, windows_core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient_Impl::CreateClient(this) {
Ok(ok__) => {
client.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient_Impl::GetInputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::SetInputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient_Impl::GetOutputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::SetOutputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient_Impl::GetOutputMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::SetOutputMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient_Impl::GetOtherOutputMask(this, windows_core::from_raw_borrowed(&client)) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::SetOtherOutputMask(this, windows_core::from_raw_borrowed(&client), core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient_Impl::GetOutputWidth(this) {
Ok(ok__) => {
columns.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::SetOutputWidth(this, core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::GetOutputLinePrefix(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::SetOutputLinePrefix(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::GetIdentity(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::OutputIdentity(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient_Impl::GetEventCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::SetEventCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient_Impl::FlushCallbacks(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, OFFSET>,
AttachProcess: AttachProcess::<Identity, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, OFFSET>,
ConnectSession: ConnectSession::<Identity, OFFSET>,
StartServer: StartServer::<Identity, OFFSET>,
OutputServers: OutputServers::<Identity, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, OFFSET>,
EndSession: EndSession::<Identity, OFFSET>,
GetExitCode: GetExitCode::<Identity, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, OFFSET>,
CreateClient: CreateClient::<Identity, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, OFFSET>,
GetIdentity: GetIdentity::<Identity, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugClient as windows_core::Interface>::IID
}
}
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: Option<&IDebugClient>) -> windows_core::Result<()>;
fn CreateClient(&self) -> windows_core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> windows_core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: Option<&IDebugInputCallbacks>) -> windows_core::Result<()>;
fn GetOutputCallbacks(&self) -> windows_core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: Option<&IDebugOutputCallbacks>) -> windows_core::Result<()>;
fn GetOutputMask(&self) -> windows_core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> windows_core::Result<()>;
fn GetOtherOutputMask(&self, client: Option<&IDebugClient>) -> windows_core::Result<u32>;
fn SetOtherOutputMask(&self, client: 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: 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, const OFFSET: isize>() -> IDebugClient2_Vtbl
where
Identity: IDebugClient2_Impl,
{
unsafe extern "system" fn AttachKernel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::AttachKernel(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::GetKernelConnectionOptions(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::SetKernelConnectionOptions(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::StartProcessServer(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient2_Impl::ConnectProcessServer(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::DisconnectProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::GetRunningProcessSystemIds(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient2_Impl::GetRunningProcessSystemIdByExecutableName(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::GetRunningProcessDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::AttachProcess(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::CreateProcessA(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::CreateProcessAndAttach(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient2_Impl::GetProcessOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::AddProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::RemoveProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::SetProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::OpenDumpFile(this, core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::WriteDumpFile(this, core::mem::transmute(&dumpfile), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, historylimit: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::ConnectSession(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::StartServer(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::OutputServers(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::TerminateProcesses(this).into()
}
unsafe extern "system" fn DetachProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::DetachProcesses(this).into()
}
unsafe extern "system" fn EndSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::EndSession(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, code: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient2_Impl::GetExitCode(this) {
Ok(ok__) => {
code.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::DispatchCallbacks(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::ExitDispatch(this, windows_core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient2_Impl::CreateClient(this) {
Ok(ok__) => {
client.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient2_Impl::GetInputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::SetInputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient2_Impl::GetOutputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::SetOutputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient2_Impl::GetOutputMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::SetOutputMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient2_Impl::GetOtherOutputMask(this, windows_core::from_raw_borrowed(&client)) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::SetOtherOutputMask(this, windows_core::from_raw_borrowed(&client), core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient2_Impl::GetOutputWidth(this) {
Ok(ok__) => {
columns.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::SetOutputWidth(this, core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::GetOutputLinePrefix(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::SetOutputLinePrefix(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::GetIdentity(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::OutputIdentity(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient2_Impl::GetEventCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::SetEventCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::FlushCallbacks(this).into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32, formatflags: u32, comment: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::WriteDumpFile2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, infofile: windows_core::PCSTR, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::AddDumpInformationFile(this, core::mem::transmute(&infofile), core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::EndProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::WaitForProcessServerEnd(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::IsKernelDebuggerEnabled(this).into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::TerminateCurrentProcess(this).into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::DetachCurrentProcess(this).into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient2_Impl::AbandonCurrentProcess(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, OFFSET>,
AttachProcess: AttachProcess::<Identity, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, OFFSET>,
ConnectSession: ConnectSession::<Identity, OFFSET>,
StartServer: StartServer::<Identity, OFFSET>,
OutputServers: OutputServers::<Identity, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, OFFSET>,
EndSession: EndSession::<Identity, OFFSET>,
GetExitCode: GetExitCode::<Identity, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, OFFSET>,
CreateClient: CreateClient::<Identity, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, OFFSET>,
GetIdentity: GetIdentity::<Identity, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugClient2 as windows_core::Interface>::IID
}
}
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: Option<&IDebugClient>) -> windows_core::Result<()>;
fn CreateClient(&self) -> windows_core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> windows_core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: Option<&IDebugInputCallbacks>) -> windows_core::Result<()>;
fn GetOutputCallbacks(&self) -> windows_core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: Option<&IDebugOutputCallbacks>) -> windows_core::Result<()>;
fn GetOutputMask(&self) -> windows_core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> windows_core::Result<()>;
fn GetOtherOutputMask(&self, client: Option<&IDebugClient>) -> windows_core::Result<u32>;
fn SetOtherOutputMask(&self, client: 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: 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, const OFFSET: isize>() -> IDebugClient3_Vtbl
where
Identity: IDebugClient3_Impl,
{
unsafe extern "system" fn AttachKernel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::AttachKernel(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::GetKernelConnectionOptions(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::SetKernelConnectionOptions(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::StartProcessServer(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::ConnectProcessServer(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::DisconnectProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::GetRunningProcessSystemIds(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::GetRunningProcessSystemIdByExecutableName(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::GetRunningProcessDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::AttachProcess(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::CreateProcessA(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::CreateProcessAndAttach(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::GetProcessOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::AddProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::RemoveProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::SetProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::OpenDumpFile(this, core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::WriteDumpFile(this, core::mem::transmute(&dumpfile), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, historylimit: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::ConnectSession(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::StartServer(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::OutputServers(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::TerminateProcesses(this).into()
}
unsafe extern "system" fn DetachProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::DetachProcesses(this).into()
}
unsafe extern "system" fn EndSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::EndSession(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, code: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::GetExitCode(this) {
Ok(ok__) => {
code.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::DispatchCallbacks(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::ExitDispatch(this, windows_core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::CreateClient(this) {
Ok(ok__) => {
client.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::GetInputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::SetInputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::GetOutputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::SetOutputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::GetOutputMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::SetOutputMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::GetOtherOutputMask(this, windows_core::from_raw_borrowed(&client)) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::SetOtherOutputMask(this, windows_core::from_raw_borrowed(&client), core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::GetOutputWidth(this) {
Ok(ok__) => {
columns.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::SetOutputWidth(this, core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::GetOutputLinePrefix(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::SetOutputLinePrefix(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::GetIdentity(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::OutputIdentity(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::GetEventCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::SetEventCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::FlushCallbacks(this).into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32, formatflags: u32, comment: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::WriteDumpFile2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, infofile: windows_core::PCSTR, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::AddDumpInformationFile(this, core::mem::transmute(&infofile), core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::EndProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::WaitForProcessServerEnd(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::IsKernelDebuggerEnabled(this).into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::TerminateCurrentProcess(this).into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::DetachCurrentProcess(this).into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::AbandonCurrentProcess(this).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCWSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient3_Impl::GetRunningProcessSystemIdByExecutableNameWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::GetRunningProcessDescriptionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::CreateProcessWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient3_Impl::CreateProcessAndAttachWide(this, 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, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, OFFSET>,
AttachProcess: AttachProcess::<Identity, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, OFFSET>,
ConnectSession: ConnectSession::<Identity, OFFSET>,
StartServer: StartServer::<Identity, OFFSET>,
OutputServers: OutputServers::<Identity, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, OFFSET>,
EndSession: EndSession::<Identity, OFFSET>,
GetExitCode: GetExitCode::<Identity, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, OFFSET>,
CreateClient: CreateClient::<Identity, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, OFFSET>,
GetIdentity: GetIdentity::<Identity, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugClient3 as windows_core::Interface>::IID
}
}
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: Option<&IDebugClient>) -> windows_core::Result<()>;
fn CreateClient(&self) -> windows_core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> windows_core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: Option<&IDebugInputCallbacks>) -> windows_core::Result<()>;
fn GetOutputCallbacks(&self) -> windows_core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: Option<&IDebugOutputCallbacks>) -> windows_core::Result<()>;
fn GetOutputMask(&self) -> windows_core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> windows_core::Result<()>;
fn GetOtherOutputMask(&self, client: Option<&IDebugClient>) -> windows_core::Result<u32>;
fn SetOtherOutputMask(&self, client: 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: 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, const OFFSET: isize>() -> IDebugClient4_Vtbl
where
Identity: IDebugClient4_Impl,
{
unsafe extern "system" fn AttachKernel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::AttachKernel(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::GetKernelConnectionOptions(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::SetKernelConnectionOptions(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::StartProcessServer(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::ConnectProcessServer(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::DisconnectProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::GetRunningProcessSystemIds(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::GetRunningProcessSystemIdByExecutableName(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::GetRunningProcessDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::AttachProcess(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::CreateProcessA(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::CreateProcessAndAttach(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::GetProcessOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::AddProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::RemoveProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::SetProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::OpenDumpFile(this, core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::WriteDumpFile(this, core::mem::transmute(&dumpfile), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, historylimit: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::ConnectSession(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::StartServer(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::OutputServers(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::TerminateProcesses(this).into()
}
unsafe extern "system" fn DetachProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::DetachProcesses(this).into()
}
unsafe extern "system" fn EndSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::EndSession(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, code: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::GetExitCode(this) {
Ok(ok__) => {
code.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::DispatchCallbacks(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::ExitDispatch(this, windows_core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::CreateClient(this) {
Ok(ok__) => {
client.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::GetInputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::SetInputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::GetOutputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::SetOutputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::GetOutputMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::SetOutputMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::GetOtherOutputMask(this, windows_core::from_raw_borrowed(&client)) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::SetOtherOutputMask(this, windows_core::from_raw_borrowed(&client), core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::GetOutputWidth(this) {
Ok(ok__) => {
columns.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::SetOutputWidth(this, core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::GetOutputLinePrefix(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::SetOutputLinePrefix(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::GetIdentity(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::OutputIdentity(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::GetEventCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::SetEventCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::FlushCallbacks(this).into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32, formatflags: u32, comment: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::WriteDumpFile2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, infofile: windows_core::PCSTR, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::AddDumpInformationFile(this, core::mem::transmute(&infofile), core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::EndProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::WaitForProcessServerEnd(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::IsKernelDebuggerEnabled(this).into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::TerminateCurrentProcess(this).into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::DetachCurrentProcess(this).into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::AbandonCurrentProcess(this).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCWSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::GetRunningProcessSystemIdByExecutableNameWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::GetRunningProcessDescriptionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::CreateProcessWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::CreateProcessAndAttachWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, filename: windows_core::PCWSTR, filehandle: u64) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::OpenDumpFileWide(this, core::mem::transmute(&filename), core::mem::transmute_copy(&filehandle)).into()
}
unsafe extern "system" fn WriteDumpFileWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::WriteDumpFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, filename: windows_core::PCWSTR, filehandle: u64, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::AddDumpInformationFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient4_Impl::GetNumberDumpFiles(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFile<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::GetDumpFile(this, 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, 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
where
Identity: IDebugClient4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient4_Impl::GetDumpFileWide(this, 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, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, OFFSET>,
AttachProcess: AttachProcess::<Identity, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, OFFSET>,
ConnectSession: ConnectSession::<Identity, OFFSET>,
StartServer: StartServer::<Identity, OFFSET>,
OutputServers: OutputServers::<Identity, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, OFFSET>,
EndSession: EndSession::<Identity, OFFSET>,
GetExitCode: GetExitCode::<Identity, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, OFFSET>,
CreateClient: CreateClient::<Identity, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, OFFSET>,
GetIdentity: GetIdentity::<Identity, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, OFFSET>,
OpenDumpFileWide: OpenDumpFileWide::<Identity, OFFSET>,
WriteDumpFileWide: WriteDumpFileWide::<Identity, OFFSET>,
AddDumpInformationFileWide: AddDumpInformationFileWide::<Identity, OFFSET>,
GetNumberDumpFiles: GetNumberDumpFiles::<Identity, OFFSET>,
GetDumpFile: GetDumpFile::<Identity, OFFSET>,
GetDumpFileWide: GetDumpFileWide::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugClient4 as windows_core::Interface>::IID
}
}
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: Option<&IDebugClient>) -> windows_core::Result<()>;
fn CreateClient(&self) -> windows_core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> windows_core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: Option<&IDebugInputCallbacks>) -> windows_core::Result<()>;
fn GetOutputCallbacks(&self) -> windows_core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: Option<&IDebugOutputCallbacks>) -> windows_core::Result<()>;
fn GetOutputMask(&self) -> windows_core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> windows_core::Result<()>;
fn GetOtherOutputMask(&self, client: Option<&IDebugClient>) -> windows_core::Result<u32>;
fn SetOtherOutputMask(&self, client: 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: 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: 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: 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, const OFFSET: isize>() -> IDebugClient5_Vtbl
where
Identity: IDebugClient5_Impl,
{
unsafe extern "system" fn AttachKernel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::AttachKernel(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetKernelConnectionOptions(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetKernelConnectionOptions(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::StartProcessServer(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::ConnectProcessServer(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::DisconnectProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetRunningProcessSystemIds(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetRunningProcessSystemIdByExecutableName(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetRunningProcessDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::AttachProcess(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::CreateProcessA(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::CreateProcessAndAttach(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetProcessOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::AddProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::RemoveProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::OpenDumpFile(this, core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::WriteDumpFile(this, core::mem::transmute(&dumpfile), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, historylimit: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::ConnectSession(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::StartServer(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::OutputServers(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::TerminateProcesses(this).into()
}
unsafe extern "system" fn DetachProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::DetachProcesses(this).into()
}
unsafe extern "system" fn EndSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::EndSession(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, code: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetExitCode(this) {
Ok(ok__) => {
code.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::DispatchCallbacks(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::ExitDispatch(this, windows_core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::CreateClient(this) {
Ok(ok__) => {
client.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetInputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetInputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetOutputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetOutputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetOutputMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetOutputMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetOtherOutputMask(this, windows_core::from_raw_borrowed(&client)) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetOtherOutputMask(this, windows_core::from_raw_borrowed(&client), core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetOutputWidth(this) {
Ok(ok__) => {
columns.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetOutputWidth(this, core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetOutputLinePrefix(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetOutputLinePrefix(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetIdentity(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::OutputIdentity(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetEventCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetEventCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::FlushCallbacks(this).into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32, formatflags: u32, comment: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::WriteDumpFile2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, infofile: windows_core::PCSTR, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::AddDumpInformationFile(this, core::mem::transmute(&infofile), core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::EndProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::WaitForProcessServerEnd(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::IsKernelDebuggerEnabled(this).into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::TerminateCurrentProcess(this).into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::DetachCurrentProcess(this).into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::AbandonCurrentProcess(this).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCWSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetRunningProcessSystemIdByExecutableNameWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetRunningProcessDescriptionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::CreateProcessWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::CreateProcessAndAttachWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, filename: windows_core::PCWSTR, filehandle: u64) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::OpenDumpFileWide(this, core::mem::transmute(&filename), core::mem::transmute_copy(&filehandle)).into()
}
unsafe extern "system" fn WriteDumpFileWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::WriteDumpFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, filename: windows_core::PCWSTR, filehandle: u64, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::AddDumpInformationFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetNumberDumpFiles(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFile<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetDumpFile(this, 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, 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
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetDumpFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::AttachKernelWide(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptionsWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetKernelConnectionOptionsWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetKernelConnectionOptionsWide(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCWSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::StartProcessServerWide(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCWSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::ConnectProcessServerWide(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::StartServerWide(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServersWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::OutputServersWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOutputCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetOutputCallbacksWide(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetOutputCallbacksWide(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputLinePrefixWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetOutputLinePrefixWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetOutputLinePrefixWide(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentityWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetIdentityWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::OutputIdentityWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetEventCallbacksWide(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetEventCallbacksWide(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn CreateProcess2<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::CreateProcess2(this, 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, 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
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::CreateProcess2Wide(this, 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, 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
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::CreateProcessAndAttach2(this, 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, 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
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::CreateProcessAndAttach2Wide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, newprefix: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::PushOutputLinePrefix(this, core::mem::transmute(&newprefix)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn PushOutputLinePrefixWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, newprefix: windows_core::PCWSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::PushOutputLinePrefixWide(this, core::mem::transmute(&newprefix)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn PopOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::PopOutputLinePrefix(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetNumberInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetNumberInputCallbacks(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetNumberOutputCallbacks(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, eventflags: u32, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient5_Impl::GetNumberEventCallbacks(this, core::mem::transmute_copy(&eventflags)) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetQuitLockString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetQuitLockString(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, string: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetQuitLockString(this, core::mem::transmute(&string)).into()
}
unsafe extern "system" fn GetQuitLockStringWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::GetQuitLockStringWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, string: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient5_Impl::SetQuitLockStringWide(this, core::mem::transmute(&string)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, OFFSET>,
AttachProcess: AttachProcess::<Identity, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, OFFSET>,
ConnectSession: ConnectSession::<Identity, OFFSET>,
StartServer: StartServer::<Identity, OFFSET>,
OutputServers: OutputServers::<Identity, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, OFFSET>,
EndSession: EndSession::<Identity, OFFSET>,
GetExitCode: GetExitCode::<Identity, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, OFFSET>,
CreateClient: CreateClient::<Identity, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, OFFSET>,
GetIdentity: GetIdentity::<Identity, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, OFFSET>,
OpenDumpFileWide: OpenDumpFileWide::<Identity, OFFSET>,
WriteDumpFileWide: WriteDumpFileWide::<Identity, OFFSET>,
AddDumpInformationFileWide: AddDumpInformationFileWide::<Identity, OFFSET>,
GetNumberDumpFiles: GetNumberDumpFiles::<Identity, OFFSET>,
GetDumpFile: GetDumpFile::<Identity, OFFSET>,
GetDumpFileWide: GetDumpFileWide::<Identity, OFFSET>,
AttachKernelWide: AttachKernelWide::<Identity, OFFSET>,
GetKernelConnectionOptionsWide: GetKernelConnectionOptionsWide::<Identity, OFFSET>,
SetKernelConnectionOptionsWide: SetKernelConnectionOptionsWide::<Identity, OFFSET>,
StartProcessServerWide: StartProcessServerWide::<Identity, OFFSET>,
ConnectProcessServerWide: ConnectProcessServerWide::<Identity, OFFSET>,
StartServerWide: StartServerWide::<Identity, OFFSET>,
OutputServersWide: OutputServersWide::<Identity, OFFSET>,
GetOutputCallbacksWide: GetOutputCallbacksWide::<Identity, OFFSET>,
SetOutputCallbacksWide: SetOutputCallbacksWide::<Identity, OFFSET>,
GetOutputLinePrefixWide: GetOutputLinePrefixWide::<Identity, OFFSET>,
SetOutputLinePrefixWide: SetOutputLinePrefixWide::<Identity, OFFSET>,
GetIdentityWide: GetIdentityWide::<Identity, OFFSET>,
OutputIdentityWide: OutputIdentityWide::<Identity, OFFSET>,
GetEventCallbacksWide: GetEventCallbacksWide::<Identity, OFFSET>,
SetEventCallbacksWide: SetEventCallbacksWide::<Identity, OFFSET>,
CreateProcess2: CreateProcess2::<Identity, OFFSET>,
CreateProcess2Wide: CreateProcess2Wide::<Identity, OFFSET>,
CreateProcessAndAttach2: CreateProcessAndAttach2::<Identity, OFFSET>,
CreateProcessAndAttach2Wide: CreateProcessAndAttach2Wide::<Identity, OFFSET>,
PushOutputLinePrefix: PushOutputLinePrefix::<Identity, OFFSET>,
PushOutputLinePrefixWide: PushOutputLinePrefixWide::<Identity, OFFSET>,
PopOutputLinePrefix: PopOutputLinePrefix::<Identity, OFFSET>,
GetNumberInputCallbacks: GetNumberInputCallbacks::<Identity, OFFSET>,
GetNumberOutputCallbacks: GetNumberOutputCallbacks::<Identity, OFFSET>,
GetNumberEventCallbacks: GetNumberEventCallbacks::<Identity, OFFSET>,
GetQuitLockString: GetQuitLockString::<Identity, OFFSET>,
SetQuitLockString: SetQuitLockString::<Identity, OFFSET>,
GetQuitLockStringWide: GetQuitLockStringWide::<Identity, OFFSET>,
SetQuitLockStringWide: SetQuitLockStringWide::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugClient5 as windows_core::Interface>::IID
}
}
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: Option<&IDebugClient>) -> windows_core::Result<()>;
fn CreateClient(&self) -> windows_core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> windows_core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: Option<&IDebugInputCallbacks>) -> windows_core::Result<()>;
fn GetOutputCallbacks(&self) -> windows_core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: Option<&IDebugOutputCallbacks>) -> windows_core::Result<()>;
fn GetOutputMask(&self) -> windows_core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> windows_core::Result<()>;
fn GetOtherOutputMask(&self, client: Option<&IDebugClient>) -> windows_core::Result<u32>;
fn SetOtherOutputMask(&self, client: 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: 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: 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: 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: Option<&IDebugEventContextCallbacks>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IDebugClient6 {}
impl IDebugClient6_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugClient6_Vtbl
where
Identity: IDebugClient6_Impl,
{
unsafe extern "system" fn AttachKernel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::AttachKernel(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetKernelConnectionOptions(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetKernelConnectionOptions(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::StartProcessServer(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::ConnectProcessServer(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::DisconnectProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetRunningProcessSystemIds(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetRunningProcessSystemIdByExecutableName(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetRunningProcessDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::AttachProcess(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::CreateProcessA(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::CreateProcessAndAttach(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetProcessOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::AddProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::RemoveProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::OpenDumpFile(this, core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::WriteDumpFile(this, core::mem::transmute(&dumpfile), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, historylimit: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::ConnectSession(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::StartServer(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::OutputServers(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::TerminateProcesses(this).into()
}
unsafe extern "system" fn DetachProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::DetachProcesses(this).into()
}
unsafe extern "system" fn EndSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::EndSession(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, code: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetExitCode(this) {
Ok(ok__) => {
code.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::DispatchCallbacks(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::ExitDispatch(this, windows_core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::CreateClient(this) {
Ok(ok__) => {
client.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetInputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetInputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetOutputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetOutputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetOutputMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetOutputMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetOtherOutputMask(this, windows_core::from_raw_borrowed(&client)) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetOtherOutputMask(this, windows_core::from_raw_borrowed(&client), core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetOutputWidth(this) {
Ok(ok__) => {
columns.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetOutputWidth(this, core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetOutputLinePrefix(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetOutputLinePrefix(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetIdentity(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::OutputIdentity(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetEventCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetEventCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::FlushCallbacks(this).into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32, formatflags: u32, comment: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::WriteDumpFile2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, infofile: windows_core::PCSTR, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::AddDumpInformationFile(this, core::mem::transmute(&infofile), core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::EndProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::WaitForProcessServerEnd(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::IsKernelDebuggerEnabled(this).into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::TerminateCurrentProcess(this).into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::DetachCurrentProcess(this).into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::AbandonCurrentProcess(this).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCWSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetRunningProcessSystemIdByExecutableNameWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetRunningProcessDescriptionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::CreateProcessWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::CreateProcessAndAttachWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, filename: windows_core::PCWSTR, filehandle: u64) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::OpenDumpFileWide(this, core::mem::transmute(&filename), core::mem::transmute_copy(&filehandle)).into()
}
unsafe extern "system" fn WriteDumpFileWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::WriteDumpFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, filename: windows_core::PCWSTR, filehandle: u64, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::AddDumpInformationFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetNumberDumpFiles(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFile<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetDumpFile(this, 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, 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
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetDumpFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::AttachKernelWide(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptionsWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetKernelConnectionOptionsWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetKernelConnectionOptionsWide(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCWSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::StartProcessServerWide(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCWSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::ConnectProcessServerWide(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::StartServerWide(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServersWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::OutputServersWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOutputCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetOutputCallbacksWide(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetOutputCallbacksWide(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputLinePrefixWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetOutputLinePrefixWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetOutputLinePrefixWide(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentityWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetIdentityWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::OutputIdentityWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetEventCallbacksWide(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetEventCallbacksWide(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn CreateProcess2<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::CreateProcess2(this, 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, 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
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::CreateProcess2Wide(this, 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, 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
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::CreateProcessAndAttach2(this, 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, 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
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::CreateProcessAndAttach2Wide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, newprefix: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::PushOutputLinePrefix(this, core::mem::transmute(&newprefix)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn PushOutputLinePrefixWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, newprefix: windows_core::PCWSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::PushOutputLinePrefixWide(this, core::mem::transmute(&newprefix)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn PopOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::PopOutputLinePrefix(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetNumberInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetNumberInputCallbacks(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetNumberOutputCallbacks(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, eventflags: u32, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient6_Impl::GetNumberEventCallbacks(this, core::mem::transmute_copy(&eventflags)) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetQuitLockString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetQuitLockString(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, string: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetQuitLockString(this, core::mem::transmute(&string)).into()
}
unsafe extern "system" fn GetQuitLockStringWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::GetQuitLockStringWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, string: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetQuitLockStringWide(this, core::mem::transmute(&string)).into()
}
unsafe extern "system" fn SetEventContextCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient6_Impl::SetEventContextCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, OFFSET>,
AttachProcess: AttachProcess::<Identity, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, OFFSET>,
ConnectSession: ConnectSession::<Identity, OFFSET>,
StartServer: StartServer::<Identity, OFFSET>,
OutputServers: OutputServers::<Identity, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, OFFSET>,
EndSession: EndSession::<Identity, OFFSET>,
GetExitCode: GetExitCode::<Identity, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, OFFSET>,
CreateClient: CreateClient::<Identity, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, OFFSET>,
GetIdentity: GetIdentity::<Identity, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, OFFSET>,
OpenDumpFileWide: OpenDumpFileWide::<Identity, OFFSET>,
WriteDumpFileWide: WriteDumpFileWide::<Identity, OFFSET>,
AddDumpInformationFileWide: AddDumpInformationFileWide::<Identity, OFFSET>,
GetNumberDumpFiles: GetNumberDumpFiles::<Identity, OFFSET>,
GetDumpFile: GetDumpFile::<Identity, OFFSET>,
GetDumpFileWide: GetDumpFileWide::<Identity, OFFSET>,
AttachKernelWide: AttachKernelWide::<Identity, OFFSET>,
GetKernelConnectionOptionsWide: GetKernelConnectionOptionsWide::<Identity, OFFSET>,
SetKernelConnectionOptionsWide: SetKernelConnectionOptionsWide::<Identity, OFFSET>,
StartProcessServerWide: StartProcessServerWide::<Identity, OFFSET>,
ConnectProcessServerWide: ConnectProcessServerWide::<Identity, OFFSET>,
StartServerWide: StartServerWide::<Identity, OFFSET>,
OutputServersWide: OutputServersWide::<Identity, OFFSET>,
GetOutputCallbacksWide: GetOutputCallbacksWide::<Identity, OFFSET>,
SetOutputCallbacksWide: SetOutputCallbacksWide::<Identity, OFFSET>,
GetOutputLinePrefixWide: GetOutputLinePrefixWide::<Identity, OFFSET>,
SetOutputLinePrefixWide: SetOutputLinePrefixWide::<Identity, OFFSET>,
GetIdentityWide: GetIdentityWide::<Identity, OFFSET>,
OutputIdentityWide: OutputIdentityWide::<Identity, OFFSET>,
GetEventCallbacksWide: GetEventCallbacksWide::<Identity, OFFSET>,
SetEventCallbacksWide: SetEventCallbacksWide::<Identity, OFFSET>,
CreateProcess2: CreateProcess2::<Identity, OFFSET>,
CreateProcess2Wide: CreateProcess2Wide::<Identity, OFFSET>,
CreateProcessAndAttach2: CreateProcessAndAttach2::<Identity, OFFSET>,
CreateProcessAndAttach2Wide: CreateProcessAndAttach2Wide::<Identity, OFFSET>,
PushOutputLinePrefix: PushOutputLinePrefix::<Identity, OFFSET>,
PushOutputLinePrefixWide: PushOutputLinePrefixWide::<Identity, OFFSET>,
PopOutputLinePrefix: PopOutputLinePrefix::<Identity, OFFSET>,
GetNumberInputCallbacks: GetNumberInputCallbacks::<Identity, OFFSET>,
GetNumberOutputCallbacks: GetNumberOutputCallbacks::<Identity, OFFSET>,
GetNumberEventCallbacks: GetNumberEventCallbacks::<Identity, OFFSET>,
GetQuitLockString: GetQuitLockString::<Identity, OFFSET>,
SetQuitLockString: SetQuitLockString::<Identity, OFFSET>,
GetQuitLockStringWide: GetQuitLockStringWide::<Identity, OFFSET>,
SetQuitLockStringWide: SetQuitLockStringWide::<Identity, OFFSET>,
SetEventContextCallbacks: SetEventContextCallbacks::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugClient6 as windows_core::Interface>::IID
}
}
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: Option<&IDebugClient>) -> windows_core::Result<()>;
fn CreateClient(&self) -> windows_core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> windows_core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: Option<&IDebugInputCallbacks>) -> windows_core::Result<()>;
fn GetOutputCallbacks(&self) -> windows_core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: Option<&IDebugOutputCallbacks>) -> windows_core::Result<()>;
fn GetOutputMask(&self) -> windows_core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> windows_core::Result<()>;
fn GetOtherOutputMask(&self, client: Option<&IDebugClient>) -> windows_core::Result<u32>;
fn SetOtherOutputMask(&self, client: 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: 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: 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: 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: 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, const OFFSET: isize>() -> IDebugClient7_Vtbl
where
Identity: IDebugClient7_Impl,
{
unsafe extern "system" fn AttachKernel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::AttachKernel(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetKernelConnectionOptions(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetKernelConnectionOptions(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::StartProcessServer(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::ConnectProcessServer(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::DisconnectProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetRunningProcessSystemIds(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetRunningProcessSystemIdByExecutableName(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetRunningProcessDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::AttachProcess(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::CreateProcessA(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::CreateProcessAndAttach(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetProcessOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::AddProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::RemoveProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::OpenDumpFile(this, core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::WriteDumpFile(this, core::mem::transmute(&dumpfile), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, historylimit: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::ConnectSession(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::StartServer(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::OutputServers(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::TerminateProcesses(this).into()
}
unsafe extern "system" fn DetachProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::DetachProcesses(this).into()
}
unsafe extern "system" fn EndSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::EndSession(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, code: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetExitCode(this) {
Ok(ok__) => {
code.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::DispatchCallbacks(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::ExitDispatch(this, windows_core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::CreateClient(this) {
Ok(ok__) => {
client.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetInputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetInputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetOutputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetOutputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetOutputMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetOutputMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetOtherOutputMask(this, windows_core::from_raw_borrowed(&client)) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetOtherOutputMask(this, windows_core::from_raw_borrowed(&client), core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetOutputWidth(this) {
Ok(ok__) => {
columns.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetOutputWidth(this, core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetOutputLinePrefix(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetOutputLinePrefix(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetIdentity(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::OutputIdentity(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetEventCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetEventCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::FlushCallbacks(this).into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32, formatflags: u32, comment: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::WriteDumpFile2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, infofile: windows_core::PCSTR, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::AddDumpInformationFile(this, core::mem::transmute(&infofile), core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::EndProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::WaitForProcessServerEnd(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::IsKernelDebuggerEnabled(this).into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::TerminateCurrentProcess(this).into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::DetachCurrentProcess(this).into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::AbandonCurrentProcess(this).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCWSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetRunningProcessSystemIdByExecutableNameWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetRunningProcessDescriptionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::CreateProcessWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::CreateProcessAndAttachWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, filename: windows_core::PCWSTR, filehandle: u64) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::OpenDumpFileWide(this, core::mem::transmute(&filename), core::mem::transmute_copy(&filehandle)).into()
}
unsafe extern "system" fn WriteDumpFileWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::WriteDumpFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, filename: windows_core::PCWSTR, filehandle: u64, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::AddDumpInformationFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetNumberDumpFiles(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFile<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetDumpFile(this, 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, 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
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetDumpFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::AttachKernelWide(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptionsWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetKernelConnectionOptionsWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetKernelConnectionOptionsWide(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCWSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::StartProcessServerWide(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCWSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::ConnectProcessServerWide(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::StartServerWide(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServersWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::OutputServersWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOutputCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetOutputCallbacksWide(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetOutputCallbacksWide(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputLinePrefixWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetOutputLinePrefixWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetOutputLinePrefixWide(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentityWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetIdentityWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::OutputIdentityWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetEventCallbacksWide(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetEventCallbacksWide(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn CreateProcess2<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::CreateProcess2(this, 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, 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
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::CreateProcess2Wide(this, 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, 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
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::CreateProcessAndAttach2(this, 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, 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
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::CreateProcessAndAttach2Wide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, newprefix: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::PushOutputLinePrefix(this, core::mem::transmute(&newprefix)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn PushOutputLinePrefixWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, newprefix: windows_core::PCWSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::PushOutputLinePrefixWide(this, core::mem::transmute(&newprefix)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn PopOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::PopOutputLinePrefix(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetNumberInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetNumberInputCallbacks(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetNumberOutputCallbacks(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, eventflags: u32, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient7_Impl::GetNumberEventCallbacks(this, core::mem::transmute_copy(&eventflags)) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetQuitLockString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetQuitLockString(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, string: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetQuitLockString(this, core::mem::transmute(&string)).into()
}
unsafe extern "system" fn GetQuitLockStringWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::GetQuitLockStringWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, string: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetQuitLockStringWide(this, core::mem::transmute(&string)).into()
}
unsafe extern "system" fn SetEventContextCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetEventContextCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn SetClientContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugClient7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient7_Impl::SetClientContext(this, core::mem::transmute_copy(&context), core::mem::transmute_copy(&contextsize)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AttachKernel: AttachKernel::<Identity, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, OFFSET>,
AttachProcess: AttachProcess::<Identity, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, OFFSET>,
ConnectSession: ConnectSession::<Identity, OFFSET>,
StartServer: StartServer::<Identity, OFFSET>,
OutputServers: OutputServers::<Identity, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, OFFSET>,
EndSession: EndSession::<Identity, OFFSET>,
GetExitCode: GetExitCode::<Identity, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, OFFSET>,
CreateClient: CreateClient::<Identity, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, OFFSET>,
GetIdentity: GetIdentity::<Identity, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, OFFSET>,
OpenDumpFileWide: OpenDumpFileWide::<Identity, OFFSET>,
WriteDumpFileWide: WriteDumpFileWide::<Identity, OFFSET>,
AddDumpInformationFileWide: AddDumpInformationFileWide::<Identity, OFFSET>,
GetNumberDumpFiles: GetNumberDumpFiles::<Identity, OFFSET>,
GetDumpFile: GetDumpFile::<Identity, OFFSET>,
GetDumpFileWide: GetDumpFileWide::<Identity, OFFSET>,
AttachKernelWide: AttachKernelWide::<Identity, OFFSET>,
GetKernelConnectionOptionsWide: GetKernelConnectionOptionsWide::<Identity, OFFSET>,
SetKernelConnectionOptionsWide: SetKernelConnectionOptionsWide::<Identity, OFFSET>,
StartProcessServerWide: StartProcessServerWide::<Identity, OFFSET>,
ConnectProcessServerWide: ConnectProcessServerWide::<Identity, OFFSET>,
StartServerWide: StartServerWide::<Identity, OFFSET>,
OutputServersWide: OutputServersWide::<Identity, OFFSET>,
GetOutputCallbacksWide: GetOutputCallbacksWide::<Identity, OFFSET>,
SetOutputCallbacksWide: SetOutputCallbacksWide::<Identity, OFFSET>,
GetOutputLinePrefixWide: GetOutputLinePrefixWide::<Identity, OFFSET>,
SetOutputLinePrefixWide: SetOutputLinePrefixWide::<Identity, OFFSET>,
GetIdentityWide: GetIdentityWide::<Identity, OFFSET>,
OutputIdentityWide: OutputIdentityWide::<Identity, OFFSET>,
GetEventCallbacksWide: GetEventCallbacksWide::<Identity, OFFSET>,
SetEventCallbacksWide: SetEventCallbacksWide::<Identity, OFFSET>,
CreateProcess2: CreateProcess2::<Identity, OFFSET>,
CreateProcess2Wide: CreateProcess2Wide::<Identity, OFFSET>,
CreateProcessAndAttach2: CreateProcessAndAttach2::<Identity, OFFSET>,
CreateProcessAndAttach2Wide: CreateProcessAndAttach2Wide::<Identity, OFFSET>,
PushOutputLinePrefix: PushOutputLinePrefix::<Identity, OFFSET>,
PushOutputLinePrefixWide: PushOutputLinePrefixWide::<Identity, OFFSET>,
PopOutputLinePrefix: PopOutputLinePrefix::<Identity, OFFSET>,
GetNumberInputCallbacks: GetNumberInputCallbacks::<Identity, OFFSET>,
GetNumberOutputCallbacks: GetNumberOutputCallbacks::<Identity, OFFSET>,
GetNumberEventCallbacks: GetNumberEventCallbacks::<Identity, OFFSET>,
GetQuitLockString: GetQuitLockString::<Identity, OFFSET>,
SetQuitLockString: SetQuitLockString::<Identity, OFFSET>,
GetQuitLockStringWide: GetQuitLockStringWide::<Identity, OFFSET>,
SetQuitLockStringWide: SetQuitLockStringWide::<Identity, OFFSET>,
SetEventContextCallbacks: SetEventContextCallbacks::<Identity, OFFSET>,
SetClientContext: SetClientContext::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugClient7 as windows_core::Interface>::IID
}
}
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: Option<&IDebugClient>) -> windows_core::Result<()>;
fn CreateClient(&self) -> windows_core::Result<IDebugClient>;
fn GetInputCallbacks(&self) -> windows_core::Result<IDebugInputCallbacks>;
fn SetInputCallbacks(&self, callbacks: Option<&IDebugInputCallbacks>) -> windows_core::Result<()>;
fn GetOutputCallbacks(&self) -> windows_core::Result<IDebugOutputCallbacks>;
fn SetOutputCallbacks(&self, callbacks: Option<&IDebugOutputCallbacks>) -> windows_core::Result<()>;
fn GetOutputMask(&self) -> windows_core::Result<u32>;
fn SetOutputMask(&self, mask: u32) -> windows_core::Result<()>;
fn GetOtherOutputMask(&self, client: Option<&IDebugClient>) -> windows_core::Result<u32>;
fn SetOtherOutputMask(&self, client: 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: 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: 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: 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: 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, const OFFSET: isize>() -> IDebugClient8_Vtbl
where
Identity: IDebugClient8_Impl,
{
unsafe extern "system" fn AttachKernel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::AttachKernel(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetKernelConnectionOptions(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetKernelConnectionOptions(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::StartProcessServer(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::ConnectProcessServer(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisconnectProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::DisconnectProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn GetRunningProcessSystemIds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, ids: *mut u32, count: u32, actualcount: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetRunningProcessSystemIds(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetRunningProcessSystemIdByExecutableName(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetRunningProcessDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::AttachProcess(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::CreateProcessA(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttach<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::CreateProcessAndAttach(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetProcessOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::AddProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::RemoveProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetProcessOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetProcessOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn OpenDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::OpenDumpFile(this, core::mem::transmute(&dumpfile)).into()
}
unsafe extern "system" fn WriteDumpFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::WriteDumpFile(this, core::mem::transmute(&dumpfile), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn ConnectSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, historylimit: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::ConnectSession(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&historylimit)).into()
}
unsafe extern "system" fn StartServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::StartServer(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServers<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::OutputServers(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn TerminateProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::TerminateProcesses(this).into()
}
unsafe extern "system" fn DetachProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::DetachProcesses(this).into()
}
unsafe extern "system" fn EndSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::EndSession(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetExitCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, code: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetExitCode(this) {
Ok(ok__) => {
code.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DispatchCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::DispatchCallbacks(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn ExitDispatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::ExitDispatch(this, windows_core::from_raw_borrowed(&client)).into()
}
unsafe extern "system" fn CreateClient<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::CreateClient(this) {
Ok(ok__) => {
client.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetInputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetInputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetOutputCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetOutputCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetOutputMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetOutputMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetOtherOutputMask(this, windows_core::from_raw_borrowed(&client)) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOtherOutputMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, client: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetOtherOutputMask(this, windows_core::from_raw_borrowed(&client), core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn GetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetOutputWidth(this) {
Ok(ok__) => {
columns.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columns: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetOutputWidth(this, core::mem::transmute_copy(&columns)).into()
}
unsafe extern "system" fn GetOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetOutputLinePrefix(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetOutputLinePrefix(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentity<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetIdentity(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::OutputIdentity(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetEventCallbacks(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetEventCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn FlushCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::FlushCallbacks(this).into()
}
unsafe extern "system" fn WriteDumpFile2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dumpfile: windows_core::PCSTR, qualifier: u32, formatflags: u32, comment: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::WriteDumpFile2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, infofile: windows_core::PCSTR, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::AddDumpInformationFile(this, core::mem::transmute(&infofile), core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn EndProcessServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::EndProcessServer(this, core::mem::transmute_copy(&server)).into()
}
unsafe extern "system" fn WaitForProcessServerEnd<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::WaitForProcessServerEnd(this, core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn IsKernelDebuggerEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::IsKernelDebuggerEnabled(this).into()
}
unsafe extern "system" fn TerminateCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::TerminateCurrentProcess(this).into()
}
unsafe extern "system" fn DetachCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::DetachCurrentProcess(this).into()
}
unsafe extern "system" fn AbandonCurrentProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::AbandonCurrentProcess(this).into()
}
unsafe extern "system" fn GetRunningProcessSystemIdByExecutableNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, exename: windows_core::PCWSTR, flags: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetRunningProcessSystemIdByExecutableNameWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&exename), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRunningProcessDescriptionWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetRunningProcessDescriptionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::CreateProcessWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&commandline), core::mem::transmute_copy(&createflags)).into()
}
unsafe extern "system" fn CreateProcessAndAttachWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, commandline: windows_core::PCWSTR, createflags: u32, processid: u32, attachflags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::CreateProcessAndAttachWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, filename: windows_core::PCWSTR, filehandle: u64) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::OpenDumpFileWide(this, core::mem::transmute(&filename), core::mem::transmute_copy(&filehandle)).into()
}
unsafe extern "system" fn WriteDumpFileWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::WriteDumpFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, filename: windows_core::PCWSTR, filehandle: u64, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::AddDumpInformationFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetNumberDumpFiles(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFile<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetDumpFile(this, 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, 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
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetDumpFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, connectoptions: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::AttachKernelWide(this, core::mem::transmute_copy(&flags), core::mem::transmute(&connectoptions)).into()
}
unsafe extern "system" fn GetKernelConnectionOptionsWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, optionssize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetKernelConnectionOptionsWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetKernelConnectionOptionsWide(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn StartProcessServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, options: windows_core::PCWSTR, reserved: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::StartProcessServerWide(this, core::mem::transmute_copy(&flags), core::mem::transmute(&options), core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ConnectProcessServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, remoteoptions: windows_core::PCWSTR, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::ConnectProcessServerWide(this, core::mem::transmute(&remoteoptions)) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartServerWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::StartServerWide(this, core::mem::transmute(&options)).into()
}
unsafe extern "system" fn OutputServersWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, machine: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::OutputServersWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&machine), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetOutputCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetOutputCallbacksWide(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOutputCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetOutputCallbacksWide(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn GetOutputLinePrefixWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, prefixsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetOutputLinePrefixWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, prefix: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetOutputLinePrefixWide(this, core::mem::transmute(&prefix)).into()
}
unsafe extern "system" fn GetIdentityWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, identitysize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetIdentityWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::OutputIdentityWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn GetEventCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetEventCallbacksWide(this) {
Ok(ok__) => {
callbacks.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEventCallbacksWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetEventCallbacksWide(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn CreateProcess2<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::CreateProcess2(this, 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, 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
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::CreateProcess2Wide(this, 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, 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
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::CreateProcessAndAttach2(this, 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, 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
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::CreateProcessAndAttach2Wide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, newprefix: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::PushOutputLinePrefix(this, core::mem::transmute(&newprefix)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn PushOutputLinePrefixWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, newprefix: windows_core::PCWSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::PushOutputLinePrefixWide(this, core::mem::transmute(&newprefix)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn PopOutputLinePrefix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::PopOutputLinePrefix(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetNumberInputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetNumberInputCallbacks(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberOutputCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetNumberOutputCallbacks(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberEventCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, eventflags: u32, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugClient8_Impl::GetNumberEventCallbacks(this, core::mem::transmute_copy(&eventflags)) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetQuitLockString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetQuitLockString(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, string: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetQuitLockString(this, core::mem::transmute(&string)).into()
}
unsafe extern "system" fn GetQuitLockStringWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::GetQuitLockStringWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, string: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetQuitLockStringWide(this, core::mem::transmute(&string)).into()
}
unsafe extern "system" fn SetEventContextCallbacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, callbacks: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetEventContextCallbacks(this, windows_core::from_raw_borrowed(&callbacks)).into()
}
unsafe extern "system" fn SetClientContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::SetClientContext(this, core::mem::transmute_copy(&context), core::mem::transmute_copy(&contextsize)).into()
}
unsafe extern "system" fn OpenDumpFileWide2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, filename: windows_core::PCWSTR, filehandle: u64, alternatearch: u32) -> windows_core::HRESULT
where
Identity: IDebugClient8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugClient8_Impl::OpenDumpFileWide2(this, 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, OFFSET>,
GetKernelConnectionOptions: GetKernelConnectionOptions::<Identity, OFFSET>,
SetKernelConnectionOptions: SetKernelConnectionOptions::<Identity, OFFSET>,
StartProcessServer: StartProcessServer::<Identity, OFFSET>,
ConnectProcessServer: ConnectProcessServer::<Identity, OFFSET>,
DisconnectProcessServer: DisconnectProcessServer::<Identity, OFFSET>,
GetRunningProcessSystemIds: GetRunningProcessSystemIds::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableName: GetRunningProcessSystemIdByExecutableName::<Identity, OFFSET>,
GetRunningProcessDescription: GetRunningProcessDescription::<Identity, OFFSET>,
AttachProcess: AttachProcess::<Identity, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, OFFSET>,
CreateProcessAndAttach: CreateProcessAndAttach::<Identity, OFFSET>,
GetProcessOptions: GetProcessOptions::<Identity, OFFSET>,
AddProcessOptions: AddProcessOptions::<Identity, OFFSET>,
RemoveProcessOptions: RemoveProcessOptions::<Identity, OFFSET>,
SetProcessOptions: SetProcessOptions::<Identity, OFFSET>,
OpenDumpFile: OpenDumpFile::<Identity, OFFSET>,
WriteDumpFile: WriteDumpFile::<Identity, OFFSET>,
ConnectSession: ConnectSession::<Identity, OFFSET>,
StartServer: StartServer::<Identity, OFFSET>,
OutputServers: OutputServers::<Identity, OFFSET>,
TerminateProcesses: TerminateProcesses::<Identity, OFFSET>,
DetachProcesses: DetachProcesses::<Identity, OFFSET>,
EndSession: EndSession::<Identity, OFFSET>,
GetExitCode: GetExitCode::<Identity, OFFSET>,
DispatchCallbacks: DispatchCallbacks::<Identity, OFFSET>,
ExitDispatch: ExitDispatch::<Identity, OFFSET>,
CreateClient: CreateClient::<Identity, OFFSET>,
GetInputCallbacks: GetInputCallbacks::<Identity, OFFSET>,
SetInputCallbacks: SetInputCallbacks::<Identity, OFFSET>,
GetOutputCallbacks: GetOutputCallbacks::<Identity, OFFSET>,
SetOutputCallbacks: SetOutputCallbacks::<Identity, OFFSET>,
GetOutputMask: GetOutputMask::<Identity, OFFSET>,
SetOutputMask: SetOutputMask::<Identity, OFFSET>,
GetOtherOutputMask: GetOtherOutputMask::<Identity, OFFSET>,
SetOtherOutputMask: SetOtherOutputMask::<Identity, OFFSET>,
GetOutputWidth: GetOutputWidth::<Identity, OFFSET>,
SetOutputWidth: SetOutputWidth::<Identity, OFFSET>,
GetOutputLinePrefix: GetOutputLinePrefix::<Identity, OFFSET>,
SetOutputLinePrefix: SetOutputLinePrefix::<Identity, OFFSET>,
GetIdentity: GetIdentity::<Identity, OFFSET>,
OutputIdentity: OutputIdentity::<Identity, OFFSET>,
GetEventCallbacks: GetEventCallbacks::<Identity, OFFSET>,
SetEventCallbacks: SetEventCallbacks::<Identity, OFFSET>,
FlushCallbacks: FlushCallbacks::<Identity, OFFSET>,
WriteDumpFile2: WriteDumpFile2::<Identity, OFFSET>,
AddDumpInformationFile: AddDumpInformationFile::<Identity, OFFSET>,
EndProcessServer: EndProcessServer::<Identity, OFFSET>,
WaitForProcessServerEnd: WaitForProcessServerEnd::<Identity, OFFSET>,
IsKernelDebuggerEnabled: IsKernelDebuggerEnabled::<Identity, OFFSET>,
TerminateCurrentProcess: TerminateCurrentProcess::<Identity, OFFSET>,
DetachCurrentProcess: DetachCurrentProcess::<Identity, OFFSET>,
AbandonCurrentProcess: AbandonCurrentProcess::<Identity, OFFSET>,
GetRunningProcessSystemIdByExecutableNameWide: GetRunningProcessSystemIdByExecutableNameWide::<Identity, OFFSET>,
GetRunningProcessDescriptionWide: GetRunningProcessDescriptionWide::<Identity, OFFSET>,
CreateProcessWide: CreateProcessWide::<Identity, OFFSET>,
CreateProcessAndAttachWide: CreateProcessAndAttachWide::<Identity, OFFSET>,
OpenDumpFileWide: OpenDumpFileWide::<Identity, OFFSET>,
WriteDumpFileWide: WriteDumpFileWide::<Identity, OFFSET>,
AddDumpInformationFileWide: AddDumpInformationFileWide::<Identity, OFFSET>,
GetNumberDumpFiles: GetNumberDumpFiles::<Identity, OFFSET>,
GetDumpFile: GetDumpFile::<Identity, OFFSET>,
GetDumpFileWide: GetDumpFileWide::<Identity, OFFSET>,
AttachKernelWide: AttachKernelWide::<Identity, OFFSET>,
GetKernelConnectionOptionsWide: GetKernelConnectionOptionsWide::<Identity, OFFSET>,
SetKernelConnectionOptionsWide: SetKernelConnectionOptionsWide::<Identity, OFFSET>,
StartProcessServerWide: StartProcessServerWide::<Identity, OFFSET>,
ConnectProcessServerWide: ConnectProcessServerWide::<Identity, OFFSET>,
StartServerWide: StartServerWide::<Identity, OFFSET>,
OutputServersWide: OutputServersWide::<Identity, OFFSET>,
GetOutputCallbacksWide: GetOutputCallbacksWide::<Identity, OFFSET>,
SetOutputCallbacksWide: SetOutputCallbacksWide::<Identity, OFFSET>,
GetOutputLinePrefixWide: GetOutputLinePrefixWide::<Identity, OFFSET>,
SetOutputLinePrefixWide: SetOutputLinePrefixWide::<Identity, OFFSET>,
GetIdentityWide: GetIdentityWide::<Identity, OFFSET>,
OutputIdentityWide: OutputIdentityWide::<Identity, OFFSET>,
GetEventCallbacksWide: GetEventCallbacksWide::<Identity, OFFSET>,
SetEventCallbacksWide: SetEventCallbacksWide::<Identity, OFFSET>,
CreateProcess2: CreateProcess2::<Identity, OFFSET>,
CreateProcess2Wide: CreateProcess2Wide::<Identity, OFFSET>,
CreateProcessAndAttach2: CreateProcessAndAttach2::<Identity, OFFSET>,
CreateProcessAndAttach2Wide: CreateProcessAndAttach2Wide::<Identity, OFFSET>,
PushOutputLinePrefix: PushOutputLinePrefix::<Identity, OFFSET>,
PushOutputLinePrefixWide: PushOutputLinePrefixWide::<Identity, OFFSET>,
PopOutputLinePrefix: PopOutputLinePrefix::<Identity, OFFSET>,
GetNumberInputCallbacks: GetNumberInputCallbacks::<Identity, OFFSET>,
GetNumberOutputCallbacks: GetNumberOutputCallbacks::<Identity, OFFSET>,
GetNumberEventCallbacks: GetNumberEventCallbacks::<Identity, OFFSET>,
GetQuitLockString: GetQuitLockString::<Identity, OFFSET>,
SetQuitLockString: SetQuitLockString::<Identity, OFFSET>,
GetQuitLockStringWide: GetQuitLockStringWide::<Identity, OFFSET>,
SetQuitLockStringWide: SetQuitLockStringWide::<Identity, OFFSET>,
SetEventContextCallbacks: SetEventContextCallbacks::<Identity, OFFSET>,
SetClientContext: SetClientContext::<Identity, OFFSET>,
OpenDumpFileWide2: OpenDumpFileWide2::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugClient8 as windows_core::Interface>::IID
}
}
#[cfg(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::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OpenLogFile(&self, file: &windows_core::PCSTR, append: super::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: 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::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(feature = "Win32_System_Kernel")]
impl windows_core::RuntimeName for IDebugControl {}
#[cfg(feature = "Win32_System_Kernel")]
impl IDebugControl_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugControl_Vtbl
where
Identity: IDebugControl_Impl,
{
unsafe extern "system" fn GetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetInterrupt(this).into()
}
unsafe extern "system" fn SetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetInterrupt(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetInterruptTimeout(this) {
Ok(ok__) => {
seconds.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetInterruptTimeout(this, core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetLogFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, append: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::OpenLogFile(this, core::mem::transmute(&file), core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::CloseLogFile(this).into()
}
unsafe extern "system" fn GetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetLogMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetLogMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, inputsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::Input(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::ReturnInput(this, core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::Output(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::OutputVaList(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::ControlledOutput(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::ControlledOutputVaList(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::OutputPrompt(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::OutputPromptVaList(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetPromptText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::OutputCurrentState(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::OutputVersionInformation(this, core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetNotifyEventHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetNotifyEventHandle(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, instr: windows_core::PCSTR, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::Assemble(this, core::mem::transmute_copy(&offset), core::mem::transmute(&instr)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::Disassemble(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetDisassembleEffectiveOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::OutputDisassembly(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&offset), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::OutputDisassemblyLines(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetNearInstruction(this, core::mem::transmute_copy(&offset), core::mem::transmute_copy(&delta)) {
Ok(ok__) => {
nearoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetReturnOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::OutputStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetDebuggeeType(this, core::mem::transmute_copy(&class), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetActualProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetExecutingProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetNumberPossibleExecutingProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetPossibleExecutingProcessorTypes(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetNumberProcessors(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetSystemVersion(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetPageSize(this) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::IsPointer64Bit(this).into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::ReadBugCheckData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetNumberSupportedProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetSupportedProcessorTypes(this, 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, 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
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetProcessorTypeNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetEffectiveProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetEffectiveProcessorType(this, core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetExecutionStatus(this) {
Ok(ok__) => {
status.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetExecutionStatus(this, core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetCodeLevel(this) {
Ok(ok__) => {
level.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetCodeLevel(this, core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetEngineOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::AddEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::RemoveEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, buffer: windows_core::PSTR, buffersize: u32, macrosize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute_copy(&buffer), core::mem::transmute_copy(&buffersize), core::mem::transmute_copy(¯osize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, r#macro: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetRadix(this) {
Ok(ok__) => {
radix.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetRadix(this, core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::Evaluate(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::CoerceValue(this, 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, 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
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::CoerceValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, command: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::Execute(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&command), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, commandfile: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::ExecuteCommandFile(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&commandfile), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetNumberBreakpoints(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetBreakpointByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetBreakpointById(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetBreakpointParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&ids), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::AddBreakpoint(this, core::mem::transmute_copy(&r#type), core::mem::transmute_copy(&desiredid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::RemoveBreakpoint(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, flags: u32, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::AddExtension(this, core::mem::transmute(&path), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::RemoveExtension(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl_Impl::GetExtensionByPath(this, core::mem::transmute(&path)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, function: windows_core::PCSTR, arguments: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::CallExtension(this, core::mem::transmute_copy(&handle), core::mem::transmute(&function), core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, funcname: windows_core::PCSTR, function: *mut super::super::super::super::Foundation::FARPROC) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetExtensionFunction(this, core::mem::transmute_copy(&handle), core::mem::transmute(&funcname), core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetWindbgExtensionApis32(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetWindbgExtensionApis64(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetNumberEventFilters(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetEventFilterText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetEventFilterCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetEventFilterCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, argumentsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetSpecificFilterArgument(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, argument: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetSpecificFilterArgument(this, core::mem::transmute_copy(&index), core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&codes), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetExceptionFilterSecondCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::SetExceptionFilterSecondCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::WaitForEvent(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl_Impl::GetLastEventInformation(this, 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, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, OFFSET>,
GetLogFile: GetLogFile::<Identity, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, OFFSET>,
GetLogMask: GetLogMask::<Identity, OFFSET>,
SetLogMask: SetLogMask::<Identity, OFFSET>,
Input: Input::<Identity, OFFSET>,
ReturnInput: ReturnInput::<Identity, OFFSET>,
Output: Output::<Identity, OFFSET>,
OutputVaList: OutputVaList::<Identity, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, OFFSET>,
GetPromptText: GetPromptText::<Identity, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, OFFSET>,
Assemble: Assemble::<Identity, OFFSET>,
Disassemble: Disassemble::<Identity, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, OFFSET>,
GetPageSize: GetPageSize::<Identity, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, OFFSET>,
GetRadix: GetRadix::<Identity, OFFSET>,
SetRadix: SetRadix::<Identity, OFFSET>,
Evaluate: Evaluate::<Identity, OFFSET>,
CoerceValue: CoerceValue::<Identity, OFFSET>,
CoerceValues: CoerceValues::<Identity, OFFSET>,
Execute: Execute::<Identity, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, OFFSET>,
AddExtension: AddExtension::<Identity, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, OFFSET>,
CallExtension: CallExtension::<Identity, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugControl as windows_core::Interface>::IID
}
}
#[cfg(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::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OpenLogFile(&self, file: &windows_core::PCSTR, append: super::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: 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::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(feature = "Win32_System_Kernel")]
impl windows_core::RuntimeName for IDebugControl2 {}
#[cfg(feature = "Win32_System_Kernel")]
impl IDebugControl2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugControl2_Vtbl
where
Identity: IDebugControl2_Impl,
{
unsafe extern "system" fn GetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetInterrupt(this).into()
}
unsafe extern "system" fn SetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetInterrupt(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetInterruptTimeout(this) {
Ok(ok__) => {
seconds.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetInterruptTimeout(this, core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetLogFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, append: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::OpenLogFile(this, core::mem::transmute(&file), core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::CloseLogFile(this).into()
}
unsafe extern "system" fn GetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetLogMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetLogMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, inputsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::Input(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::ReturnInput(this, core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::Output(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::OutputVaList(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::ControlledOutput(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::ControlledOutputVaList(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::OutputPrompt(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::OutputPromptVaList(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetPromptText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::OutputCurrentState(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::OutputVersionInformation(this, core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetNotifyEventHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetNotifyEventHandle(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, instr: windows_core::PCSTR, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::Assemble(this, core::mem::transmute_copy(&offset), core::mem::transmute(&instr)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::Disassemble(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetDisassembleEffectiveOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::OutputDisassembly(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&offset), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::OutputDisassemblyLines(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetNearInstruction(this, core::mem::transmute_copy(&offset), core::mem::transmute_copy(&delta)) {
Ok(ok__) => {
nearoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetReturnOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::OutputStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetDebuggeeType(this, core::mem::transmute_copy(&class), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetActualProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetExecutingProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetNumberPossibleExecutingProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetPossibleExecutingProcessorTypes(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetNumberProcessors(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetSystemVersion(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetPageSize(this) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::IsPointer64Bit(this).into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::ReadBugCheckData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetNumberSupportedProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetSupportedProcessorTypes(this, 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, 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
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetProcessorTypeNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetEffectiveProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetEffectiveProcessorType(this, core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetExecutionStatus(this) {
Ok(ok__) => {
status.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetExecutionStatus(this, core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetCodeLevel(this) {
Ok(ok__) => {
level.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetCodeLevel(this, core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetEngineOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::AddEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::RemoveEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, buffer: windows_core::PSTR, buffersize: u32, macrosize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute_copy(&buffer), core::mem::transmute_copy(&buffersize), core::mem::transmute_copy(¯osize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, r#macro: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetRadix(this) {
Ok(ok__) => {
radix.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetRadix(this, core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::Evaluate(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::CoerceValue(this, 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, 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
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::CoerceValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, command: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::Execute(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&command), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, commandfile: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::ExecuteCommandFile(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&commandfile), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetNumberBreakpoints(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetBreakpointByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetBreakpointById(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetBreakpointParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&ids), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::AddBreakpoint(this, core::mem::transmute_copy(&r#type), core::mem::transmute_copy(&desiredid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::RemoveBreakpoint(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, flags: u32, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::AddExtension(this, core::mem::transmute(&path), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::RemoveExtension(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetExtensionByPath(this, core::mem::transmute(&path)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, function: windows_core::PCSTR, arguments: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::CallExtension(this, core::mem::transmute_copy(&handle), core::mem::transmute(&function), core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, funcname: windows_core::PCSTR, function: *mut super::super::super::super::Foundation::FARPROC) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetExtensionFunction(this, core::mem::transmute_copy(&handle), core::mem::transmute(&funcname), core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetWindbgExtensionApis32(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetWindbgExtensionApis64(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetNumberEventFilters(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetEventFilterText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetEventFilterCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetEventFilterCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, argumentsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetSpecificFilterArgument(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, argument: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetSpecificFilterArgument(this, core::mem::transmute_copy(&index), core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&codes), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetExceptionFilterSecondCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetExceptionFilterSecondCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::WaitForEvent(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetLastEventInformation(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, timedate: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetCurrentTimeDate(this) {
Ok(ok__) => {
timedate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uptime: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetCurrentSystemUpTime(this) {
Ok(ok__) => {
uptime.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, formatflags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetDumpFormatFlags(this) {
Ok(ok__) => {
formatflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, numrepl: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl2_Impl::GetNumberTextReplacements(this) {
Ok(ok__) => {
numrepl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::GetTextReplacement(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, srctext: windows_core::PCSTR, dsttext: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::SetTextReplacement(this, core::mem::transmute(&srctext), core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::RemoveTextReplacements(this).into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl2_Impl::OutputTextReplacements(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, OFFSET>,
GetLogFile: GetLogFile::<Identity, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, OFFSET>,
GetLogMask: GetLogMask::<Identity, OFFSET>,
SetLogMask: SetLogMask::<Identity, OFFSET>,
Input: Input::<Identity, OFFSET>,
ReturnInput: ReturnInput::<Identity, OFFSET>,
Output: Output::<Identity, OFFSET>,
OutputVaList: OutputVaList::<Identity, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, OFFSET>,
GetPromptText: GetPromptText::<Identity, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, OFFSET>,
Assemble: Assemble::<Identity, OFFSET>,
Disassemble: Disassemble::<Identity, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, OFFSET>,
GetPageSize: GetPageSize::<Identity, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, OFFSET>,
GetRadix: GetRadix::<Identity, OFFSET>,
SetRadix: SetRadix::<Identity, OFFSET>,
Evaluate: Evaluate::<Identity, OFFSET>,
CoerceValue: CoerceValue::<Identity, OFFSET>,
CoerceValues: CoerceValues::<Identity, OFFSET>,
Execute: Execute::<Identity, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, OFFSET>,
AddExtension: AddExtension::<Identity, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, OFFSET>,
CallExtension: CallExtension::<Identity, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugControl2 as windows_core::Interface>::IID
}
}
#[cfg(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::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OpenLogFile(&self, file: &windows_core::PCSTR, append: super::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: 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::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(feature = "Win32_System_Kernel")]
impl windows_core::RuntimeName for IDebugControl3 {}
#[cfg(feature = "Win32_System_Kernel")]
impl IDebugControl3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugControl3_Vtbl
where
Identity: IDebugControl3_Impl,
{
unsafe extern "system" fn GetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetInterrupt(this).into()
}
unsafe extern "system" fn SetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetInterrupt(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetInterruptTimeout(this) {
Ok(ok__) => {
seconds.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetInterruptTimeout(this, core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetLogFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, append: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::OpenLogFile(this, core::mem::transmute(&file), core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::CloseLogFile(this).into()
}
unsafe extern "system" fn GetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetLogMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetLogMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, inputsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::Input(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::ReturnInput(this, core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::Output(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::OutputVaList(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::ControlledOutput(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::ControlledOutputVaList(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::OutputPrompt(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::OutputPromptVaList(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetPromptText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::OutputCurrentState(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::OutputVersionInformation(this, core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetNotifyEventHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetNotifyEventHandle(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, instr: windows_core::PCSTR, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::Assemble(this, core::mem::transmute_copy(&offset), core::mem::transmute(&instr)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::Disassemble(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetDisassembleEffectiveOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::OutputDisassembly(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&offset), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::OutputDisassemblyLines(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetNearInstruction(this, core::mem::transmute_copy(&offset), core::mem::transmute_copy(&delta)) {
Ok(ok__) => {
nearoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetReturnOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::OutputStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetDebuggeeType(this, core::mem::transmute_copy(&class), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetActualProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetExecutingProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetNumberPossibleExecutingProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetPossibleExecutingProcessorTypes(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetNumberProcessors(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetSystemVersion(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetPageSize(this) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::IsPointer64Bit(this).into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::ReadBugCheckData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetNumberSupportedProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetSupportedProcessorTypes(this, 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, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetProcessorTypeNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetEffectiveProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetEffectiveProcessorType(this, core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetExecutionStatus(this) {
Ok(ok__) => {
status.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetExecutionStatus(this, core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetCodeLevel(this) {
Ok(ok__) => {
level.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetCodeLevel(this, core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetEngineOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::AddEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::RemoveEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, buffer: windows_core::PSTR, buffersize: u32, macrosize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute_copy(&buffer), core::mem::transmute_copy(&buffersize), core::mem::transmute_copy(¯osize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, r#macro: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetRadix(this) {
Ok(ok__) => {
radix.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetRadix(this, core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::Evaluate(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::CoerceValue(this, 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, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::CoerceValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, command: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::Execute(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&command), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, commandfile: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::ExecuteCommandFile(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&commandfile), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetNumberBreakpoints(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetBreakpointByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetBreakpointById(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetBreakpointParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&ids), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::AddBreakpoint(this, core::mem::transmute_copy(&r#type), core::mem::transmute_copy(&desiredid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::RemoveBreakpoint(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, flags: u32, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::AddExtension(this, core::mem::transmute(&path), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::RemoveExtension(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetExtensionByPath(this, core::mem::transmute(&path)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, function: windows_core::PCSTR, arguments: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::CallExtension(this, core::mem::transmute_copy(&handle), core::mem::transmute(&function), core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, funcname: windows_core::PCSTR, function: *mut super::super::super::super::Foundation::FARPROC) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetExtensionFunction(this, core::mem::transmute_copy(&handle), core::mem::transmute(&funcname), core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetWindbgExtensionApis32(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetWindbgExtensionApis64(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetNumberEventFilters(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetEventFilterText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetEventFilterCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetEventFilterCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, argumentsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetSpecificFilterArgument(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, argument: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetSpecificFilterArgument(this, core::mem::transmute_copy(&index), core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&codes), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetExceptionFilterSecondCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetExceptionFilterSecondCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::WaitForEvent(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetLastEventInformation(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, timedate: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetCurrentTimeDate(this) {
Ok(ok__) => {
timedate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uptime: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetCurrentSystemUpTime(this) {
Ok(ok__) => {
uptime.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, formatflags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetDumpFormatFlags(this) {
Ok(ok__) => {
formatflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, numrepl: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetNumberTextReplacements(this) {
Ok(ok__) => {
numrepl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetTextReplacement(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, srctext: windows_core::PCSTR, dsttext: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetTextReplacement(this, core::mem::transmute(&srctext), core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::RemoveTextReplacements(this).into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::OutputTextReplacements(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetAssemblyOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::AddAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::RemoveAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetExpressionSyntax<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetExpressionSyntax(this) {
Ok(ok__) => {
flags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExpressionSyntax<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetExpressionSyntax(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, abbrevname: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::SetExpressionSyntaxByName(this, core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetNumberExpressionSyntaxes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetNumberExpressionSyntaxes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpressionSyntaxNames<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetExpressionSyntaxNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, events: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetNumberEvents(this) {
Ok(ok__) => {
events.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventIndexDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl3_Impl::GetEventIndexDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::GetCurrentEventIndex(this) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNextEventIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, relation: u32, value: u32, nextindex: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl3_Impl::SetNextEventIndex(this, core::mem::transmute_copy(&relation), core::mem::transmute_copy(&value)) {
Ok(ok__) => {
nextindex.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, OFFSET>,
GetLogFile: GetLogFile::<Identity, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, OFFSET>,
GetLogMask: GetLogMask::<Identity, OFFSET>,
SetLogMask: SetLogMask::<Identity, OFFSET>,
Input: Input::<Identity, OFFSET>,
ReturnInput: ReturnInput::<Identity, OFFSET>,
Output: Output::<Identity, OFFSET>,
OutputVaList: OutputVaList::<Identity, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, OFFSET>,
GetPromptText: GetPromptText::<Identity, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, OFFSET>,
Assemble: Assemble::<Identity, OFFSET>,
Disassemble: Disassemble::<Identity, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, OFFSET>,
GetPageSize: GetPageSize::<Identity, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, OFFSET>,
GetRadix: GetRadix::<Identity, OFFSET>,
SetRadix: SetRadix::<Identity, OFFSET>,
Evaluate: Evaluate::<Identity, OFFSET>,
CoerceValue: CoerceValue::<Identity, OFFSET>,
CoerceValues: CoerceValues::<Identity, OFFSET>,
Execute: Execute::<Identity, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, OFFSET>,
AddExtension: AddExtension::<Identity, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, OFFSET>,
CallExtension: CallExtension::<Identity, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, OFFSET>,
GetAssemblyOptions: GetAssemblyOptions::<Identity, OFFSET>,
AddAssemblyOptions: AddAssemblyOptions::<Identity, OFFSET>,
RemoveAssemblyOptions: RemoveAssemblyOptions::<Identity, OFFSET>,
SetAssemblyOptions: SetAssemblyOptions::<Identity, OFFSET>,
GetExpressionSyntax: GetExpressionSyntax::<Identity, OFFSET>,
SetExpressionSyntax: SetExpressionSyntax::<Identity, OFFSET>,
SetExpressionSyntaxByName: SetExpressionSyntaxByName::<Identity, OFFSET>,
GetNumberExpressionSyntaxes: GetNumberExpressionSyntaxes::<Identity, OFFSET>,
GetExpressionSyntaxNames: GetExpressionSyntaxNames::<Identity, OFFSET>,
GetNumberEvents: GetNumberEvents::<Identity, OFFSET>,
GetEventIndexDescription: GetEventIndexDescription::<Identity, OFFSET>,
GetCurrentEventIndex: GetCurrentEventIndex::<Identity, OFFSET>,
SetNextEventIndex: SetNextEventIndex::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugControl3 as windows_core::Interface>::IID
}
}
#[cfg(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::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OpenLogFile(&self, file: &windows_core::PCSTR, append: super::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: 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::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::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OpenLogFileWide(&self, file: &windows_core::PCWSTR, append: super::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: 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::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(feature = "Win32_System_Kernel")]
impl windows_core::RuntimeName for IDebugControl4 {}
#[cfg(feature = "Win32_System_Kernel")]
impl IDebugControl4_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugControl4_Vtbl
where
Identity: IDebugControl4_Impl,
{
unsafe extern "system" fn GetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetInterrupt(this).into()
}
unsafe extern "system" fn SetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetInterrupt(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetInterruptTimeout(this) {
Ok(ok__) => {
seconds.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetInterruptTimeout(this, core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetLogFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, append: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OpenLogFile(this, core::mem::transmute(&file), core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::CloseLogFile(this).into()
}
unsafe extern "system" fn GetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetLogMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetLogMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, inputsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::Input(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::ReturnInput(this, core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::Output(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputVaList(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::ControlledOutput(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::ControlledOutputVaList(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputPrompt(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputPromptVaList(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetPromptText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputCurrentState(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputVersionInformation(this, core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetNotifyEventHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetNotifyEventHandle(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, instr: windows_core::PCSTR, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::Assemble(this, core::mem::transmute_copy(&offset), core::mem::transmute(&instr)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::Disassemble(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetDisassembleEffectiveOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::OutputDisassembly(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&offset), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputDisassemblyLines(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetNearInstruction(this, core::mem::transmute_copy(&offset), core::mem::transmute_copy(&delta)) {
Ok(ok__) => {
nearoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetReturnOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetDebuggeeType(this, core::mem::transmute_copy(&class), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetActualProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetExecutingProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetNumberPossibleExecutingProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetPossibleExecutingProcessorTypes(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetNumberProcessors(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetSystemVersion(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetPageSize(this) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::IsPointer64Bit(this).into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::ReadBugCheckData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetNumberSupportedProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetSupportedProcessorTypes(this, 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, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetProcessorTypeNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetEffectiveProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetEffectiveProcessorType(this, core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetExecutionStatus(this) {
Ok(ok__) => {
status.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetExecutionStatus(this, core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetCodeLevel(this) {
Ok(ok__) => {
level.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetCodeLevel(this, core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetEngineOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::AddEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::RemoveEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, buffer: windows_core::PSTR, buffersize: u32, macrosize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute_copy(&buffer), core::mem::transmute_copy(&buffersize), core::mem::transmute_copy(¯osize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, r#macro: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetRadix(this) {
Ok(ok__) => {
radix.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetRadix(this, core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::Evaluate(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::CoerceValue(this, 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, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::CoerceValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, command: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::Execute(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&command), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, commandfile: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::ExecuteCommandFile(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&commandfile), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetNumberBreakpoints(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetBreakpointByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetBreakpointById(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetBreakpointParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&ids), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::AddBreakpoint(this, core::mem::transmute_copy(&r#type), core::mem::transmute_copy(&desiredid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::RemoveBreakpoint(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, flags: u32, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::AddExtension(this, core::mem::transmute(&path), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::RemoveExtension(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetExtensionByPath(this, core::mem::transmute(&path)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, function: windows_core::PCSTR, arguments: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::CallExtension(this, core::mem::transmute_copy(&handle), core::mem::transmute(&function), core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, funcname: windows_core::PCSTR, function: *mut super::super::super::super::Foundation::FARPROC) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetExtensionFunction(this, core::mem::transmute_copy(&handle), core::mem::transmute(&funcname), core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetWindbgExtensionApis32(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetWindbgExtensionApis64(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetNumberEventFilters(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetEventFilterText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetEventFilterCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetEventFilterCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, argumentsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetSpecificFilterArgument(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, argument: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetSpecificFilterArgument(this, core::mem::transmute_copy(&index), core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&codes), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetExceptionFilterSecondCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetExceptionFilterSecondCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::WaitForEvent(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetLastEventInformation(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, timedate: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetCurrentTimeDate(this) {
Ok(ok__) => {
timedate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uptime: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetCurrentSystemUpTime(this) {
Ok(ok__) => {
uptime.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, formatflags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetDumpFormatFlags(this) {
Ok(ok__) => {
formatflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, numrepl: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetNumberTextReplacements(this) {
Ok(ok__) => {
numrepl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetTextReplacement(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, srctext: windows_core::PCSTR, dsttext: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetTextReplacement(this, core::mem::transmute(&srctext), core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::RemoveTextReplacements(this).into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputTextReplacements(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetAssemblyOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::AddAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::RemoveAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetExpressionSyntax<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetExpressionSyntax(this) {
Ok(ok__) => {
flags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExpressionSyntax<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetExpressionSyntax(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, abbrevname: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetExpressionSyntaxByName(this, core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetNumberExpressionSyntaxes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetNumberExpressionSyntaxes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpressionSyntaxNames<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetExpressionSyntaxNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, events: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetNumberEvents(this) {
Ok(ok__) => {
events.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventIndexDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetEventIndexDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetCurrentEventIndex(this) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNextEventIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, relation: u32, value: u32, nextindex: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::SetNextEventIndex(this, core::mem::transmute_copy(&relation), core::mem::transmute_copy(&value)) {
Ok(ok__) => {
nextindex.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogFileWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetLogFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCWSTR, append: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OpenLogFileWide(this, core::mem::transmute(&file), core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn InputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, inputsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::InputWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::ReturnInputWide(this, core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn OutputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputWide(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputVaListWide(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::ControlledOutputWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::ControlledOutputVaListWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputPromptWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputPromptVaListWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptTextWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetPromptTextWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, instr: windows_core::PCWSTR, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::AssembleWide(this, core::mem::transmute_copy(&offset), core::mem::transmute(&instr)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisassembleWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::DisassembleWide(this, 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, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetProcessorTypeNamesWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, buffer: windows_core::PWSTR, buffersize: u32, macrosize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetTextMacroWide(this, core::mem::transmute_copy(&slot), core::mem::transmute_copy(&buffer), core::mem::transmute_copy(&buffersize), core::mem::transmute_copy(¯osize)).into()
}
unsafe extern "system" fn SetTextMacroWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, r#macro: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetTextMacroWide(this, core::mem::transmute_copy(&slot), core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn EvaluateWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::EvaluateWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, command: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::ExecuteWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&command), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFileWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, commandfile: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::ExecuteCommandFileWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&commandfile), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetBreakpointByIndex2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetBreakpointByIndex2(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetBreakpointById2(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddBreakpoint2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::AddBreakpoint2(this, core::mem::transmute_copy(&r#type), core::mem::transmute_copy(&desiredid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::RemoveBreakpoint2(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtensionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR, flags: u32, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::AddExtensionWide(this, core::mem::transmute(&path), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExtensionByPathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl4_Impl::GetExtensionByPathWide(this, core::mem::transmute(&path)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtensionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, function: windows_core::PCWSTR, arguments: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::CallExtensionWide(this, core::mem::transmute_copy(&handle), core::mem::transmute(&function), core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunctionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, funcname: windows_core::PCWSTR, function: *mut super::super::super::super::Foundation::FARPROC) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetExtensionFunctionWide(this, core::mem::transmute_copy(&handle), core::mem::transmute(&funcname), core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetEventFilterTextWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetEventFilterTextWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetEventFilterCommandWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetEventFilterCommandWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterArgumentWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetSpecificFilterArgumentWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, argument: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetSpecificFilterArgumentWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommandWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetExceptionFilterSecondCommandWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetExceptionFilterSecondCommandWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetLastEventInformationWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetLastEventInformationWide(this, 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, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetTextReplacementWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, srctext: windows_core::PCWSTR, dsttext: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetTextReplacementWide(this, core::mem::transmute(&srctext), core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, abbrevname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::SetExpressionSyntaxByNameWide(this, core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetExpressionSyntaxNamesWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetExpressionSyntaxNamesWide(this, 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, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetEventIndexDescriptionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetLogFile2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OpenLogFile2(this, core::mem::transmute(&file), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetLogFile2Wide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetLogFile2Wide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OpenLogFile2Wide(this, core::mem::transmute(&file), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetSystemVersionValues<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetSystemVersionValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, which: u32, buffer: windows_core::PSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetSystemVersionString(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, which: u32, buffer: windows_core::PWSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetSystemVersionStringWide(this, 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, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetContextStackTrace(this, 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, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::OutputContextStackTrace(this, 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, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetStoredEventInformation(this, 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, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetManagedStatus(this, 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, 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
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::GetManagedStatusWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl4_Impl::ResetManagedStatus(this, core::mem::transmute_copy(&flags)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, OFFSET>,
GetLogFile: GetLogFile::<Identity, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, OFFSET>,
GetLogMask: GetLogMask::<Identity, OFFSET>,
SetLogMask: SetLogMask::<Identity, OFFSET>,
Input: Input::<Identity, OFFSET>,
ReturnInput: ReturnInput::<Identity, OFFSET>,
Output: Output::<Identity, OFFSET>,
OutputVaList: OutputVaList::<Identity, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, OFFSET>,
GetPromptText: GetPromptText::<Identity, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, OFFSET>,
Assemble: Assemble::<Identity, OFFSET>,
Disassemble: Disassemble::<Identity, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, OFFSET>,
GetPageSize: GetPageSize::<Identity, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, OFFSET>,
GetRadix: GetRadix::<Identity, OFFSET>,
SetRadix: SetRadix::<Identity, OFFSET>,
Evaluate: Evaluate::<Identity, OFFSET>,
CoerceValue: CoerceValue::<Identity, OFFSET>,
CoerceValues: CoerceValues::<Identity, OFFSET>,
Execute: Execute::<Identity, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, OFFSET>,
AddExtension: AddExtension::<Identity, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, OFFSET>,
CallExtension: CallExtension::<Identity, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, OFFSET>,
GetAssemblyOptions: GetAssemblyOptions::<Identity, OFFSET>,
AddAssemblyOptions: AddAssemblyOptions::<Identity, OFFSET>,
RemoveAssemblyOptions: RemoveAssemblyOptions::<Identity, OFFSET>,
SetAssemblyOptions: SetAssemblyOptions::<Identity, OFFSET>,
GetExpressionSyntax: GetExpressionSyntax::<Identity, OFFSET>,
SetExpressionSyntax: SetExpressionSyntax::<Identity, OFFSET>,
SetExpressionSyntaxByName: SetExpressionSyntaxByName::<Identity, OFFSET>,
GetNumberExpressionSyntaxes: GetNumberExpressionSyntaxes::<Identity, OFFSET>,
GetExpressionSyntaxNames: GetExpressionSyntaxNames::<Identity, OFFSET>,
GetNumberEvents: GetNumberEvents::<Identity, OFFSET>,
GetEventIndexDescription: GetEventIndexDescription::<Identity, OFFSET>,
GetCurrentEventIndex: GetCurrentEventIndex::<Identity, OFFSET>,
SetNextEventIndex: SetNextEventIndex::<Identity, OFFSET>,
GetLogFileWide: GetLogFileWide::<Identity, OFFSET>,
OpenLogFileWide: OpenLogFileWide::<Identity, OFFSET>,
InputWide: InputWide::<Identity, OFFSET>,
ReturnInputWide: ReturnInputWide::<Identity, OFFSET>,
OutputWide: OutputWide::<Identity, OFFSET>,
OutputVaListWide: OutputVaListWide::<Identity, OFFSET>,
ControlledOutputWide: ControlledOutputWide::<Identity, OFFSET>,
ControlledOutputVaListWide: ControlledOutputVaListWide::<Identity, OFFSET>,
OutputPromptWide: OutputPromptWide::<Identity, OFFSET>,
OutputPromptVaListWide: OutputPromptVaListWide::<Identity, OFFSET>,
GetPromptTextWide: GetPromptTextWide::<Identity, OFFSET>,
AssembleWide: AssembleWide::<Identity, OFFSET>,
DisassembleWide: DisassembleWide::<Identity, OFFSET>,
GetProcessorTypeNamesWide: GetProcessorTypeNamesWide::<Identity, OFFSET>,
GetTextMacroWide: GetTextMacroWide::<Identity, OFFSET>,
SetTextMacroWide: SetTextMacroWide::<Identity, OFFSET>,
EvaluateWide: EvaluateWide::<Identity, OFFSET>,
ExecuteWide: ExecuteWide::<Identity, OFFSET>,
ExecuteCommandFileWide: ExecuteCommandFileWide::<Identity, OFFSET>,
GetBreakpointByIndex2: GetBreakpointByIndex2::<Identity, OFFSET>,
GetBreakpointById2: GetBreakpointById2::<Identity, OFFSET>,
AddBreakpoint2: AddBreakpoint2::<Identity, OFFSET>,
RemoveBreakpoint2: RemoveBreakpoint2::<Identity, OFFSET>,
AddExtensionWide: AddExtensionWide::<Identity, OFFSET>,
GetExtensionByPathWide: GetExtensionByPathWide::<Identity, OFFSET>,
CallExtensionWide: CallExtensionWide::<Identity, OFFSET>,
GetExtensionFunctionWide: GetExtensionFunctionWide::<Identity, OFFSET>,
GetEventFilterTextWide: GetEventFilterTextWide::<Identity, OFFSET>,
GetEventFilterCommandWide: GetEventFilterCommandWide::<Identity, OFFSET>,
SetEventFilterCommandWide: SetEventFilterCommandWide::<Identity, OFFSET>,
GetSpecificFilterArgumentWide: GetSpecificFilterArgumentWide::<Identity, OFFSET>,
SetSpecificFilterArgumentWide: SetSpecificFilterArgumentWide::<Identity, OFFSET>,
GetExceptionFilterSecondCommandWide: GetExceptionFilterSecondCommandWide::<Identity, OFFSET>,
SetExceptionFilterSecondCommandWide: SetExceptionFilterSecondCommandWide::<Identity, OFFSET>,
GetLastEventInformationWide: GetLastEventInformationWide::<Identity, OFFSET>,
GetTextReplacementWide: GetTextReplacementWide::<Identity, OFFSET>,
SetTextReplacementWide: SetTextReplacementWide::<Identity, OFFSET>,
SetExpressionSyntaxByNameWide: SetExpressionSyntaxByNameWide::<Identity, OFFSET>,
GetExpressionSyntaxNamesWide: GetExpressionSyntaxNamesWide::<Identity, OFFSET>,
GetEventIndexDescriptionWide: GetEventIndexDescriptionWide::<Identity, OFFSET>,
GetLogFile2: GetLogFile2::<Identity, OFFSET>,
OpenLogFile2: OpenLogFile2::<Identity, OFFSET>,
GetLogFile2Wide: GetLogFile2Wide::<Identity, OFFSET>,
OpenLogFile2Wide: OpenLogFile2Wide::<Identity, OFFSET>,
GetSystemVersionValues: GetSystemVersionValues::<Identity, OFFSET>,
GetSystemVersionString: GetSystemVersionString::<Identity, OFFSET>,
GetSystemVersionStringWide: GetSystemVersionStringWide::<Identity, OFFSET>,
GetContextStackTrace: GetContextStackTrace::<Identity, OFFSET>,
OutputContextStackTrace: OutputContextStackTrace::<Identity, OFFSET>,
GetStoredEventInformation: GetStoredEventInformation::<Identity, OFFSET>,
GetManagedStatus: GetManagedStatus::<Identity, OFFSET>,
GetManagedStatusWide: GetManagedStatusWide::<Identity, OFFSET>,
ResetManagedStatus: ResetManagedStatus::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugControl4 as windows_core::Interface>::IID
}
}
#[cfg(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::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OpenLogFile(&self, file: &windows_core::PCSTR, append: super::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: 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::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::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OpenLogFileWide(&self, file: &windows_core::PCWSTR, append: super::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: 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::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(feature = "Win32_System_Kernel")]
impl windows_core::RuntimeName for IDebugControl5 {}
#[cfg(feature = "Win32_System_Kernel")]
impl IDebugControl5_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugControl5_Vtbl
where
Identity: IDebugControl5_Impl,
{
unsafe extern "system" fn GetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetInterrupt(this).into()
}
unsafe extern "system" fn SetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetInterrupt(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetInterruptTimeout(this) {
Ok(ok__) => {
seconds.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetInterruptTimeout(this, core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetLogFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, append: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OpenLogFile(this, core::mem::transmute(&file), core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::CloseLogFile(this).into()
}
unsafe extern "system" fn GetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetLogMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetLogMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, inputsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::Input(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::ReturnInput(this, core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::Output(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputVaList(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::ControlledOutput(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::ControlledOutputVaList(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputPrompt(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputPromptVaList(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetPromptText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputCurrentState(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputVersionInformation(this, core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetNotifyEventHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetNotifyEventHandle(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, instr: windows_core::PCSTR, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::Assemble(this, core::mem::transmute_copy(&offset), core::mem::transmute(&instr)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::Disassemble(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetDisassembleEffectiveOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::OutputDisassembly(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&offset), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputDisassemblyLines(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetNearInstruction(this, core::mem::transmute_copy(&offset), core::mem::transmute_copy(&delta)) {
Ok(ok__) => {
nearoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetReturnOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetDebuggeeType(this, core::mem::transmute_copy(&class), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetActualProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetExecutingProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetNumberPossibleExecutingProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetPossibleExecutingProcessorTypes(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetNumberProcessors(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetSystemVersion(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetPageSize(this) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::IsPointer64Bit(this).into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::ReadBugCheckData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetNumberSupportedProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetSupportedProcessorTypes(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetProcessorTypeNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetEffectiveProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetEffectiveProcessorType(this, core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetExecutionStatus(this) {
Ok(ok__) => {
status.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetExecutionStatus(this, core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetCodeLevel(this) {
Ok(ok__) => {
level.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetCodeLevel(this, core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetEngineOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::AddEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::RemoveEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, buffer: windows_core::PSTR, buffersize: u32, macrosize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute_copy(&buffer), core::mem::transmute_copy(&buffersize), core::mem::transmute_copy(¯osize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, r#macro: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetRadix(this) {
Ok(ok__) => {
radix.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetRadix(this, core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::Evaluate(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::CoerceValue(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::CoerceValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, command: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::Execute(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&command), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, commandfile: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::ExecuteCommandFile(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&commandfile), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetNumberBreakpoints(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetBreakpointByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetBreakpointById(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetBreakpointParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&ids), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::AddBreakpoint(this, core::mem::transmute_copy(&r#type), core::mem::transmute_copy(&desiredid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::RemoveBreakpoint(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, flags: u32, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::AddExtension(this, core::mem::transmute(&path), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::RemoveExtension(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetExtensionByPath(this, core::mem::transmute(&path)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, function: windows_core::PCSTR, arguments: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::CallExtension(this, core::mem::transmute_copy(&handle), core::mem::transmute(&function), core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, funcname: windows_core::PCSTR, function: *mut super::super::super::super::Foundation::FARPROC) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetExtensionFunction(this, core::mem::transmute_copy(&handle), core::mem::transmute(&funcname), core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetWindbgExtensionApis32(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetWindbgExtensionApis64(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetNumberEventFilters(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetEventFilterText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetEventFilterCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetEventFilterCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, argumentsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetSpecificFilterArgument(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, argument: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetSpecificFilterArgument(this, core::mem::transmute_copy(&index), core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&codes), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetExceptionFilterSecondCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetExceptionFilterSecondCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::WaitForEvent(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetLastEventInformation(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, timedate: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetCurrentTimeDate(this) {
Ok(ok__) => {
timedate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uptime: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetCurrentSystemUpTime(this) {
Ok(ok__) => {
uptime.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, formatflags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetDumpFormatFlags(this) {
Ok(ok__) => {
formatflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, numrepl: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetNumberTextReplacements(this) {
Ok(ok__) => {
numrepl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetTextReplacement(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, srctext: windows_core::PCSTR, dsttext: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetTextReplacement(this, core::mem::transmute(&srctext), core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::RemoveTextReplacements(this).into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputTextReplacements(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetAssemblyOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::AddAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::RemoveAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetExpressionSyntax<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetExpressionSyntax(this) {
Ok(ok__) => {
flags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExpressionSyntax<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetExpressionSyntax(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, abbrevname: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetExpressionSyntaxByName(this, core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetNumberExpressionSyntaxes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetNumberExpressionSyntaxes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpressionSyntaxNames<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetExpressionSyntaxNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, events: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetNumberEvents(this) {
Ok(ok__) => {
events.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventIndexDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetEventIndexDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetCurrentEventIndex(this) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNextEventIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, relation: u32, value: u32, nextindex: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::SetNextEventIndex(this, core::mem::transmute_copy(&relation), core::mem::transmute_copy(&value)) {
Ok(ok__) => {
nextindex.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogFileWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetLogFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCWSTR, append: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OpenLogFileWide(this, core::mem::transmute(&file), core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn InputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, inputsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::InputWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::ReturnInputWide(this, core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn OutputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputWide(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputVaListWide(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::ControlledOutputWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::ControlledOutputVaListWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputPromptWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputPromptVaListWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptTextWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetPromptTextWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, instr: windows_core::PCWSTR, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::AssembleWide(this, core::mem::transmute_copy(&offset), core::mem::transmute(&instr)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisassembleWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::DisassembleWide(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetProcessorTypeNamesWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, buffer: windows_core::PWSTR, buffersize: u32, macrosize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetTextMacroWide(this, core::mem::transmute_copy(&slot), core::mem::transmute_copy(&buffer), core::mem::transmute_copy(&buffersize), core::mem::transmute_copy(¯osize)).into()
}
unsafe extern "system" fn SetTextMacroWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, r#macro: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetTextMacroWide(this, core::mem::transmute_copy(&slot), core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn EvaluateWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::EvaluateWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, command: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::ExecuteWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&command), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFileWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, commandfile: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::ExecuteCommandFileWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&commandfile), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetBreakpointByIndex2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetBreakpointByIndex2(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetBreakpointById2(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddBreakpoint2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::AddBreakpoint2(this, core::mem::transmute_copy(&r#type), core::mem::transmute_copy(&desiredid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::RemoveBreakpoint2(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtensionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR, flags: u32, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::AddExtensionWide(this, core::mem::transmute(&path), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExtensionByPathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetExtensionByPathWide(this, core::mem::transmute(&path)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtensionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, function: windows_core::PCWSTR, arguments: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::CallExtensionWide(this, core::mem::transmute_copy(&handle), core::mem::transmute(&function), core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunctionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, funcname: windows_core::PCWSTR, function: *mut super::super::super::super::Foundation::FARPROC) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetExtensionFunctionWide(this, core::mem::transmute_copy(&handle), core::mem::transmute(&funcname), core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetEventFilterTextWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetEventFilterTextWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetEventFilterCommandWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetEventFilterCommandWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterArgumentWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetSpecificFilterArgumentWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, argument: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetSpecificFilterArgumentWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommandWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetExceptionFilterSecondCommandWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetExceptionFilterSecondCommandWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetLastEventInformationWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetLastEventInformationWide(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetTextReplacementWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, srctext: windows_core::PCWSTR, dsttext: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetTextReplacementWide(this, core::mem::transmute(&srctext), core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, abbrevname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::SetExpressionSyntaxByNameWide(this, core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetExpressionSyntaxNamesWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetExpressionSyntaxNamesWide(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetEventIndexDescriptionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetLogFile2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OpenLogFile2(this, core::mem::transmute(&file), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetLogFile2Wide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetLogFile2Wide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OpenLogFile2Wide(this, core::mem::transmute(&file), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetSystemVersionValues<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetSystemVersionValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, which: u32, buffer: windows_core::PSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetSystemVersionString(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, which: u32, buffer: windows_core::PWSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetSystemVersionStringWide(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetContextStackTrace(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputContextStackTrace(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetStoredEventInformation(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetManagedStatus(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetManagedStatusWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::ResetManagedStatus(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetStackTraceEx<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetStackTraceEx(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputStackTraceEx(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::GetContextStackTraceEx(this, 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, 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
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl5_Impl::OutputContextStackTraceEx(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, guid: *const windows_core::GUID, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl5_Impl::GetBreakpointByGuid(this, core::mem::transmute_copy(&guid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, OFFSET>,
GetLogFile: GetLogFile::<Identity, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, OFFSET>,
GetLogMask: GetLogMask::<Identity, OFFSET>,
SetLogMask: SetLogMask::<Identity, OFFSET>,
Input: Input::<Identity, OFFSET>,
ReturnInput: ReturnInput::<Identity, OFFSET>,
Output: Output::<Identity, OFFSET>,
OutputVaList: OutputVaList::<Identity, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, OFFSET>,
GetPromptText: GetPromptText::<Identity, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, OFFSET>,
Assemble: Assemble::<Identity, OFFSET>,
Disassemble: Disassemble::<Identity, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, OFFSET>,
GetPageSize: GetPageSize::<Identity, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, OFFSET>,
GetRadix: GetRadix::<Identity, OFFSET>,
SetRadix: SetRadix::<Identity, OFFSET>,
Evaluate: Evaluate::<Identity, OFFSET>,
CoerceValue: CoerceValue::<Identity, OFFSET>,
CoerceValues: CoerceValues::<Identity, OFFSET>,
Execute: Execute::<Identity, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, OFFSET>,
AddExtension: AddExtension::<Identity, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, OFFSET>,
CallExtension: CallExtension::<Identity, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, OFFSET>,
GetAssemblyOptions: GetAssemblyOptions::<Identity, OFFSET>,
AddAssemblyOptions: AddAssemblyOptions::<Identity, OFFSET>,
RemoveAssemblyOptions: RemoveAssemblyOptions::<Identity, OFFSET>,
SetAssemblyOptions: SetAssemblyOptions::<Identity, OFFSET>,
GetExpressionSyntax: GetExpressionSyntax::<Identity, OFFSET>,
SetExpressionSyntax: SetExpressionSyntax::<Identity, OFFSET>,
SetExpressionSyntaxByName: SetExpressionSyntaxByName::<Identity, OFFSET>,
GetNumberExpressionSyntaxes: GetNumberExpressionSyntaxes::<Identity, OFFSET>,
GetExpressionSyntaxNames: GetExpressionSyntaxNames::<Identity, OFFSET>,
GetNumberEvents: GetNumberEvents::<Identity, OFFSET>,
GetEventIndexDescription: GetEventIndexDescription::<Identity, OFFSET>,
GetCurrentEventIndex: GetCurrentEventIndex::<Identity, OFFSET>,
SetNextEventIndex: SetNextEventIndex::<Identity, OFFSET>,
GetLogFileWide: GetLogFileWide::<Identity, OFFSET>,
OpenLogFileWide: OpenLogFileWide::<Identity, OFFSET>,
InputWide: InputWide::<Identity, OFFSET>,
ReturnInputWide: ReturnInputWide::<Identity, OFFSET>,
OutputWide: OutputWide::<Identity, OFFSET>,
OutputVaListWide: OutputVaListWide::<Identity, OFFSET>,
ControlledOutputWide: ControlledOutputWide::<Identity, OFFSET>,
ControlledOutputVaListWide: ControlledOutputVaListWide::<Identity, OFFSET>,
OutputPromptWide: OutputPromptWide::<Identity, OFFSET>,
OutputPromptVaListWide: OutputPromptVaListWide::<Identity, OFFSET>,
GetPromptTextWide: GetPromptTextWide::<Identity, OFFSET>,
AssembleWide: AssembleWide::<Identity, OFFSET>,
DisassembleWide: DisassembleWide::<Identity, OFFSET>,
GetProcessorTypeNamesWide: GetProcessorTypeNamesWide::<Identity, OFFSET>,
GetTextMacroWide: GetTextMacroWide::<Identity, OFFSET>,
SetTextMacroWide: SetTextMacroWide::<Identity, OFFSET>,
EvaluateWide: EvaluateWide::<Identity, OFFSET>,
ExecuteWide: ExecuteWide::<Identity, OFFSET>,
ExecuteCommandFileWide: ExecuteCommandFileWide::<Identity, OFFSET>,
GetBreakpointByIndex2: GetBreakpointByIndex2::<Identity, OFFSET>,
GetBreakpointById2: GetBreakpointById2::<Identity, OFFSET>,
AddBreakpoint2: AddBreakpoint2::<Identity, OFFSET>,
RemoveBreakpoint2: RemoveBreakpoint2::<Identity, OFFSET>,
AddExtensionWide: AddExtensionWide::<Identity, OFFSET>,
GetExtensionByPathWide: GetExtensionByPathWide::<Identity, OFFSET>,
CallExtensionWide: CallExtensionWide::<Identity, OFFSET>,
GetExtensionFunctionWide: GetExtensionFunctionWide::<Identity, OFFSET>,
GetEventFilterTextWide: GetEventFilterTextWide::<Identity, OFFSET>,
GetEventFilterCommandWide: GetEventFilterCommandWide::<Identity, OFFSET>,
SetEventFilterCommandWide: SetEventFilterCommandWide::<Identity, OFFSET>,
GetSpecificFilterArgumentWide: GetSpecificFilterArgumentWide::<Identity, OFFSET>,
SetSpecificFilterArgumentWide: SetSpecificFilterArgumentWide::<Identity, OFFSET>,
GetExceptionFilterSecondCommandWide: GetExceptionFilterSecondCommandWide::<Identity, OFFSET>,
SetExceptionFilterSecondCommandWide: SetExceptionFilterSecondCommandWide::<Identity, OFFSET>,
GetLastEventInformationWide: GetLastEventInformationWide::<Identity, OFFSET>,
GetTextReplacementWide: GetTextReplacementWide::<Identity, OFFSET>,
SetTextReplacementWide: SetTextReplacementWide::<Identity, OFFSET>,
SetExpressionSyntaxByNameWide: SetExpressionSyntaxByNameWide::<Identity, OFFSET>,
GetExpressionSyntaxNamesWide: GetExpressionSyntaxNamesWide::<Identity, OFFSET>,
GetEventIndexDescriptionWide: GetEventIndexDescriptionWide::<Identity, OFFSET>,
GetLogFile2: GetLogFile2::<Identity, OFFSET>,
OpenLogFile2: OpenLogFile2::<Identity, OFFSET>,
GetLogFile2Wide: GetLogFile2Wide::<Identity, OFFSET>,
OpenLogFile2Wide: OpenLogFile2Wide::<Identity, OFFSET>,
GetSystemVersionValues: GetSystemVersionValues::<Identity, OFFSET>,
GetSystemVersionString: GetSystemVersionString::<Identity, OFFSET>,
GetSystemVersionStringWide: GetSystemVersionStringWide::<Identity, OFFSET>,
GetContextStackTrace: GetContextStackTrace::<Identity, OFFSET>,
OutputContextStackTrace: OutputContextStackTrace::<Identity, OFFSET>,
GetStoredEventInformation: GetStoredEventInformation::<Identity, OFFSET>,
GetManagedStatus: GetManagedStatus::<Identity, OFFSET>,
GetManagedStatusWide: GetManagedStatusWide::<Identity, OFFSET>,
ResetManagedStatus: ResetManagedStatus::<Identity, OFFSET>,
GetStackTraceEx: GetStackTraceEx::<Identity, OFFSET>,
OutputStackTraceEx: OutputStackTraceEx::<Identity, OFFSET>,
GetContextStackTraceEx: GetContextStackTraceEx::<Identity, OFFSET>,
OutputContextStackTraceEx: OutputContextStackTraceEx::<Identity, OFFSET>,
GetBreakpointByGuid: GetBreakpointByGuid::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugControl5 as windows_core::Interface>::IID
}
}
#[cfg(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::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OpenLogFile(&self, file: &windows_core::PCSTR, append: super::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: 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::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::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OpenLogFileWide(&self, file: &windows_core::PCWSTR, append: super::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: 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::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(feature = "Win32_System_Kernel")]
impl windows_core::RuntimeName for IDebugControl6 {}
#[cfg(feature = "Win32_System_Kernel")]
impl IDebugControl6_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugControl6_Vtbl
where
Identity: IDebugControl6_Impl,
{
unsafe extern "system" fn GetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetInterrupt(this).into()
}
unsafe extern "system" fn SetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetInterrupt(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetInterruptTimeout(this) {
Ok(ok__) => {
seconds.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetInterruptTimeout(this, core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetLogFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, append: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OpenLogFile(this, core::mem::transmute(&file), core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::CloseLogFile(this).into()
}
unsafe extern "system" fn GetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetLogMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetLogMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, inputsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::Input(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::ReturnInput(this, core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::Output(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputVaList(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::ControlledOutput(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::ControlledOutputVaList(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputPrompt(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputPromptVaList(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetPromptText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputCurrentState(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputVersionInformation(this, core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetNotifyEventHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetNotifyEventHandle(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, instr: windows_core::PCSTR, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::Assemble(this, core::mem::transmute_copy(&offset), core::mem::transmute(&instr)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::Disassemble(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetDisassembleEffectiveOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::OutputDisassembly(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&offset), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputDisassemblyLines(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetNearInstruction(this, core::mem::transmute_copy(&offset), core::mem::transmute_copy(&delta)) {
Ok(ok__) => {
nearoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetReturnOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetDebuggeeType(this, core::mem::transmute_copy(&class), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetActualProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetExecutingProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetNumberPossibleExecutingProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetPossibleExecutingProcessorTypes(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetNumberProcessors(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetSystemVersion(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetPageSize(this) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::IsPointer64Bit(this).into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::ReadBugCheckData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetNumberSupportedProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetSupportedProcessorTypes(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetProcessorTypeNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetEffectiveProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetEffectiveProcessorType(this, core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetExecutionStatus(this) {
Ok(ok__) => {
status.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetExecutionStatus(this, core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetCodeLevel(this) {
Ok(ok__) => {
level.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetCodeLevel(this, core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetEngineOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::AddEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::RemoveEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, buffer: windows_core::PSTR, buffersize: u32, macrosize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute_copy(&buffer), core::mem::transmute_copy(&buffersize), core::mem::transmute_copy(¯osize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, r#macro: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetRadix(this) {
Ok(ok__) => {
radix.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetRadix(this, core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::Evaluate(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::CoerceValue(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::CoerceValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, command: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::Execute(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&command), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, commandfile: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::ExecuteCommandFile(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&commandfile), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetNumberBreakpoints(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetBreakpointByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetBreakpointById(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetBreakpointParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&ids), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::AddBreakpoint(this, core::mem::transmute_copy(&r#type), core::mem::transmute_copy(&desiredid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::RemoveBreakpoint(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, flags: u32, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::AddExtension(this, core::mem::transmute(&path), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::RemoveExtension(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetExtensionByPath(this, core::mem::transmute(&path)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, function: windows_core::PCSTR, arguments: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::CallExtension(this, core::mem::transmute_copy(&handle), core::mem::transmute(&function), core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, funcname: windows_core::PCSTR, function: *mut super::super::super::super::Foundation::FARPROC) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetExtensionFunction(this, core::mem::transmute_copy(&handle), core::mem::transmute(&funcname), core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetWindbgExtensionApis32(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetWindbgExtensionApis64(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetNumberEventFilters(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetEventFilterText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetEventFilterCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetEventFilterCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, argumentsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetSpecificFilterArgument(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, argument: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetSpecificFilterArgument(this, core::mem::transmute_copy(&index), core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&codes), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetExceptionFilterSecondCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetExceptionFilterSecondCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::WaitForEvent(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetLastEventInformation(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, timedate: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetCurrentTimeDate(this) {
Ok(ok__) => {
timedate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uptime: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetCurrentSystemUpTime(this) {
Ok(ok__) => {
uptime.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, formatflags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetDumpFormatFlags(this) {
Ok(ok__) => {
formatflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, numrepl: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetNumberTextReplacements(this) {
Ok(ok__) => {
numrepl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetTextReplacement(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, srctext: windows_core::PCSTR, dsttext: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetTextReplacement(this, core::mem::transmute(&srctext), core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::RemoveTextReplacements(this).into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputTextReplacements(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetAssemblyOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::AddAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::RemoveAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetExpressionSyntax<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetExpressionSyntax(this) {
Ok(ok__) => {
flags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExpressionSyntax<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetExpressionSyntax(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, abbrevname: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetExpressionSyntaxByName(this, core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetNumberExpressionSyntaxes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetNumberExpressionSyntaxes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpressionSyntaxNames<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetExpressionSyntaxNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, events: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetNumberEvents(this) {
Ok(ok__) => {
events.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventIndexDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetEventIndexDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetCurrentEventIndex(this) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNextEventIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, relation: u32, value: u32, nextindex: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::SetNextEventIndex(this, core::mem::transmute_copy(&relation), core::mem::transmute_copy(&value)) {
Ok(ok__) => {
nextindex.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogFileWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetLogFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCWSTR, append: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OpenLogFileWide(this, core::mem::transmute(&file), core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn InputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, inputsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::InputWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::ReturnInputWide(this, core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn OutputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputWide(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputVaListWide(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::ControlledOutputWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::ControlledOutputVaListWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputPromptWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputPromptVaListWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptTextWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetPromptTextWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, instr: windows_core::PCWSTR, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::AssembleWide(this, core::mem::transmute_copy(&offset), core::mem::transmute(&instr)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisassembleWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::DisassembleWide(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetProcessorTypeNamesWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, buffer: windows_core::PWSTR, buffersize: u32, macrosize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetTextMacroWide(this, core::mem::transmute_copy(&slot), core::mem::transmute_copy(&buffer), core::mem::transmute_copy(&buffersize), core::mem::transmute_copy(¯osize)).into()
}
unsafe extern "system" fn SetTextMacroWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, r#macro: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetTextMacroWide(this, core::mem::transmute_copy(&slot), core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn EvaluateWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::EvaluateWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, command: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::ExecuteWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&command), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFileWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, commandfile: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::ExecuteCommandFileWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&commandfile), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetBreakpointByIndex2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetBreakpointByIndex2(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetBreakpointById2(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddBreakpoint2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::AddBreakpoint2(this, core::mem::transmute_copy(&r#type), core::mem::transmute_copy(&desiredid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::RemoveBreakpoint2(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtensionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR, flags: u32, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::AddExtensionWide(this, core::mem::transmute(&path), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExtensionByPathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetExtensionByPathWide(this, core::mem::transmute(&path)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtensionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, function: windows_core::PCWSTR, arguments: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::CallExtensionWide(this, core::mem::transmute_copy(&handle), core::mem::transmute(&function), core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunctionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, funcname: windows_core::PCWSTR, function: *mut super::super::super::super::Foundation::FARPROC) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetExtensionFunctionWide(this, core::mem::transmute_copy(&handle), core::mem::transmute(&funcname), core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetEventFilterTextWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetEventFilterTextWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetEventFilterCommandWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetEventFilterCommandWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterArgumentWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetSpecificFilterArgumentWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, argument: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetSpecificFilterArgumentWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommandWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetExceptionFilterSecondCommandWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetExceptionFilterSecondCommandWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetLastEventInformationWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetLastEventInformationWide(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetTextReplacementWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, srctext: windows_core::PCWSTR, dsttext: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetTextReplacementWide(this, core::mem::transmute(&srctext), core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, abbrevname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::SetExpressionSyntaxByNameWide(this, core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetExpressionSyntaxNamesWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetExpressionSyntaxNamesWide(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetEventIndexDescriptionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetLogFile2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OpenLogFile2(this, core::mem::transmute(&file), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetLogFile2Wide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetLogFile2Wide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OpenLogFile2Wide(this, core::mem::transmute(&file), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetSystemVersionValues<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetSystemVersionValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, which: u32, buffer: windows_core::PSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetSystemVersionString(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, which: u32, buffer: windows_core::PWSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetSystemVersionStringWide(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetContextStackTrace(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputContextStackTrace(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetStoredEventInformation(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetManagedStatus(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetManagedStatusWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::ResetManagedStatus(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetStackTraceEx<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetStackTraceEx(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputStackTraceEx(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetContextStackTraceEx(this, 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, 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
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::OutputContextStackTraceEx(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, guid: *const windows_core::GUID, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetBreakpointByGuid(this, core::mem::transmute_copy(&guid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutionStatusEx<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl6_Impl::GetExecutionStatusEx(this) {
Ok(ok__) => {
status.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSynchronizationStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sendsattempted: *mut u32, secondssincelastresponse: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl6_Impl::GetSynchronizationStatus(this, core::mem::transmute_copy(&sendsattempted), core::mem::transmute_copy(&secondssincelastresponse)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterrupt: GetInterrupt::<Identity, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, OFFSET>,
GetLogFile: GetLogFile::<Identity, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, OFFSET>,
GetLogMask: GetLogMask::<Identity, OFFSET>,
SetLogMask: SetLogMask::<Identity, OFFSET>,
Input: Input::<Identity, OFFSET>,
ReturnInput: ReturnInput::<Identity, OFFSET>,
Output: Output::<Identity, OFFSET>,
OutputVaList: OutputVaList::<Identity, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, OFFSET>,
GetPromptText: GetPromptText::<Identity, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, OFFSET>,
Assemble: Assemble::<Identity, OFFSET>,
Disassemble: Disassemble::<Identity, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, OFFSET>,
GetPageSize: GetPageSize::<Identity, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, OFFSET>,
GetRadix: GetRadix::<Identity, OFFSET>,
SetRadix: SetRadix::<Identity, OFFSET>,
Evaluate: Evaluate::<Identity, OFFSET>,
CoerceValue: CoerceValue::<Identity, OFFSET>,
CoerceValues: CoerceValues::<Identity, OFFSET>,
Execute: Execute::<Identity, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, OFFSET>,
AddExtension: AddExtension::<Identity, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, OFFSET>,
CallExtension: CallExtension::<Identity, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, OFFSET>,
GetAssemblyOptions: GetAssemblyOptions::<Identity, OFFSET>,
AddAssemblyOptions: AddAssemblyOptions::<Identity, OFFSET>,
RemoveAssemblyOptions: RemoveAssemblyOptions::<Identity, OFFSET>,
SetAssemblyOptions: SetAssemblyOptions::<Identity, OFFSET>,
GetExpressionSyntax: GetExpressionSyntax::<Identity, OFFSET>,
SetExpressionSyntax: SetExpressionSyntax::<Identity, OFFSET>,
SetExpressionSyntaxByName: SetExpressionSyntaxByName::<Identity, OFFSET>,
GetNumberExpressionSyntaxes: GetNumberExpressionSyntaxes::<Identity, OFFSET>,
GetExpressionSyntaxNames: GetExpressionSyntaxNames::<Identity, OFFSET>,
GetNumberEvents: GetNumberEvents::<Identity, OFFSET>,
GetEventIndexDescription: GetEventIndexDescription::<Identity, OFFSET>,
GetCurrentEventIndex: GetCurrentEventIndex::<Identity, OFFSET>,
SetNextEventIndex: SetNextEventIndex::<Identity, OFFSET>,
GetLogFileWide: GetLogFileWide::<Identity, OFFSET>,
OpenLogFileWide: OpenLogFileWide::<Identity, OFFSET>,
InputWide: InputWide::<Identity, OFFSET>,
ReturnInputWide: ReturnInputWide::<Identity, OFFSET>,
OutputWide: OutputWide::<Identity, OFFSET>,
OutputVaListWide: OutputVaListWide::<Identity, OFFSET>,
ControlledOutputWide: ControlledOutputWide::<Identity, OFFSET>,
ControlledOutputVaListWide: ControlledOutputVaListWide::<Identity, OFFSET>,
OutputPromptWide: OutputPromptWide::<Identity, OFFSET>,
OutputPromptVaListWide: OutputPromptVaListWide::<Identity, OFFSET>,
GetPromptTextWide: GetPromptTextWide::<Identity, OFFSET>,
AssembleWide: AssembleWide::<Identity, OFFSET>,
DisassembleWide: DisassembleWide::<Identity, OFFSET>,
GetProcessorTypeNamesWide: GetProcessorTypeNamesWide::<Identity, OFFSET>,
GetTextMacroWide: GetTextMacroWide::<Identity, OFFSET>,
SetTextMacroWide: SetTextMacroWide::<Identity, OFFSET>,
EvaluateWide: EvaluateWide::<Identity, OFFSET>,
ExecuteWide: ExecuteWide::<Identity, OFFSET>,
ExecuteCommandFileWide: ExecuteCommandFileWide::<Identity, OFFSET>,
GetBreakpointByIndex2: GetBreakpointByIndex2::<Identity, OFFSET>,
GetBreakpointById2: GetBreakpointById2::<Identity, OFFSET>,
AddBreakpoint2: AddBreakpoint2::<Identity, OFFSET>,
RemoveBreakpoint2: RemoveBreakpoint2::<Identity, OFFSET>,
AddExtensionWide: AddExtensionWide::<Identity, OFFSET>,
GetExtensionByPathWide: GetExtensionByPathWide::<Identity, OFFSET>,
CallExtensionWide: CallExtensionWide::<Identity, OFFSET>,
GetExtensionFunctionWide: GetExtensionFunctionWide::<Identity, OFFSET>,
GetEventFilterTextWide: GetEventFilterTextWide::<Identity, OFFSET>,
GetEventFilterCommandWide: GetEventFilterCommandWide::<Identity, OFFSET>,
SetEventFilterCommandWide: SetEventFilterCommandWide::<Identity, OFFSET>,
GetSpecificFilterArgumentWide: GetSpecificFilterArgumentWide::<Identity, OFFSET>,
SetSpecificFilterArgumentWide: SetSpecificFilterArgumentWide::<Identity, OFFSET>,
GetExceptionFilterSecondCommandWide: GetExceptionFilterSecondCommandWide::<Identity, OFFSET>,
SetExceptionFilterSecondCommandWide: SetExceptionFilterSecondCommandWide::<Identity, OFFSET>,
GetLastEventInformationWide: GetLastEventInformationWide::<Identity, OFFSET>,
GetTextReplacementWide: GetTextReplacementWide::<Identity, OFFSET>,
SetTextReplacementWide: SetTextReplacementWide::<Identity, OFFSET>,
SetExpressionSyntaxByNameWide: SetExpressionSyntaxByNameWide::<Identity, OFFSET>,
GetExpressionSyntaxNamesWide: GetExpressionSyntaxNamesWide::<Identity, OFFSET>,
GetEventIndexDescriptionWide: GetEventIndexDescriptionWide::<Identity, OFFSET>,
GetLogFile2: GetLogFile2::<Identity, OFFSET>,
OpenLogFile2: OpenLogFile2::<Identity, OFFSET>,
GetLogFile2Wide: GetLogFile2Wide::<Identity, OFFSET>,
OpenLogFile2Wide: OpenLogFile2Wide::<Identity, OFFSET>,
GetSystemVersionValues: GetSystemVersionValues::<Identity, OFFSET>,
GetSystemVersionString: GetSystemVersionString::<Identity, OFFSET>,
GetSystemVersionStringWide: GetSystemVersionStringWide::<Identity, OFFSET>,
GetContextStackTrace: GetContextStackTrace::<Identity, OFFSET>,
OutputContextStackTrace: OutputContextStackTrace::<Identity, OFFSET>,
GetStoredEventInformation: GetStoredEventInformation::<Identity, OFFSET>,
GetManagedStatus: GetManagedStatus::<Identity, OFFSET>,
GetManagedStatusWide: GetManagedStatusWide::<Identity, OFFSET>,
ResetManagedStatus: ResetManagedStatus::<Identity, OFFSET>,
GetStackTraceEx: GetStackTraceEx::<Identity, OFFSET>,
OutputStackTraceEx: OutputStackTraceEx::<Identity, OFFSET>,
GetContextStackTraceEx: GetContextStackTraceEx::<Identity, OFFSET>,
OutputContextStackTraceEx: OutputContextStackTraceEx::<Identity, OFFSET>,
GetBreakpointByGuid: GetBreakpointByGuid::<Identity, OFFSET>,
GetExecutionStatusEx: GetExecutionStatusEx::<Identity, OFFSET>,
GetSynchronizationStatus: GetSynchronizationStatus::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugControl6 as windows_core::Interface>::IID
}
}
#[cfg(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::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OpenLogFile(&self, file: &windows_core::PCSTR, append: super::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: 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::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::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OpenLogFileWide(&self, file: &windows_core::PCWSTR, append: super::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: 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::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(feature = "Win32_System_Kernel")]
impl windows_core::RuntimeName for IDebugControl7 {}
#[cfg(feature = "Win32_System_Kernel")]
impl IDebugControl7_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugControl7_Vtbl
where
Identity: IDebugControl7_Impl,
{
unsafe extern "system" fn GetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetInterrupt(this).into()
}
unsafe extern "system" fn SetInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetInterrupt(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetInterruptTimeout(this) {
Ok(ok__) => {
seconds.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetInterruptTimeout<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, seconds: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetInterruptTimeout(this, core::mem::transmute_copy(&seconds)).into()
}
unsafe extern "system" fn GetLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetLogFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, append: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OpenLogFile(this, core::mem::transmute(&file), core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn CloseLogFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::CloseLogFile(this).into()
}
unsafe extern "system" fn GetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetLogMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLogMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetLogMask(this, core::mem::transmute_copy(&mask)).into()
}
unsafe extern "system" fn Input<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, inputsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::Input(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::ReturnInput(this, core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn Output<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::Output(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputVaList(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutput<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::ControlledOutput(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::ControlledOutputVaList(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputPrompt(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputPromptVaList(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetPromptText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputCurrentState(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn OutputVersionInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputVersionInformation(this, core::mem::transmute_copy(&outputcontrol)).into()
}
unsafe extern "system" fn GetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetNotifyEventHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNotifyEventHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetNotifyEventHandle(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Assemble<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, instr: windows_core::PCSTR, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::Assemble(this, core::mem::transmute_copy(&offset), core::mem::transmute(&instr)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Disassemble<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::Disassemble(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetDisassembleEffectiveOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassembly<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, flags: u32, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::OutputDisassembly(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&offset), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputDisassemblyLines<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputDisassemblyLines(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, delta: i32, nearoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetNearInstruction(this, core::mem::transmute_copy(&offset), core::mem::transmute_copy(&delta)) {
Ok(ok__) => {
nearoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackTrace<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetReturnOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OutputStackTrace<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME, framessize: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputStackTrace(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, class: *mut u32, qualifier: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetDebuggeeType(this, core::mem::transmute_copy(&class), core::mem::transmute_copy(&qualifier)).into()
}
unsafe extern "system" fn GetActualProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetActualProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutingProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetExecutingProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetNumberPossibleExecutingProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPossibleExecutingProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetPossibleExecutingProcessorTypes(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetNumberProcessors(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemVersion<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetSystemVersion(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetPageSize(this) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsPointer64Bit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::IsPointer64Bit(this).into()
}
unsafe extern "system" fn ReadBugCheckData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::ReadBugCheckData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetNumberSupportedProcessorTypes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSupportedProcessorTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, types: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetSupportedProcessorTypes(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetProcessorTypeNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetEffectiveProcessorType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEffectiveProcessorType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetEffectiveProcessorType(this, core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetExecutionStatus(this) {
Ok(ok__) => {
status.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExecutionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetExecutionStatus(this, core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn GetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetCodeLevel(this) {
Ok(ok__) => {
level.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodeLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetCodeLevel(this, core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn GetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetEngineOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::AddEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::RemoveEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetEngineOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetEngineOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: *mut u32, breaklevel: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn SetSystemErrorControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputlevel: u32, breaklevel: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetSystemErrorControl(this, core::mem::transmute_copy(&outputlevel), core::mem::transmute_copy(&breaklevel)).into()
}
unsafe extern "system" fn GetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, buffer: windows_core::PSTR, buffersize: u32, macrosize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute_copy(&buffer), core::mem::transmute_copy(&buffersize), core::mem::transmute_copy(¯osize)).into()
}
unsafe extern "system" fn SetTextMacro<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, r#macro: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetTextMacro(this, core::mem::transmute_copy(&slot), core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn GetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetRadix(this) {
Ok(ok__) => {
radix.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRadix<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, radix: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetRadix(this, core::mem::transmute_copy(&radix)).into()
}
unsafe extern "system" fn Evaluate<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::Evaluate(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#in: *const DEBUG_VALUE, outtype: u32, out: *mut DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::CoerceValue(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::CoerceValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, command: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::Execute(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&command), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, commandfile: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::ExecuteCommandFile(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&commandfile), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetNumberBreakpoints<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetNumberBreakpoints(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetBreakpointByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetBreakpointById(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, ids: *const u32, start: u32, params: *mut DEBUG_BREAKPOINT_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetBreakpointParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&ids), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn AddBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::AddBreakpoint(this, core::mem::transmute_copy(&r#type), core::mem::transmute_copy(&desiredid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::RemoveBreakpoint(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, flags: u32, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::AddExtension(this, core::mem::transmute(&path), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::RemoveExtension(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetExtensionByPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetExtensionByPath(this, core::mem::transmute(&path)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, function: windows_core::PCSTR, arguments: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::CallExtension(this, core::mem::transmute_copy(&handle), core::mem::transmute(&function), core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunction<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, funcname: windows_core::PCSTR, function: *mut super::super::super::super::Foundation::FARPROC) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetExtensionFunction(this, core::mem::transmute_copy(&handle), core::mem::transmute(&funcname), core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis32<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetWindbgExtensionApis32(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetWindbgExtensionApis64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, api: *mut WINDBG_EXTENSION_APIS64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetWindbgExtensionApis64(this, core::mem::transmute_copy(&api)).into()
}
unsafe extern "system" fn GetNumberEventFilters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, specificevents: *mut u32, specificexceptions: *mut u32, arbitraryexceptions: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetNumberEventFilters(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetEventFilterText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetEventFilterCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetEventFilterCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetSpecificFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *const DEBUG_SPECIFIC_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetSpecificFilterParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSpecificFilterArgument<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, argumentsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetSpecificFilterArgument(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, argument: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetSpecificFilterArgument(this, core::mem::transmute_copy(&index), core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&codes), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn SetExceptionFilterParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, params: *const DEBUG_EXCEPTION_FILTER_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetExceptionFilterParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetExceptionFilterSecondCommand(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetExceptionFilterSecondCommand(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn WaitForEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, timeout: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::WaitForEvent(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&timeout)).into()
}
unsafe extern "system" fn GetLastEventInformation<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetLastEventInformation(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, timedate: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetCurrentTimeDate(this) {
Ok(ok__) => {
timedate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemUpTime<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uptime: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetCurrentSystemUpTime(this) {
Ok(ok__) => {
uptime.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDumpFormatFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, formatflags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetDumpFormatFlags(this) {
Ok(ok__) => {
formatflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, numrepl: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetNumberTextReplacements(this) {
Ok(ok__) => {
numrepl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTextReplacement<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetTextReplacement(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, srctext: windows_core::PCSTR, dsttext: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetTextReplacement(this, core::mem::transmute(&srctext), core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn RemoveTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::RemoveTextReplacements(this).into()
}
unsafe extern "system" fn OutputTextReplacements<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputTextReplacements(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetAssemblyOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::AddAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::RemoveAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetAssemblyOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetAssemblyOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetExpressionSyntax<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetExpressionSyntax(this) {
Ok(ok__) => {
flags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExpressionSyntax<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetExpressionSyntax(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, abbrevname: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetExpressionSyntaxByName(this, core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetNumberExpressionSyntaxes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetNumberExpressionSyntaxes(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExpressionSyntaxNames<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetExpressionSyntaxNames(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, events: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetNumberEvents(this) {
Ok(ok__) => {
events.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventIndexDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetEventIndexDescription(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetCurrentEventIndex(this) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNextEventIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, relation: u32, value: u32, nextindex: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::SetNextEventIndex(this, core::mem::transmute_copy(&relation), core::mem::transmute_copy(&value)) {
Ok(ok__) => {
nextindex.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLogFileWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, filesize: *mut u32, append: *mut super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetLogFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCWSTR, append: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OpenLogFileWide(this, core::mem::transmute(&file), core::mem::transmute_copy(&append)).into()
}
unsafe extern "system" fn InputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, inputsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::InputWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::ReturnInputWide(this, core::mem::transmute(&buffer)).into()
}
unsafe extern "system" fn OutputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputWide(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputVaListWide(this, core::mem::transmute_copy(&mask), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn ControlledOutputWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::ControlledOutputWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&mask), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn ControlledOutputVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, mask: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::ControlledOutputVaListWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputPromptWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format)).into()
}
unsafe extern "system" fn OutputPromptVaListWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, format: windows_core::PCWSTR, args: *const i8) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputPromptVaListWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&format), core::mem::transmute_copy(&args)).into()
}
unsafe extern "system" fn GetPromptTextWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetPromptTextWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, instr: windows_core::PCWSTR, endoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::AssembleWide(this, core::mem::transmute_copy(&offset), core::mem::transmute(&instr)) {
Ok(ok__) => {
endoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisassembleWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::DisassembleWide(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetProcessorTypeNamesWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, buffer: windows_core::PWSTR, buffersize: u32, macrosize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetTextMacroWide(this, core::mem::transmute_copy(&slot), core::mem::transmute_copy(&buffer), core::mem::transmute_copy(&buffersize), core::mem::transmute_copy(¯osize)).into()
}
unsafe extern "system" fn SetTextMacroWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, slot: u32, r#macro: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetTextMacroWide(this, core::mem::transmute_copy(&slot), core::mem::transmute(&r#macro)).into()
}
unsafe extern "system" fn EvaluateWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::EvaluateWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, command: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::ExecuteWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&command), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn ExecuteCommandFileWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, commandfile: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::ExecuteCommandFileWide(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute(&commandfile), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetBreakpointByIndex2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetBreakpointByIndex2(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBreakpointById2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetBreakpointById2(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddBreakpoint2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: u32, desiredid: u32, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::AddBreakpoint2(this, core::mem::transmute_copy(&r#type), core::mem::transmute_copy(&desiredid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveBreakpoint2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::RemoveBreakpoint2(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn AddExtensionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR, flags: u32, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::AddExtensionWide(this, core::mem::transmute(&path), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExtensionByPathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetExtensionByPathWide(this, core::mem::transmute(&path)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CallExtensionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, function: windows_core::PCWSTR, arguments: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::CallExtensionWide(this, core::mem::transmute_copy(&handle), core::mem::transmute(&function), core::mem::transmute(&arguments)).into()
}
unsafe extern "system" fn GetExtensionFunctionWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, funcname: windows_core::PCWSTR, function: *mut super::super::super::super::Foundation::FARPROC) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetExtensionFunctionWide(this, core::mem::transmute_copy(&handle), core::mem::transmute(&funcname), core::mem::transmute_copy(&function)).into()
}
unsafe extern "system" fn GetEventFilterTextWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, textsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetEventFilterTextWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetEventFilterCommandWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetEventFilterCommandWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetSpecificFilterArgumentWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, argumentsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetSpecificFilterArgumentWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, argument: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetSpecificFilterArgumentWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&argument)).into()
}
unsafe extern "system" fn GetExceptionFilterSecondCommandWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, commandsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetExceptionFilterSecondCommandWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, command: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetExceptionFilterSecondCommandWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&command)).into()
}
unsafe extern "system" fn GetLastEventInformationWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetLastEventInformationWide(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetTextReplacementWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, srctext: windows_core::PCWSTR, dsttext: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetTextReplacementWide(this, core::mem::transmute(&srctext), core::mem::transmute(&dsttext)).into()
}
unsafe extern "system" fn SetExpressionSyntaxByNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, abbrevname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::SetExpressionSyntaxByNameWide(this, core::mem::transmute(&abbrevname)).into()
}
unsafe extern "system" fn GetExpressionSyntaxNamesWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetExpressionSyntaxNamesWide(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetEventIndexDescriptionWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetLogFile2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OpenLogFile2(this, core::mem::transmute(&file), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetLogFile2Wide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, filesize: *mut u32, flags: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetLogFile2Wide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCWSTR, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OpenLogFile2Wide(this, core::mem::transmute(&file), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetSystemVersionValues<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetSystemVersionValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, which: u32, buffer: windows_core::PSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetSystemVersionString(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, which: u32, buffer: windows_core::PWSTR, buffersize: u32, stringsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetSystemVersionStringWide(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetContextStackTrace(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputContextStackTrace(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetStoredEventInformation(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetManagedStatus(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetManagedStatusWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::ResetManagedStatus(this, core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetStackTraceEx<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetStackTraceEx(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, frames: *const DEBUG_STACK_FRAME_EX, framessize: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputStackTraceEx(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetContextStackTraceEx(this, 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, 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
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::OutputContextStackTraceEx(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, guid: *const windows_core::GUID, bp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetBreakpointByGuid(this, core::mem::transmute_copy(&guid)) {
Ok(ok__) => {
bp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetExecutionStatusEx<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugControl7_Impl::GetExecutionStatusEx(this) {
Ok(ok__) => {
status.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSynchronizationStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sendsattempted: *mut u32, secondssincelastresponse: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetSynchronizationStatus(this, core::mem::transmute_copy(&sendsattempted), core::mem::transmute_copy(&secondssincelastresponse)).into()
}
unsafe extern "system" fn GetDebuggeeType2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, class: *mut u32, qualifier: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugControl7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugControl7_Impl::GetDebuggeeType2(this, 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, OFFSET>,
SetInterrupt: SetInterrupt::<Identity, OFFSET>,
GetInterruptTimeout: GetInterruptTimeout::<Identity, OFFSET>,
SetInterruptTimeout: SetInterruptTimeout::<Identity, OFFSET>,
GetLogFile: GetLogFile::<Identity, OFFSET>,
OpenLogFile: OpenLogFile::<Identity, OFFSET>,
CloseLogFile: CloseLogFile::<Identity, OFFSET>,
GetLogMask: GetLogMask::<Identity, OFFSET>,
SetLogMask: SetLogMask::<Identity, OFFSET>,
Input: Input::<Identity, OFFSET>,
ReturnInput: ReturnInput::<Identity, OFFSET>,
Output: Output::<Identity, OFFSET>,
OutputVaList: OutputVaList::<Identity, OFFSET>,
ControlledOutput: ControlledOutput::<Identity, OFFSET>,
ControlledOutputVaList: ControlledOutputVaList::<Identity, OFFSET>,
OutputPrompt: OutputPrompt::<Identity, OFFSET>,
OutputPromptVaList: OutputPromptVaList::<Identity, OFFSET>,
GetPromptText: GetPromptText::<Identity, OFFSET>,
OutputCurrentState: OutputCurrentState::<Identity, OFFSET>,
OutputVersionInformation: OutputVersionInformation::<Identity, OFFSET>,
GetNotifyEventHandle: GetNotifyEventHandle::<Identity, OFFSET>,
SetNotifyEventHandle: SetNotifyEventHandle::<Identity, OFFSET>,
Assemble: Assemble::<Identity, OFFSET>,
Disassemble: Disassemble::<Identity, OFFSET>,
GetDisassembleEffectiveOffset: GetDisassembleEffectiveOffset::<Identity, OFFSET>,
OutputDisassembly: OutputDisassembly::<Identity, OFFSET>,
OutputDisassemblyLines: OutputDisassemblyLines::<Identity, OFFSET>,
GetNearInstruction: GetNearInstruction::<Identity, OFFSET>,
GetStackTrace: GetStackTrace::<Identity, OFFSET>,
GetReturnOffset: GetReturnOffset::<Identity, OFFSET>,
OutputStackTrace: OutputStackTrace::<Identity, OFFSET>,
GetDebuggeeType: GetDebuggeeType::<Identity, OFFSET>,
GetActualProcessorType: GetActualProcessorType::<Identity, OFFSET>,
GetExecutingProcessorType: GetExecutingProcessorType::<Identity, OFFSET>,
GetNumberPossibleExecutingProcessorTypes: GetNumberPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetPossibleExecutingProcessorTypes: GetPossibleExecutingProcessorTypes::<Identity, OFFSET>,
GetNumberProcessors: GetNumberProcessors::<Identity, OFFSET>,
GetSystemVersion: GetSystemVersion::<Identity, OFFSET>,
GetPageSize: GetPageSize::<Identity, OFFSET>,
IsPointer64Bit: IsPointer64Bit::<Identity, OFFSET>,
ReadBugCheckData: ReadBugCheckData::<Identity, OFFSET>,
GetNumberSupportedProcessorTypes: GetNumberSupportedProcessorTypes::<Identity, OFFSET>,
GetSupportedProcessorTypes: GetSupportedProcessorTypes::<Identity, OFFSET>,
GetProcessorTypeNames: GetProcessorTypeNames::<Identity, OFFSET>,
GetEffectiveProcessorType: GetEffectiveProcessorType::<Identity, OFFSET>,
SetEffectiveProcessorType: SetEffectiveProcessorType::<Identity, OFFSET>,
GetExecutionStatus: GetExecutionStatus::<Identity, OFFSET>,
SetExecutionStatus: SetExecutionStatus::<Identity, OFFSET>,
GetCodeLevel: GetCodeLevel::<Identity, OFFSET>,
SetCodeLevel: SetCodeLevel::<Identity, OFFSET>,
GetEngineOptions: GetEngineOptions::<Identity, OFFSET>,
AddEngineOptions: AddEngineOptions::<Identity, OFFSET>,
RemoveEngineOptions: RemoveEngineOptions::<Identity, OFFSET>,
SetEngineOptions: SetEngineOptions::<Identity, OFFSET>,
GetSystemErrorControl: GetSystemErrorControl::<Identity, OFFSET>,
SetSystemErrorControl: SetSystemErrorControl::<Identity, OFFSET>,
GetTextMacro: GetTextMacro::<Identity, OFFSET>,
SetTextMacro: SetTextMacro::<Identity, OFFSET>,
GetRadix: GetRadix::<Identity, OFFSET>,
SetRadix: SetRadix::<Identity, OFFSET>,
Evaluate: Evaluate::<Identity, OFFSET>,
CoerceValue: CoerceValue::<Identity, OFFSET>,
CoerceValues: CoerceValues::<Identity, OFFSET>,
Execute: Execute::<Identity, OFFSET>,
ExecuteCommandFile: ExecuteCommandFile::<Identity, OFFSET>,
GetNumberBreakpoints: GetNumberBreakpoints::<Identity, OFFSET>,
GetBreakpointByIndex: GetBreakpointByIndex::<Identity, OFFSET>,
GetBreakpointById: GetBreakpointById::<Identity, OFFSET>,
GetBreakpointParameters: GetBreakpointParameters::<Identity, OFFSET>,
AddBreakpoint: AddBreakpoint::<Identity, OFFSET>,
RemoveBreakpoint: RemoveBreakpoint::<Identity, OFFSET>,
AddExtension: AddExtension::<Identity, OFFSET>,
RemoveExtension: RemoveExtension::<Identity, OFFSET>,
GetExtensionByPath: GetExtensionByPath::<Identity, OFFSET>,
CallExtension: CallExtension::<Identity, OFFSET>,
GetExtensionFunction: GetExtensionFunction::<Identity, OFFSET>,
GetWindbgExtensionApis32: GetWindbgExtensionApis32::<Identity, OFFSET>,
GetWindbgExtensionApis64: GetWindbgExtensionApis64::<Identity, OFFSET>,
GetNumberEventFilters: GetNumberEventFilters::<Identity, OFFSET>,
GetEventFilterText: GetEventFilterText::<Identity, OFFSET>,
GetEventFilterCommand: GetEventFilterCommand::<Identity, OFFSET>,
SetEventFilterCommand: SetEventFilterCommand::<Identity, OFFSET>,
GetSpecificFilterParameters: GetSpecificFilterParameters::<Identity, OFFSET>,
SetSpecificFilterParameters: SetSpecificFilterParameters::<Identity, OFFSET>,
GetSpecificFilterArgument: GetSpecificFilterArgument::<Identity, OFFSET>,
SetSpecificFilterArgument: SetSpecificFilterArgument::<Identity, OFFSET>,
GetExceptionFilterParameters: GetExceptionFilterParameters::<Identity, OFFSET>,
SetExceptionFilterParameters: SetExceptionFilterParameters::<Identity, OFFSET>,
GetExceptionFilterSecondCommand: GetExceptionFilterSecondCommand::<Identity, OFFSET>,
SetExceptionFilterSecondCommand: SetExceptionFilterSecondCommand::<Identity, OFFSET>,
WaitForEvent: WaitForEvent::<Identity, OFFSET>,
GetLastEventInformation: GetLastEventInformation::<Identity, OFFSET>,
GetCurrentTimeDate: GetCurrentTimeDate::<Identity, OFFSET>,
GetCurrentSystemUpTime: GetCurrentSystemUpTime::<Identity, OFFSET>,
GetDumpFormatFlags: GetDumpFormatFlags::<Identity, OFFSET>,
GetNumberTextReplacements: GetNumberTextReplacements::<Identity, OFFSET>,
GetTextReplacement: GetTextReplacement::<Identity, OFFSET>,
SetTextReplacement: SetTextReplacement::<Identity, OFFSET>,
RemoveTextReplacements: RemoveTextReplacements::<Identity, OFFSET>,
OutputTextReplacements: OutputTextReplacements::<Identity, OFFSET>,
GetAssemblyOptions: GetAssemblyOptions::<Identity, OFFSET>,
AddAssemblyOptions: AddAssemblyOptions::<Identity, OFFSET>,
RemoveAssemblyOptions: RemoveAssemblyOptions::<Identity, OFFSET>,
SetAssemblyOptions: SetAssemblyOptions::<Identity, OFFSET>,
GetExpressionSyntax: GetExpressionSyntax::<Identity, OFFSET>,
SetExpressionSyntax: SetExpressionSyntax::<Identity, OFFSET>,
SetExpressionSyntaxByName: SetExpressionSyntaxByName::<Identity, OFFSET>,
GetNumberExpressionSyntaxes: GetNumberExpressionSyntaxes::<Identity, OFFSET>,
GetExpressionSyntaxNames: GetExpressionSyntaxNames::<Identity, OFFSET>,
GetNumberEvents: GetNumberEvents::<Identity, OFFSET>,
GetEventIndexDescription: GetEventIndexDescription::<Identity, OFFSET>,
GetCurrentEventIndex: GetCurrentEventIndex::<Identity, OFFSET>,
SetNextEventIndex: SetNextEventIndex::<Identity, OFFSET>,
GetLogFileWide: GetLogFileWide::<Identity, OFFSET>,
OpenLogFileWide: OpenLogFileWide::<Identity, OFFSET>,
InputWide: InputWide::<Identity, OFFSET>,
ReturnInputWide: ReturnInputWide::<Identity, OFFSET>,
OutputWide: OutputWide::<Identity, OFFSET>,
OutputVaListWide: OutputVaListWide::<Identity, OFFSET>,
ControlledOutputWide: ControlledOutputWide::<Identity, OFFSET>,
ControlledOutputVaListWide: ControlledOutputVaListWide::<Identity, OFFSET>,
OutputPromptWide: OutputPromptWide::<Identity, OFFSET>,
OutputPromptVaListWide: OutputPromptVaListWide::<Identity, OFFSET>,
GetPromptTextWide: GetPromptTextWide::<Identity, OFFSET>,
AssembleWide: AssembleWide::<Identity, OFFSET>,
DisassembleWide: DisassembleWide::<Identity, OFFSET>,
GetProcessorTypeNamesWide: GetProcessorTypeNamesWide::<Identity, OFFSET>,
GetTextMacroWide: GetTextMacroWide::<Identity, OFFSET>,
SetTextMacroWide: SetTextMacroWide::<Identity, OFFSET>,
EvaluateWide: EvaluateWide::<Identity, OFFSET>,
ExecuteWide: ExecuteWide::<Identity, OFFSET>,
ExecuteCommandFileWide: ExecuteCommandFileWide::<Identity, OFFSET>,
GetBreakpointByIndex2: GetBreakpointByIndex2::<Identity, OFFSET>,
GetBreakpointById2: GetBreakpointById2::<Identity, OFFSET>,
AddBreakpoint2: AddBreakpoint2::<Identity, OFFSET>,
RemoveBreakpoint2: RemoveBreakpoint2::<Identity, OFFSET>,
AddExtensionWide: AddExtensionWide::<Identity, OFFSET>,
GetExtensionByPathWide: GetExtensionByPathWide::<Identity, OFFSET>,
CallExtensionWide: CallExtensionWide::<Identity, OFFSET>,
GetExtensionFunctionWide: GetExtensionFunctionWide::<Identity, OFFSET>,
GetEventFilterTextWide: GetEventFilterTextWide::<Identity, OFFSET>,
GetEventFilterCommandWide: GetEventFilterCommandWide::<Identity, OFFSET>,
SetEventFilterCommandWide: SetEventFilterCommandWide::<Identity, OFFSET>,
GetSpecificFilterArgumentWide: GetSpecificFilterArgumentWide::<Identity, OFFSET>,
SetSpecificFilterArgumentWide: SetSpecificFilterArgumentWide::<Identity, OFFSET>,
GetExceptionFilterSecondCommandWide: GetExceptionFilterSecondCommandWide::<Identity, OFFSET>,
SetExceptionFilterSecondCommandWide: SetExceptionFilterSecondCommandWide::<Identity, OFFSET>,
GetLastEventInformationWide: GetLastEventInformationWide::<Identity, OFFSET>,
GetTextReplacementWide: GetTextReplacementWide::<Identity, OFFSET>,
SetTextReplacementWide: SetTextReplacementWide::<Identity, OFFSET>,
SetExpressionSyntaxByNameWide: SetExpressionSyntaxByNameWide::<Identity, OFFSET>,
GetExpressionSyntaxNamesWide: GetExpressionSyntaxNamesWide::<Identity, OFFSET>,
GetEventIndexDescriptionWide: GetEventIndexDescriptionWide::<Identity, OFFSET>,
GetLogFile2: GetLogFile2::<Identity, OFFSET>,
OpenLogFile2: OpenLogFile2::<Identity, OFFSET>,
GetLogFile2Wide: GetLogFile2Wide::<Identity, OFFSET>,
OpenLogFile2Wide: OpenLogFile2Wide::<Identity, OFFSET>,
GetSystemVersionValues: GetSystemVersionValues::<Identity, OFFSET>,
GetSystemVersionString: GetSystemVersionString::<Identity, OFFSET>,
GetSystemVersionStringWide: GetSystemVersionStringWide::<Identity, OFFSET>,
GetContextStackTrace: GetContextStackTrace::<Identity, OFFSET>,
OutputContextStackTrace: OutputContextStackTrace::<Identity, OFFSET>,
GetStoredEventInformation: GetStoredEventInformation::<Identity, OFFSET>,
GetManagedStatus: GetManagedStatus::<Identity, OFFSET>,
GetManagedStatusWide: GetManagedStatusWide::<Identity, OFFSET>,
ResetManagedStatus: ResetManagedStatus::<Identity, OFFSET>,
GetStackTraceEx: GetStackTraceEx::<Identity, OFFSET>,
OutputStackTraceEx: OutputStackTraceEx::<Identity, OFFSET>,
GetContextStackTraceEx: GetContextStackTraceEx::<Identity, OFFSET>,
OutputContextStackTraceEx: OutputContextStackTraceEx::<Identity, OFFSET>,
GetBreakpointByGuid: GetBreakpointByGuid::<Identity, OFFSET>,
GetExecutionStatusEx: GetExecutionStatusEx::<Identity, OFFSET>,
GetSynchronizationStatus: GetSynchronizationStatus::<Identity, OFFSET>,
GetDebuggeeType2: GetDebuggeeType2::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugControl7 as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugDataSpaces_Vtbl
where
Identity: IDebugDataSpaces_Impl,
{
unsafe extern "system" fn ReadVirtual<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::ReadVirtual(this, 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, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::WriteVirtual(this, 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, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces_Impl::SearchVirtual(this, 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)) {
Ok(ok__) => {
matchoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadVirtualUncached<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::ReadVirtualUncached(this, 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, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::WriteVirtualUncached(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, offset: u64, ptrs: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::ReadPointersVirtual(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, offset: u64, ptrs: *const u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::WritePointersVirtual(this, 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, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::ReadPhysical(this, 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, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::WritePhysical(this, 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, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::ReadControl(this, 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, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::WriteControl(this, 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, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::ReadIo(this, 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, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::WriteIo(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, msr: u32, value: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces_Impl::ReadMsr(this, core::mem::transmute_copy(&msr)) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn WriteMsr<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, msr: u32, value: u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::WriteMsr(this, core::mem::transmute_copy(&msr), core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ReadBusData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::ReadBusData(this, 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, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::WriteBusData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::CheckLowMemory(this).into()
}
unsafe extern "system" fn ReadDebuggerData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::ReadDebuggerData(this, 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, 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
where
Identity: IDebugDataSpaces_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces_Impl::ReadProcessorSystemData(this, 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, OFFSET>,
WriteVirtual: WriteVirtual::<Identity, OFFSET>,
SearchVirtual: SearchVirtual::<Identity, OFFSET>,
ReadVirtualUncached: ReadVirtualUncached::<Identity, OFFSET>,
WriteVirtualUncached: WriteVirtualUncached::<Identity, OFFSET>,
ReadPointersVirtual: ReadPointersVirtual::<Identity, OFFSET>,
WritePointersVirtual: WritePointersVirtual::<Identity, OFFSET>,
ReadPhysical: ReadPhysical::<Identity, OFFSET>,
WritePhysical: WritePhysical::<Identity, OFFSET>,
ReadControl: ReadControl::<Identity, OFFSET>,
WriteControl: WriteControl::<Identity, OFFSET>,
ReadIo: ReadIo::<Identity, OFFSET>,
WriteIo: WriteIo::<Identity, OFFSET>,
ReadMsr: ReadMsr::<Identity, OFFSET>,
WriteMsr: WriteMsr::<Identity, OFFSET>,
ReadBusData: ReadBusData::<Identity, OFFSET>,
WriteBusData: WriteBusData::<Identity, OFFSET>,
CheckLowMemory: CheckLowMemory::<Identity, OFFSET>,
ReadDebuggerData: ReadDebuggerData::<Identity, OFFSET>,
ReadProcessorSystemData: ReadProcessorSystemData::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugDataSpaces as windows_core::Interface>::IID
}
}
#[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::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, const OFFSET: isize>() -> IDebugDataSpaces2_Vtbl
where
Identity: IDebugDataSpaces2_Impl,
{
unsafe extern "system" fn ReadVirtual<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::ReadVirtual(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::WriteVirtual(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces2_Impl::SearchVirtual(this, 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)) {
Ok(ok__) => {
matchoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadVirtualUncached<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::ReadVirtualUncached(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::WriteVirtualUncached(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, offset: u64, ptrs: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::ReadPointersVirtual(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, offset: u64, ptrs: *const u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::WritePointersVirtual(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::ReadPhysical(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::WritePhysical(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::ReadControl(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::WriteControl(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::ReadIo(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::WriteIo(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, msr: u32, value: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces2_Impl::ReadMsr(this, core::mem::transmute_copy(&msr)) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn WriteMsr<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, msr: u32, value: u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::WriteMsr(this, core::mem::transmute_copy(&msr), core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ReadBusData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::ReadBusData(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::WriteBusData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::CheckLowMemory(this).into()
}
unsafe extern "system" fn ReadDebuggerData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::ReadDebuggerData(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::ReadProcessorSystemData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#virtual: u64, physical: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces2_Impl::VirtualToPhysical(this, core::mem::transmute_copy(&r#virtual)) {
Ok(ok__) => {
physical.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVirtualTranslationPhysicalOffsets<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#virtual: u64, offsets: *mut u64, offsetssize: u32, levels: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::GetVirtualTranslationPhysicalOffsets(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::ReadHandleData(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::FillVirtual(this, 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, 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
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::FillPhysical(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, info: *mut super::super::super::Memory::MEMORY_BASIC_INFORMATION64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces2_Impl::QueryVirtual(this, core::mem::transmute_copy(&offset), core::mem::transmute_copy(&info)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ReadVirtual: ReadVirtual::<Identity, OFFSET>,
WriteVirtual: WriteVirtual::<Identity, OFFSET>,
SearchVirtual: SearchVirtual::<Identity, OFFSET>,
ReadVirtualUncached: ReadVirtualUncached::<Identity, OFFSET>,
WriteVirtualUncached: WriteVirtualUncached::<Identity, OFFSET>,
ReadPointersVirtual: ReadPointersVirtual::<Identity, OFFSET>,
WritePointersVirtual: WritePointersVirtual::<Identity, OFFSET>,
ReadPhysical: ReadPhysical::<Identity, OFFSET>,
WritePhysical: WritePhysical::<Identity, OFFSET>,
ReadControl: ReadControl::<Identity, OFFSET>,
WriteControl: WriteControl::<Identity, OFFSET>,
ReadIo: ReadIo::<Identity, OFFSET>,
WriteIo: WriteIo::<Identity, OFFSET>,
ReadMsr: ReadMsr::<Identity, OFFSET>,
WriteMsr: WriteMsr::<Identity, OFFSET>,
ReadBusData: ReadBusData::<Identity, OFFSET>,
WriteBusData: WriteBusData::<Identity, OFFSET>,
CheckLowMemory: CheckLowMemory::<Identity, OFFSET>,
ReadDebuggerData: ReadDebuggerData::<Identity, OFFSET>,
ReadProcessorSystemData: ReadProcessorSystemData::<Identity, OFFSET>,
VirtualToPhysical: VirtualToPhysical::<Identity, OFFSET>,
GetVirtualTranslationPhysicalOffsets: GetVirtualTranslationPhysicalOffsets::<Identity, OFFSET>,
ReadHandleData: ReadHandleData::<Identity, OFFSET>,
FillVirtual: FillVirtual::<Identity, OFFSET>,
FillPhysical: FillPhysical::<Identity, OFFSET>,
QueryVirtual: QueryVirtual::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugDataSpaces2 as windows_core::Interface>::IID
}
}
#[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::super::Memory::MEMORY_BASIC_INFORMATION64) -> windows_core::Result<()>;
fn ReadImageNtHeaders(&self, imagebase: u64, headers: *mut super::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, const OFFSET: isize>() -> IDebugDataSpaces3_Vtbl
where
Identity: IDebugDataSpaces3_Impl,
{
unsafe extern "system" fn ReadVirtual<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadVirtual(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::WriteVirtual(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces3_Impl::SearchVirtual(this, 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)) {
Ok(ok__) => {
matchoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadVirtualUncached<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadVirtualUncached(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::WriteVirtualUncached(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, offset: u64, ptrs: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadPointersVirtual(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, offset: u64, ptrs: *const u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::WritePointersVirtual(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadPhysical(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::WritePhysical(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadControl(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::WriteControl(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadIo(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::WriteIo(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, msr: u32, value: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces3_Impl::ReadMsr(this, core::mem::transmute_copy(&msr)) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn WriteMsr<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, msr: u32, value: u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::WriteMsr(this, core::mem::transmute_copy(&msr), core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ReadBusData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadBusData(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::WriteBusData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::CheckLowMemory(this).into()
}
unsafe extern "system" fn ReadDebuggerData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadDebuggerData(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadProcessorSystemData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#virtual: u64, physical: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces3_Impl::VirtualToPhysical(this, core::mem::transmute_copy(&r#virtual)) {
Ok(ok__) => {
physical.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVirtualTranslationPhysicalOffsets<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#virtual: u64, offsets: *mut u64, offsetssize: u32, levels: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::GetVirtualTranslationPhysicalOffsets(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadHandleData(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::FillVirtual(this, 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, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::FillPhysical(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, info: *mut super::super::super::Memory::MEMORY_BASIC_INFORMATION64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::QueryVirtual(this, core::mem::transmute_copy(&offset), core::mem::transmute_copy(&info)).into()
}
unsafe extern "system" fn ReadImageNtHeaders<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, imagebase: u64, headers: *mut super::IMAGE_NT_HEADERS64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadImageNtHeaders(this, core::mem::transmute_copy(&imagebase), core::mem::transmute_copy(&headers)).into()
}
unsafe extern "system" fn ReadTagged<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::ReadTagged(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces3_Impl::StartEnumTagged(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextTagged<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, tag: *mut windows_core::GUID, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::GetNextTagged(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces3_Impl::EndEnumTagged(this, core::mem::transmute_copy(&handle)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ReadVirtual: ReadVirtual::<Identity, OFFSET>,
WriteVirtual: WriteVirtual::<Identity, OFFSET>,
SearchVirtual: SearchVirtual::<Identity, OFFSET>,
ReadVirtualUncached: ReadVirtualUncached::<Identity, OFFSET>,
WriteVirtualUncached: WriteVirtualUncached::<Identity, OFFSET>,
ReadPointersVirtual: ReadPointersVirtual::<Identity, OFFSET>,
WritePointersVirtual: WritePointersVirtual::<Identity, OFFSET>,
ReadPhysical: ReadPhysical::<Identity, OFFSET>,
WritePhysical: WritePhysical::<Identity, OFFSET>,
ReadControl: ReadControl::<Identity, OFFSET>,
WriteControl: WriteControl::<Identity, OFFSET>,
ReadIo: ReadIo::<Identity, OFFSET>,
WriteIo: WriteIo::<Identity, OFFSET>,
ReadMsr: ReadMsr::<Identity, OFFSET>,
WriteMsr: WriteMsr::<Identity, OFFSET>,
ReadBusData: ReadBusData::<Identity, OFFSET>,
WriteBusData: WriteBusData::<Identity, OFFSET>,
CheckLowMemory: CheckLowMemory::<Identity, OFFSET>,
ReadDebuggerData: ReadDebuggerData::<Identity, OFFSET>,
ReadProcessorSystemData: ReadProcessorSystemData::<Identity, OFFSET>,
VirtualToPhysical: VirtualToPhysical::<Identity, OFFSET>,
GetVirtualTranslationPhysicalOffsets: GetVirtualTranslationPhysicalOffsets::<Identity, OFFSET>,
ReadHandleData: ReadHandleData::<Identity, OFFSET>,
FillVirtual: FillVirtual::<Identity, OFFSET>,
FillPhysical: FillPhysical::<Identity, OFFSET>,
QueryVirtual: QueryVirtual::<Identity, OFFSET>,
ReadImageNtHeaders: ReadImageNtHeaders::<Identity, OFFSET>,
ReadTagged: ReadTagged::<Identity, OFFSET>,
StartEnumTagged: StartEnumTagged::<Identity, OFFSET>,
GetNextTagged: GetNextTagged::<Identity, OFFSET>,
EndEnumTagged: EndEnumTagged::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugDataSpaces3 as windows_core::Interface>::IID
}
}
#[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::super::Memory::MEMORY_BASIC_INFORMATION64) -> windows_core::Result<()>;
fn ReadImageNtHeaders(&self, imagebase: u64, headers: *mut super::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, const OFFSET: isize>() -> IDebugDataSpaces4_Vtbl
where
Identity: IDebugDataSpaces4_Impl,
{
unsafe extern "system" fn ReadVirtual<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadVirtual(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::WriteVirtual(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces4_Impl::SearchVirtual(this, 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)) {
Ok(ok__) => {
matchoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadVirtualUncached<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadVirtualUncached(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::WriteVirtualUncached(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, offset: u64, ptrs: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadPointersVirtual(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, offset: u64, ptrs: *const u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::WritePointersVirtual(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadPhysical(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::WritePhysical(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadControl(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::WriteControl(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadIo(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::WriteIo(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, msr: u32, value: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces4_Impl::ReadMsr(this, core::mem::transmute_copy(&msr)) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn WriteMsr<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, msr: u32, value: u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::WriteMsr(this, core::mem::transmute_copy(&msr), core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn ReadBusData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadBusData(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::WriteBusData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::CheckLowMemory(this).into()
}
unsafe extern "system" fn ReadDebuggerData<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadDebuggerData(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadProcessorSystemData(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, r#virtual: u64, physical: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces4_Impl::VirtualToPhysical(this, core::mem::transmute_copy(&r#virtual)) {
Ok(ok__) => {
physical.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVirtualTranslationPhysicalOffsets<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#virtual: u64, offsets: *mut u64, offsetssize: u32, levels: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::GetVirtualTranslationPhysicalOffsets(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadHandleData(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::FillVirtual(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::FillPhysical(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, info: *mut super::super::super::Memory::MEMORY_BASIC_INFORMATION64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::QueryVirtual(this, core::mem::transmute_copy(&offset), core::mem::transmute_copy(&info)).into()
}
unsafe extern "system" fn ReadImageNtHeaders<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, imagebase: u64, headers: *mut super::IMAGE_NT_HEADERS64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadImageNtHeaders(this, core::mem::transmute_copy(&imagebase), core::mem::transmute_copy(&headers)).into()
}
unsafe extern "system" fn ReadTagged<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadTagged(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces4_Impl::StartEnumTagged(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextTagged<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, tag: *mut windows_core::GUID, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::GetNextTagged(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::EndEnumTagged(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn GetOffsetInformation<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::GetOffsetInformation(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, nextoffset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces4_Impl::GetNextDifferentlyValidOffsetVirtual(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
nextoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValidRegionVirtual<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, base: u64, size: u32, validbase: *mut u64, validsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::GetValidRegionVirtual(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugDataSpaces4_Impl::SearchVirtual2(this, 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)) {
Ok(ok__) => {
matchoffset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadMultiByteStringVirtual<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadMultiByteStringVirtual(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadMultiByteStringVirtualWide(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadUnicodeStringVirtual(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadUnicodeStringVirtualWide(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::ReadPhysical2(this, 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, 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
where
Identity: IDebugDataSpaces4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugDataSpaces4_Impl::WritePhysical2(this, 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, OFFSET>,
WriteVirtual: WriteVirtual::<Identity, OFFSET>,
SearchVirtual: SearchVirtual::<Identity, OFFSET>,
ReadVirtualUncached: ReadVirtualUncached::<Identity, OFFSET>,
WriteVirtualUncached: WriteVirtualUncached::<Identity, OFFSET>,
ReadPointersVirtual: ReadPointersVirtual::<Identity, OFFSET>,
WritePointersVirtual: WritePointersVirtual::<Identity, OFFSET>,
ReadPhysical: ReadPhysical::<Identity, OFFSET>,
WritePhysical: WritePhysical::<Identity, OFFSET>,
ReadControl: ReadControl::<Identity, OFFSET>,
WriteControl: WriteControl::<Identity, OFFSET>,
ReadIo: ReadIo::<Identity, OFFSET>,
WriteIo: WriteIo::<Identity, OFFSET>,
ReadMsr: ReadMsr::<Identity, OFFSET>,
WriteMsr: WriteMsr::<Identity, OFFSET>,
ReadBusData: ReadBusData::<Identity, OFFSET>,
WriteBusData: WriteBusData::<Identity, OFFSET>,
CheckLowMemory: CheckLowMemory::<Identity, OFFSET>,
ReadDebuggerData: ReadDebuggerData::<Identity, OFFSET>,
ReadProcessorSystemData: ReadProcessorSystemData::<Identity, OFFSET>,
VirtualToPhysical: VirtualToPhysical::<Identity, OFFSET>,
GetVirtualTranslationPhysicalOffsets: GetVirtualTranslationPhysicalOffsets::<Identity, OFFSET>,
ReadHandleData: ReadHandleData::<Identity, OFFSET>,
FillVirtual: FillVirtual::<Identity, OFFSET>,
FillPhysical: FillPhysical::<Identity, OFFSET>,
QueryVirtual: QueryVirtual::<Identity, OFFSET>,
ReadImageNtHeaders: ReadImageNtHeaders::<Identity, OFFSET>,
ReadTagged: ReadTagged::<Identity, OFFSET>,
StartEnumTagged: StartEnumTagged::<Identity, OFFSET>,
GetNextTagged: GetNextTagged::<Identity, OFFSET>,
EndEnumTagged: EndEnumTagged::<Identity, OFFSET>,
GetOffsetInformation: GetOffsetInformation::<Identity, OFFSET>,
GetNextDifferentlyValidOffsetVirtual: GetNextDifferentlyValidOffsetVirtual::<Identity, OFFSET>,
GetValidRegionVirtual: GetValidRegionVirtual::<Identity, OFFSET>,
SearchVirtual2: SearchVirtual2::<Identity, OFFSET>,
ReadMultiByteStringVirtual: ReadMultiByteStringVirtual::<Identity, OFFSET>,
ReadMultiByteStringVirtualWide: ReadMultiByteStringVirtualWide::<Identity, OFFSET>,
ReadUnicodeStringVirtual: ReadUnicodeStringVirtual::<Identity, OFFSET>,
ReadUnicodeStringVirtualWide: ReadUnicodeStringVirtualWide::<Identity, OFFSET>,
ReadPhysical2: ReadPhysical2::<Identity, OFFSET>,
WritePhysical2: WritePhysical2::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugDataSpaces4 as windows_core::Interface>::IID
}
}
pub trait IDebugEventCallbacks_Impl: Sized {
fn GetInterestMask(&self) -> windows_core::Result<u32>;
fn Breakpoint(&self, bp: Option<&IDebugBreakpoint>) -> windows_core::Result<()>;
fn Exception(&self, exception: *const super::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<()>;
}
impl windows_core::RuntimeName for IDebugEventCallbacks {}
impl IDebugEventCallbacks_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugEventCallbacks_Vtbl
where
Identity: IDebugEventCallbacks_Impl,
{
unsafe extern "system" fn GetInterestMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugEventCallbacks_Impl::GetInterestMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Breakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::Breakpoint(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn Exception<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, exception: *const super::EXCEPTION_RECORD64, firstchance: u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::Exception(this, core::mem::transmute_copy(&exception), core::mem::transmute_copy(&firstchance)).into()
}
unsafe extern "system" fn CreateThread<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, dataoffset: u64, startoffset: u64) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::CreateThread(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, exitcode: u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::ExitThread(this, core::mem::transmute_copy(&exitcode)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::CreateProcessA(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, exitcode: u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::ExitProcess(this, core::mem::transmute_copy(&exitcode)).into()
}
unsafe extern "system" fn LoadModule<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::LoadModule(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, imagebasename: windows_core::PCSTR, baseoffset: u64) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::UnloadModule(this, core::mem::transmute(&imagebasename), core::mem::transmute_copy(&baseoffset)).into()
}
unsafe extern "system" fn SystemError<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, error: u32, level: u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::SystemError(this, core::mem::transmute_copy(&error), core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn SessionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::SessionStatus(this, core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn ChangeDebuggeeState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, argument: u64) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::ChangeDebuggeeState(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&argument)).into()
}
unsafe extern "system" fn ChangeEngineState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, argument: u64) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::ChangeEngineState(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&argument)).into()
}
unsafe extern "system" fn ChangeSymbolState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, argument: u64) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacks_Impl::ChangeSymbolState(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&argument)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterestMask: GetInterestMask::<Identity, OFFSET>,
Breakpoint: Breakpoint::<Identity, OFFSET>,
Exception: Exception::<Identity, OFFSET>,
CreateThread: CreateThread::<Identity, OFFSET>,
ExitThread: ExitThread::<Identity, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, OFFSET>,
ExitProcess: ExitProcess::<Identity, OFFSET>,
LoadModule: LoadModule::<Identity, OFFSET>,
UnloadModule: UnloadModule::<Identity, OFFSET>,
SystemError: SystemError::<Identity, OFFSET>,
SessionStatus: SessionStatus::<Identity, OFFSET>,
ChangeDebuggeeState: ChangeDebuggeeState::<Identity, OFFSET>,
ChangeEngineState: ChangeEngineState::<Identity, OFFSET>,
ChangeSymbolState: ChangeSymbolState::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugEventCallbacks as windows_core::Interface>::IID
}
}
pub trait IDebugEventCallbacksWide_Impl: Sized {
fn GetInterestMask(&self) -> windows_core::Result<u32>;
fn Breakpoint(&self, bp: Option<&IDebugBreakpoint2>) -> windows_core::Result<()>;
fn Exception(&self, exception: *const super::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<()>;
}
impl windows_core::RuntimeName for IDebugEventCallbacksWide {}
impl IDebugEventCallbacksWide_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugEventCallbacksWide_Vtbl
where
Identity: IDebugEventCallbacksWide_Impl,
{
unsafe extern "system" fn GetInterestMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugEventCallbacksWide_Impl::GetInterestMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Breakpoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::Breakpoint(this, windows_core::from_raw_borrowed(&bp)).into()
}
unsafe extern "system" fn Exception<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, exception: *const super::EXCEPTION_RECORD64, firstchance: u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::Exception(this, core::mem::transmute_copy(&exception), core::mem::transmute_copy(&firstchance)).into()
}
unsafe extern "system" fn CreateThread<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, dataoffset: u64, startoffset: u64) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::CreateThread(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, exitcode: u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::ExitThread(this, core::mem::transmute_copy(&exitcode)).into()
}
unsafe extern "system" fn CreateProcessA<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::CreateProcessA(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, exitcode: u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::ExitProcess(this, core::mem::transmute_copy(&exitcode)).into()
}
unsafe extern "system" fn LoadModule<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::LoadModule(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, imagebasename: windows_core::PCWSTR, baseoffset: u64) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::UnloadModule(this, core::mem::transmute(&imagebasename), core::mem::transmute_copy(&baseoffset)).into()
}
unsafe extern "system" fn SystemError<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, error: u32, level: u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::SystemError(this, core::mem::transmute_copy(&error), core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn SessionStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, status: u32) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::SessionStatus(this, core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn ChangeDebuggeeState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, argument: u64) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::ChangeDebuggeeState(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&argument)).into()
}
unsafe extern "system" fn ChangeEngineState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, argument: u64) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::ChangeEngineState(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&argument)).into()
}
unsafe extern "system" fn ChangeSymbolState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, argument: u64) -> windows_core::HRESULT
where
Identity: IDebugEventCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventCallbacksWide_Impl::ChangeSymbolState(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&argument)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterestMask: GetInterestMask::<Identity, OFFSET>,
Breakpoint: Breakpoint::<Identity, OFFSET>,
Exception: Exception::<Identity, OFFSET>,
CreateThread: CreateThread::<Identity, OFFSET>,
ExitThread: ExitThread::<Identity, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, OFFSET>,
ExitProcess: ExitProcess::<Identity, OFFSET>,
LoadModule: LoadModule::<Identity, OFFSET>,
UnloadModule: UnloadModule::<Identity, OFFSET>,
SystemError: SystemError::<Identity, OFFSET>,
SessionStatus: SessionStatus::<Identity, OFFSET>,
ChangeDebuggeeState: ChangeDebuggeeState::<Identity, OFFSET>,
ChangeEngineState: ChangeEngineState::<Identity, OFFSET>,
ChangeSymbolState: ChangeSymbolState::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugEventCallbacksWide as windows_core::Interface>::IID
}
}
pub trait IDebugEventContextCallbacks_Impl: Sized {
fn GetInterestMask(&self) -> windows_core::Result<u32>;
fn Breakpoint(&self, bp: Option<&IDebugBreakpoint2>, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::Result<()>;
fn Exception(&self, exception: *const super::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<()>;
}
impl windows_core::RuntimeName for IDebugEventContextCallbacks {}
impl IDebugEventContextCallbacks_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugEventContextCallbacks_Vtbl
where
Identity: IDebugEventContextCallbacks_Impl,
{
unsafe extern "system" fn GetInterestMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugEventContextCallbacks_Impl::GetInterestMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Breakpoint<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::Breakpoint(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, exception: *const super::EXCEPTION_RECORD64, firstchance: u32, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::Exception(this, 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, 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
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::CreateThread(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, exitcode: u32, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::ExitThread(this, 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, 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
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::CreateProcessA(
this,
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, const OFFSET: isize>(this: *mut core::ffi::c_void, exitcode: u32, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::ExitProcess(this, 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, 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
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::LoadModule(this, 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, 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
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::UnloadModule(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, error: u32, level: u32, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::SystemError(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, status: u32) -> windows_core::HRESULT
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::SessionStatus(this, core::mem::transmute_copy(&status)).into()
}
unsafe extern "system" fn ChangeDebuggeeState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, argument: u64, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::ChangeDebuggeeState(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, argument: u64, context: *const core::ffi::c_void, contextsize: u32) -> windows_core::HRESULT
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::ChangeEngineState(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, argument: u64) -> windows_core::HRESULT
where
Identity: IDebugEventContextCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugEventContextCallbacks_Impl::ChangeSymbolState(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&argument)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInterestMask: GetInterestMask::<Identity, OFFSET>,
Breakpoint: Breakpoint::<Identity, OFFSET>,
Exception: Exception::<Identity, OFFSET>,
CreateThread: CreateThread::<Identity, OFFSET>,
ExitThread: ExitThread::<Identity, OFFSET>,
CreateProcessA: CreateProcessA::<Identity, OFFSET>,
ExitProcess: ExitProcess::<Identity, OFFSET>,
LoadModule: LoadModule::<Identity, OFFSET>,
UnloadModule: UnloadModule::<Identity, OFFSET>,
SystemError: SystemError::<Identity, OFFSET>,
SessionStatus: SessionStatus::<Identity, OFFSET>,
ChangeDebuggeeState: ChangeDebuggeeState::<Identity, OFFSET>,
ChangeEngineState: ChangeEngineState::<Identity, OFFSET>,
ChangeSymbolState: ChangeSymbolState::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugEventContextCallbacks as windows_core::Interface>::IID
}
}
pub trait IDebugFAEntryTags_Impl: Sized {
fn GetType(&self, tag: DEBUG_FLR_PARAM_TYPE) -> FA_ENTRY_TYPE;
fn SetType(&self, tag: DEBUG_FLR_PARAM_TYPE, entrytype: FA_ENTRY_TYPE) -> windows_core::Result<()>;
fn GetProperties(&self, tag: DEBUG_FLR_PARAM_TYPE, name: windows_core::PSTR, namesize: *mut u32, description: windows_core::PSTR, descsize: *mut u32, flags: *mut u32) -> windows_core::Result<()>;
fn SetProperties(&self, tag: DEBUG_FLR_PARAM_TYPE, name: &windows_core::PCSTR, description: &windows_core::PCSTR, flags: u32) -> windows_core::Result<()>;
fn GetTagByName(&self, pluginid: &windows_core::PCSTR, tagname: &windows_core::PCSTR) -> windows_core::Result<DEBUG_FLR_PARAM_TYPE>;
fn IsValidTagToSet(&self, tag: DEBUG_FLR_PARAM_TYPE) -> super::super::super::super::Foundation::BOOL;
}
impl IDebugFAEntryTags_Vtbl {
pub const fn new<Impl: IDebugFAEntryTags_Impl>() -> IDebugFAEntryTags_Vtbl {
unsafe extern "system" fn GetType<Impl: IDebugFAEntryTags_Impl>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE) -> FA_ENTRY_TYPE {
let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
let this = &*((*this).this as *const Impl);
IDebugFAEntryTags_Impl::GetType(this, core::mem::transmute_copy(&tag))
}
unsafe extern "system" fn SetType<Impl: IDebugFAEntryTags_Impl>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, entrytype: FA_ENTRY_TYPE) -> windows_core::HRESULT {
let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
let this = &*((*this).this as *const Impl);
IDebugFAEntryTags_Impl::SetType(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&entrytype)).into()
}
unsafe extern "system" fn GetProperties<Impl: IDebugFAEntryTags_Impl>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, name: windows_core::PSTR, namesize: *mut u32, description: windows_core::PSTR, descsize: *mut u32, flags: *mut u32) -> windows_core::HRESULT {
let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
let this = &*((*this).this as *const Impl);
IDebugFAEntryTags_Impl::GetProperties(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&name), core::mem::transmute_copy(&namesize), core::mem::transmute_copy(&description), core::mem::transmute_copy(&descsize), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn SetProperties<Impl: IDebugFAEntryTags_Impl>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, name: windows_core::PCSTR, description: windows_core::PCSTR, flags: u32) -> windows_core::HRESULT {
let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
let this = &*((*this).this as *const Impl);
IDebugFAEntryTags_Impl::SetProperties(this, core::mem::transmute_copy(&tag), core::mem::transmute(&name), core::mem::transmute(&description), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetTagByName<Impl: IDebugFAEntryTags_Impl>(this: *mut core::ffi::c_void, pluginid: windows_core::PCSTR, tagname: windows_core::PCSTR, tag: *mut DEBUG_FLR_PARAM_TYPE) -> windows_core::HRESULT {
let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
let this = &*((*this).this as *const Impl);
match IDebugFAEntryTags_Impl::GetTagByName(this, core::mem::transmute(&pluginid), core::mem::transmute(&tagname)) {
Ok(ok__) => {
tag.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsValidTagToSet<Impl: IDebugFAEntryTags_Impl>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE) -> super::super::super::super::Foundation::BOOL {
let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
let this = &*((*this).this as *const Impl);
IDebugFAEntryTags_Impl::IsValidTagToSet(this, core::mem::transmute_copy(&tag))
}
Self {
GetType: GetType::<Impl>,
SetType: SetType::<Impl>,
GetProperties: GetProperties::<Impl>,
SetProperties: SetProperties::<Impl>,
GetTagByName: GetTagByName::<Impl>,
IsValidTagToSet: IsValidTagToSet::<Impl>,
}
}
}
#[doc(hidden)]
struct IDebugFAEntryTags_ImplVtbl<T: IDebugFAEntryTags_Impl>(std::marker::PhantomData<T>);
impl<T: IDebugFAEntryTags_Impl> IDebugFAEntryTags_ImplVtbl<T> {
const VTABLE: IDebugFAEntryTags_Vtbl = IDebugFAEntryTags_Vtbl::new::<T>();
}
impl IDebugFAEntryTags {
pub fn new<'a, T: IDebugFAEntryTags_Impl>(this: &'a T) -> windows_core::ScopedInterface<'a, Self> {
let this = windows_core::ScopedHeap { vtable: &IDebugFAEntryTags_ImplVtbl::<T>::VTABLE as *const _ as *const _, this: this as *const _ as *const _ };
let this = core::mem::ManuallyDrop::new(Box::new(this));
unsafe { windows_core::ScopedInterface::new(core::mem::transmute(&this.vtable)) }
}
}
pub trait IDebugFailureAnalysis_Impl: Sized {
fn GetFailureClass(&self) -> u32;
fn GetFailureType(&self) -> DEBUG_FAILURE_TYPE;
fn GetFailureCode(&self) -> u32;
fn Get(&self, tag: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY;
fn GetNext(&self, entry: *mut FA_ENTRY, tag: DEBUG_FLR_PARAM_TYPE, tagmask: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY;
fn GetString(&self, tag: DEBUG_FLR_PARAM_TYPE, str: windows_core::PSTR, maxsize: u32) -> *mut FA_ENTRY;
fn GetBuffer(&self, tag: DEBUG_FLR_PARAM_TYPE, buf: *mut core::ffi::c_void, size: u32) -> *mut FA_ENTRY;
fn GetUlong(&self, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u32) -> *mut FA_ENTRY;
fn GetUlong64(&self, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u64) -> *mut FA_ENTRY;
fn NextEntry(&self, entry: *const FA_ENTRY) -> *mut FA_ENTRY;
}
impl windows_core::RuntimeName for IDebugFailureAnalysis {}
impl IDebugFailureAnalysis_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugFailureAnalysis_Vtbl
where
Identity: IDebugFailureAnalysis_Impl,
{
unsafe extern "system" fn GetFailureClass<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> u32
where
Identity: IDebugFailureAnalysis_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis_Impl::GetFailureClass(this)
}
unsafe extern "system" fn GetFailureType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> DEBUG_FAILURE_TYPE
where
Identity: IDebugFailureAnalysis_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis_Impl::GetFailureType(this)
}
unsafe extern "system" fn GetFailureCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> u32
where
Identity: IDebugFailureAnalysis_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis_Impl::GetFailureCode(this)
}
unsafe extern "system" fn Get<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis_Impl::Get(this, core::mem::transmute_copy(&tag))
}
unsafe extern "system" fn GetNext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, entry: *mut FA_ENTRY, tag: DEBUG_FLR_PARAM_TYPE, tagmask: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis_Impl::GetNext(this, core::mem::transmute_copy(&entry), core::mem::transmute_copy(&tag), core::mem::transmute_copy(&tagmask))
}
unsafe extern "system" fn GetString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, str: windows_core::PSTR, maxsize: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis_Impl::GetString(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&str), core::mem::transmute_copy(&maxsize))
}
unsafe extern "system" fn GetBuffer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, buf: *mut core::ffi::c_void, size: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis_Impl::GetBuffer(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&buf), core::mem::transmute_copy(&size))
}
unsafe extern "system" fn GetUlong<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis_Impl::GetUlong(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn GetUlong64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u64) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis_Impl::GetUlong64(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn NextEntry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, entry: *const FA_ENTRY) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis_Impl::NextEntry(this, core::mem::transmute_copy(&entry))
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetFailureClass: GetFailureClass::<Identity, OFFSET>,
GetFailureType: GetFailureType::<Identity, OFFSET>,
GetFailureCode: GetFailureCode::<Identity, OFFSET>,
Get: Get::<Identity, OFFSET>,
GetNext: GetNext::<Identity, OFFSET>,
GetString: GetString::<Identity, OFFSET>,
GetBuffer: GetBuffer::<Identity, OFFSET>,
GetUlong: GetUlong::<Identity, OFFSET>,
GetUlong64: GetUlong64::<Identity, OFFSET>,
NextEntry: NextEntry::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugFailureAnalysis as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))]
pub trait IDebugFailureAnalysis2_Impl: Sized {
fn GetFailureClass(&self) -> u32;
fn GetFailureType(&self) -> DEBUG_FAILURE_TYPE;
fn GetFailureCode(&self) -> u32;
fn Get(&self, tag: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY;
fn GetNext(&self, entry: *const FA_ENTRY, tag: DEBUG_FLR_PARAM_TYPE, tagmask: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY;
fn GetString(&self, tag: DEBUG_FLR_PARAM_TYPE, str: windows_core::PSTR, maxsize: u32) -> *mut FA_ENTRY;
fn GetBuffer(&self, tag: DEBUG_FLR_PARAM_TYPE, buf: *mut core::ffi::c_void, size: u32) -> *mut FA_ENTRY;
fn GetUlong(&self, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u32) -> *mut FA_ENTRY;
fn GetUlong64(&self, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u64) -> *mut FA_ENTRY;
fn NextEntry(&self, entry: *const FA_ENTRY) -> *mut FA_ENTRY;
fn SetString(&self, tag: DEBUG_FLR_PARAM_TYPE, str: &windows_core::PCSTR) -> *mut FA_ENTRY;
fn SetExtensionCommand(&self, tag: DEBUG_FLR_PARAM_TYPE, extension: &windows_core::PCSTR) -> *mut FA_ENTRY;
fn SetUlong(&self, tag: DEBUG_FLR_PARAM_TYPE, value: u32) -> *mut FA_ENTRY;
fn SetUlong64(&self, tag: DEBUG_FLR_PARAM_TYPE, value: u64) -> *mut FA_ENTRY;
fn SetBuffer(&self, tag: DEBUG_FLR_PARAM_TYPE, entrytype: FA_ENTRY_TYPE, buf: *const core::ffi::c_void, size: u32) -> *mut FA_ENTRY;
fn AddString(&self, tag: DEBUG_FLR_PARAM_TYPE, str: &windows_core::PCSTR) -> *mut FA_ENTRY;
fn AddExtensionCommand(&self, tag: DEBUG_FLR_PARAM_TYPE, extension: &windows_core::PCSTR) -> *mut FA_ENTRY;
fn AddUlong(&self, tag: DEBUG_FLR_PARAM_TYPE, value: u32) -> *mut FA_ENTRY;
fn AddUlong64(&self, tag: DEBUG_FLR_PARAM_TYPE, value: u64) -> *mut FA_ENTRY;
fn AddBuffer(&self, tag: DEBUG_FLR_PARAM_TYPE, entrytype: FA_ENTRY_TYPE, buf: *const core::ffi::c_void, size: u32) -> *mut FA_ENTRY;
fn GetDebugFATagControl(&self) -> windows_core::Result<IDebugFAEntryTags>;
fn GetAnalysisXml(&self) -> windows_core::Result<super::super::super::super::Data::Xml::MsXml::IXMLDOMElement>;
fn AddStructuredAnalysisData(&self, tag: DEBUG_FLR_PARAM_TYPE, analysis: Option<&IDebugFailureAnalysis2>) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))]
impl windows_core::RuntimeName for IDebugFailureAnalysis2 {}
#[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))]
impl IDebugFailureAnalysis2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugFailureAnalysis2_Vtbl
where
Identity: IDebugFailureAnalysis2_Impl,
{
unsafe extern "system" fn GetFailureClass<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> u32
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::GetFailureClass(this)
}
unsafe extern "system" fn GetFailureType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> DEBUG_FAILURE_TYPE
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::GetFailureType(this)
}
unsafe extern "system" fn GetFailureCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> u32
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::GetFailureCode(this)
}
unsafe extern "system" fn Get<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::Get(this, core::mem::transmute_copy(&tag))
}
unsafe extern "system" fn GetNext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, entry: *const FA_ENTRY, tag: DEBUG_FLR_PARAM_TYPE, tagmask: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::GetNext(this, core::mem::transmute_copy(&entry), core::mem::transmute_copy(&tag), core::mem::transmute_copy(&tagmask))
}
unsafe extern "system" fn GetString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, str: windows_core::PSTR, maxsize: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::GetString(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&str), core::mem::transmute_copy(&maxsize))
}
unsafe extern "system" fn GetBuffer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, buf: *mut core::ffi::c_void, size: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::GetBuffer(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&buf), core::mem::transmute_copy(&size))
}
unsafe extern "system" fn GetUlong<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::GetUlong(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn GetUlong64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u64) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::GetUlong64(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn NextEntry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, entry: *const FA_ENTRY) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::NextEntry(this, core::mem::transmute_copy(&entry))
}
unsafe extern "system" fn SetString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, str: windows_core::PCSTR) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::SetString(this, core::mem::transmute_copy(&tag), core::mem::transmute(&str))
}
unsafe extern "system" fn SetExtensionCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, extension: windows_core::PCSTR) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::SetExtensionCommand(this, core::mem::transmute_copy(&tag), core::mem::transmute(&extension))
}
unsafe extern "system" fn SetUlong<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::SetUlong(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn SetUlong64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: u64) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::SetUlong64(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn SetBuffer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, entrytype: FA_ENTRY_TYPE, buf: *const core::ffi::c_void, size: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::SetBuffer(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&entrytype), core::mem::transmute_copy(&buf), core::mem::transmute_copy(&size))
}
unsafe extern "system" fn AddString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, str: windows_core::PCSTR) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::AddString(this, core::mem::transmute_copy(&tag), core::mem::transmute(&str))
}
unsafe extern "system" fn AddExtensionCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, extension: windows_core::PCSTR) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::AddExtensionCommand(this, core::mem::transmute_copy(&tag), core::mem::transmute(&extension))
}
unsafe extern "system" fn AddUlong<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::AddUlong(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn AddUlong64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: u64) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::AddUlong64(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn AddBuffer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, entrytype: FA_ENTRY_TYPE, buf: *const core::ffi::c_void, size: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::AddBuffer(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&entrytype), core::mem::transmute_copy(&buf), core::mem::transmute_copy(&size))
}
unsafe extern "system" fn GetDebugFATagControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fatagcontrol: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugFailureAnalysis2_Impl::GetDebugFATagControl(this) {
Ok(ok__) => {
fatagcontrol.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAnalysisXml<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppxmldomelement: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugFailureAnalysis2_Impl::GetAnalysisXml(this) {
Ok(ok__) => {
ppxmldomelement.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddStructuredAnalysisData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, analysis: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis2_Impl::AddStructuredAnalysisData(this, core::mem::transmute_copy(&tag), windows_core::from_raw_borrowed(&analysis)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetFailureClass: GetFailureClass::<Identity, OFFSET>,
GetFailureType: GetFailureType::<Identity, OFFSET>,
GetFailureCode: GetFailureCode::<Identity, OFFSET>,
Get: Get::<Identity, OFFSET>,
GetNext: GetNext::<Identity, OFFSET>,
GetString: GetString::<Identity, OFFSET>,
GetBuffer: GetBuffer::<Identity, OFFSET>,
GetUlong: GetUlong::<Identity, OFFSET>,
GetUlong64: GetUlong64::<Identity, OFFSET>,
NextEntry: NextEntry::<Identity, OFFSET>,
SetString: SetString::<Identity, OFFSET>,
SetExtensionCommand: SetExtensionCommand::<Identity, OFFSET>,
SetUlong: SetUlong::<Identity, OFFSET>,
SetUlong64: SetUlong64::<Identity, OFFSET>,
SetBuffer: SetBuffer::<Identity, OFFSET>,
AddString: AddString::<Identity, OFFSET>,
AddExtensionCommand: AddExtensionCommand::<Identity, OFFSET>,
AddUlong: AddUlong::<Identity, OFFSET>,
AddUlong64: AddUlong64::<Identity, OFFSET>,
AddBuffer: AddBuffer::<Identity, OFFSET>,
GetDebugFATagControl: GetDebugFATagControl::<Identity, OFFSET>,
GetAnalysisXml: GetAnalysisXml::<Identity, OFFSET>,
AddStructuredAnalysisData: AddStructuredAnalysisData::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugFailureAnalysis2 as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))]
pub trait IDebugFailureAnalysis3_Impl: Sized {
fn GetFailureClass(&self) -> u32;
fn GetFailureType(&self) -> DEBUG_FAILURE_TYPE;
fn GetFailureCode(&self) -> u32;
fn Get(&self, tag: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY;
fn GetNext(&self, entry: *const FA_ENTRY, tag: DEBUG_FLR_PARAM_TYPE, tagmask: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY;
fn GetString(&self, tag: DEBUG_FLR_PARAM_TYPE, str: windows_core::PSTR, maxsize: u32) -> *mut FA_ENTRY;
fn GetBuffer(&self, tag: DEBUG_FLR_PARAM_TYPE, buf: *mut core::ffi::c_void, size: u32) -> *mut FA_ENTRY;
fn GetUlong(&self, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u32) -> *mut FA_ENTRY;
fn GetUlong64(&self, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u64) -> *mut FA_ENTRY;
fn NextEntry(&self, entry: *const FA_ENTRY) -> *mut FA_ENTRY;
fn SetString(&self, tag: DEBUG_FLR_PARAM_TYPE, str: &windows_core::PCSTR) -> *mut FA_ENTRY;
fn SetExtensionCommand(&self, tag: DEBUG_FLR_PARAM_TYPE, extension: &windows_core::PCSTR) -> *mut FA_ENTRY;
fn SetUlong(&self, tag: DEBUG_FLR_PARAM_TYPE, value: u32) -> *mut FA_ENTRY;
fn SetUlong64(&self, tag: DEBUG_FLR_PARAM_TYPE, value: u64) -> *mut FA_ENTRY;
fn SetBuffer(&self, tag: DEBUG_FLR_PARAM_TYPE, entrytype: FA_ENTRY_TYPE, buf: *const core::ffi::c_void, size: u32) -> *mut FA_ENTRY;
fn AddString(&self, tag: DEBUG_FLR_PARAM_TYPE, str: &windows_core::PCSTR) -> *mut FA_ENTRY;
fn AddExtensionCommand(&self, tag: DEBUG_FLR_PARAM_TYPE, extension: &windows_core::PCSTR) -> *mut FA_ENTRY;
fn AddUlong(&self, tag: DEBUG_FLR_PARAM_TYPE, value: u32) -> *mut FA_ENTRY;
fn AddUlong64(&self, tag: DEBUG_FLR_PARAM_TYPE, value: u64) -> *mut FA_ENTRY;
fn AddBuffer(&self, tag: DEBUG_FLR_PARAM_TYPE, entrytype: FA_ENTRY_TYPE, buf: *const core::ffi::c_void, size: u32) -> *mut FA_ENTRY;
fn GetDebugFATagControl(&self) -> windows_core::Result<IDebugFAEntryTags>;
fn GetAnalysisXml(&self) -> windows_core::Result<super::super::super::super::Data::Xml::MsXml::IXMLDOMElement>;
fn AddStructuredAnalysisData(&self, tag: DEBUG_FLR_PARAM_TYPE, analysis: Option<&IDebugFailureAnalysis2>) -> windows_core::Result<()>;
fn AddThreads(&self, pdebugfailurethreadenum: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn AttributeGet(&self, nindex: u32) -> windows_core::Result<windows_core::VARIANT>;
fn AttributeGetName(&self, nindex: u32) -> windows_core::Result<windows_core::BSTR>;
fn AttributeSet(&self, nindex: u32, value: &windows_core::VARIANT) -> windows_core::Result<()>;
fn BlameApplication(&self, postfix: &windows_core::BSTR) -> windows_core::Result<()>;
fn BlameProcess(&self, postfix: &windows_core::BSTR) -> windows_core::Result<()>;
fn BlameThread(&self, pthread: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn BlameStitch(&self, pthread: Option<&windows_core::IUnknown>, stitch: &windows_core::BSTR) -> windows_core::Result<()>;
fn BlameTEB(&self, address: u64) -> windows_core::Result<()>;
fn BlameETHREAD(&self, address: u64) -> windows_core::Result<()>;
fn ProblemClassIsSet(&self, nindex: u32) -> windows_core::Result<super::super::super::super::Foundation::VARIANT_BOOL>;
fn ProblemClassDelete(&self, nindex: u32) -> windows_core::Result<()>;
fn ProblemClassSet(&self, nindex: u32) -> windows_core::Result<()>;
fn ProblemClassSetBSTR(&self, nindex: u32, value: &windows_core::BSTR) -> windows_core::Result<()>;
fn SetAdditionalXML(&self, key: &windows_core::BSTR, pxmldomelement: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn GetAdditionalXML(&self, key: &windows_core::BSTR) -> windows_core::Result<windows_core::IUnknown>;
fn DeleteAdditionalXML(&self, key: &windows_core::BSTR) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))]
impl windows_core::RuntimeName for IDebugFailureAnalysis3 {}
#[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com"))]
impl IDebugFailureAnalysis3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugFailureAnalysis3_Vtbl
where
Identity: IDebugFailureAnalysis3_Impl,
{
unsafe extern "system" fn GetFailureClass<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> u32
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::GetFailureClass(this)
}
unsafe extern "system" fn GetFailureType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> DEBUG_FAILURE_TYPE
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::GetFailureType(this)
}
unsafe extern "system" fn GetFailureCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> u32
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::GetFailureCode(this)
}
unsafe extern "system" fn Get<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::Get(this, core::mem::transmute_copy(&tag))
}
unsafe extern "system" fn GetNext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, entry: *const FA_ENTRY, tag: DEBUG_FLR_PARAM_TYPE, tagmask: DEBUG_FLR_PARAM_TYPE) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::GetNext(this, core::mem::transmute_copy(&entry), core::mem::transmute_copy(&tag), core::mem::transmute_copy(&tagmask))
}
unsafe extern "system" fn GetString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, str: windows_core::PSTR, maxsize: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::GetString(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&str), core::mem::transmute_copy(&maxsize))
}
unsafe extern "system" fn GetBuffer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, buf: *mut core::ffi::c_void, size: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::GetBuffer(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&buf), core::mem::transmute_copy(&size))
}
unsafe extern "system" fn GetUlong<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::GetUlong(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn GetUlong64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: *mut u64) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::GetUlong64(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn NextEntry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, entry: *const FA_ENTRY) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::NextEntry(this, core::mem::transmute_copy(&entry))
}
unsafe extern "system" fn SetString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, str: windows_core::PCSTR) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::SetString(this, core::mem::transmute_copy(&tag), core::mem::transmute(&str))
}
unsafe extern "system" fn SetExtensionCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, extension: windows_core::PCSTR) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::SetExtensionCommand(this, core::mem::transmute_copy(&tag), core::mem::transmute(&extension))
}
unsafe extern "system" fn SetUlong<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::SetUlong(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn SetUlong64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: u64) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::SetUlong64(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn SetBuffer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, entrytype: FA_ENTRY_TYPE, buf: *const core::ffi::c_void, size: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::SetBuffer(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&entrytype), core::mem::transmute_copy(&buf), core::mem::transmute_copy(&size))
}
unsafe extern "system" fn AddString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, str: windows_core::PCSTR) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::AddString(this, core::mem::transmute_copy(&tag), core::mem::transmute(&str))
}
unsafe extern "system" fn AddExtensionCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, extension: windows_core::PCSTR) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::AddExtensionCommand(this, core::mem::transmute_copy(&tag), core::mem::transmute(&extension))
}
unsafe extern "system" fn AddUlong<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::AddUlong(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn AddUlong64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, value: u64) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::AddUlong64(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&value))
}
unsafe extern "system" fn AddBuffer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, entrytype: FA_ENTRY_TYPE, buf: *const core::ffi::c_void, size: u32) -> *mut FA_ENTRY
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::AddBuffer(this, core::mem::transmute_copy(&tag), core::mem::transmute_copy(&entrytype), core::mem::transmute_copy(&buf), core::mem::transmute_copy(&size))
}
unsafe extern "system" fn GetDebugFATagControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fatagcontrol: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugFailureAnalysis3_Impl::GetDebugFATagControl(this) {
Ok(ok__) => {
fatagcontrol.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAnalysisXml<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppxmldomelement: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugFailureAnalysis3_Impl::GetAnalysisXml(this) {
Ok(ok__) => {
ppxmldomelement.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddStructuredAnalysisData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, tag: DEBUG_FLR_PARAM_TYPE, analysis: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::AddStructuredAnalysisData(this, core::mem::transmute_copy(&tag), windows_core::from_raw_borrowed(&analysis)).into()
}
unsafe extern "system" fn AddThreads<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdebugfailurethreadenum: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::AddThreads(this, windows_core::from_raw_borrowed(&pdebugfailurethreadenum)).into()
}
unsafe extern "system" fn AttributeGet<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nindex: u32, pvalue: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugFailureAnalysis3_Impl::AttributeGet(this, core::mem::transmute_copy(&nindex)) {
Ok(ok__) => {
pvalue.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AttributeGetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nindex: u32, pname: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugFailureAnalysis3_Impl::AttributeGetName(this, core::mem::transmute_copy(&nindex)) {
Ok(ok__) => {
pname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AttributeSet<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nindex: u32, value: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::AttributeSet(this, core::mem::transmute_copy(&nindex), core::mem::transmute(&value)).into()
}
unsafe extern "system" fn BlameApplication<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, postfix: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::BlameApplication(this, core::mem::transmute(&postfix)).into()
}
unsafe extern "system" fn BlameProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, postfix: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::BlameProcess(this, core::mem::transmute(&postfix)).into()
}
unsafe extern "system" fn BlameThread<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pthread: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::BlameThread(this, windows_core::from_raw_borrowed(&pthread)).into()
}
unsafe extern "system" fn BlameStitch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pthread: *mut core::ffi::c_void, stitch: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::BlameStitch(this, windows_core::from_raw_borrowed(&pthread), core::mem::transmute(&stitch)).into()
}
unsafe extern "system" fn BlameTEB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, address: u64) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::BlameTEB(this, core::mem::transmute_copy(&address)).into()
}
unsafe extern "system" fn BlameETHREAD<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, address: u64) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::BlameETHREAD(this, core::mem::transmute_copy(&address)).into()
}
unsafe extern "system" fn ProblemClassIsSet<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nindex: u32, pset: *mut super::super::super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugFailureAnalysis3_Impl::ProblemClassIsSet(this, core::mem::transmute_copy(&nindex)) {
Ok(ok__) => {
pset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ProblemClassDelete<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nindex: u32) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::ProblemClassDelete(this, core::mem::transmute_copy(&nindex)).into()
}
unsafe extern "system" fn ProblemClassSet<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nindex: u32) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::ProblemClassSet(this, core::mem::transmute_copy(&nindex)).into()
}
unsafe extern "system" fn ProblemClassSetBSTR<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nindex: u32, value: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::ProblemClassSetBSTR(this, core::mem::transmute_copy(&nindex), core::mem::transmute(&value)).into()
}
unsafe extern "system" fn SetAdditionalXML<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: core::mem::MaybeUninit<windows_core::BSTR>, pxmldomelement: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::SetAdditionalXML(this, core::mem::transmute(&key), windows_core::from_raw_borrowed(&pxmldomelement)).into()
}
unsafe extern "system" fn GetAdditionalXML<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: core::mem::MaybeUninit<windows_core::BSTR>, ppxmldomelement: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugFailureAnalysis3_Impl::GetAdditionalXML(this, core::mem::transmute(&key)) {
Ok(ok__) => {
ppxmldomelement.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DeleteAdditionalXML<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDebugFailureAnalysis3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugFailureAnalysis3_Impl::DeleteAdditionalXML(this, core::mem::transmute(&key)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetFailureClass: GetFailureClass::<Identity, OFFSET>,
GetFailureType: GetFailureType::<Identity, OFFSET>,
GetFailureCode: GetFailureCode::<Identity, OFFSET>,
Get: Get::<Identity, OFFSET>,
GetNext: GetNext::<Identity, OFFSET>,
GetString: GetString::<Identity, OFFSET>,
GetBuffer: GetBuffer::<Identity, OFFSET>,
GetUlong: GetUlong::<Identity, OFFSET>,
GetUlong64: GetUlong64::<Identity, OFFSET>,
NextEntry: NextEntry::<Identity, OFFSET>,
SetString: SetString::<Identity, OFFSET>,
SetExtensionCommand: SetExtensionCommand::<Identity, OFFSET>,
SetUlong: SetUlong::<Identity, OFFSET>,
SetUlong64: SetUlong64::<Identity, OFFSET>,
SetBuffer: SetBuffer::<Identity, OFFSET>,
AddString: AddString::<Identity, OFFSET>,
AddExtensionCommand: AddExtensionCommand::<Identity, OFFSET>,
AddUlong: AddUlong::<Identity, OFFSET>,
AddUlong64: AddUlong64::<Identity, OFFSET>,
AddBuffer: AddBuffer::<Identity, OFFSET>,
GetDebugFATagControl: GetDebugFATagControl::<Identity, OFFSET>,
GetAnalysisXml: GetAnalysisXml::<Identity, OFFSET>,
AddStructuredAnalysisData: AddStructuredAnalysisData::<Identity, OFFSET>,
AddThreads: AddThreads::<Identity, OFFSET>,
AttributeGet: AttributeGet::<Identity, OFFSET>,
AttributeGetName: AttributeGetName::<Identity, OFFSET>,
AttributeSet: AttributeSet::<Identity, OFFSET>,
BlameApplication: BlameApplication::<Identity, OFFSET>,
BlameProcess: BlameProcess::<Identity, OFFSET>,
BlameThread: BlameThread::<Identity, OFFSET>,
BlameStitch: BlameStitch::<Identity, OFFSET>,
BlameTEB: BlameTEB::<Identity, OFFSET>,
BlameETHREAD: BlameETHREAD::<Identity, OFFSET>,
ProblemClassIsSet: ProblemClassIsSet::<Identity, OFFSET>,
ProblemClassDelete: ProblemClassDelete::<Identity, OFFSET>,
ProblemClassSet: ProblemClassSet::<Identity, OFFSET>,
ProblemClassSetBSTR: ProblemClassSetBSTR::<Identity, OFFSET>,
SetAdditionalXML: SetAdditionalXML::<Identity, OFFSET>,
GetAdditionalXML: GetAdditionalXML::<Identity, OFFSET>,
DeleteAdditionalXML: DeleteAdditionalXML::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugFailureAnalysis3 as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugHost_Vtbl
where
Identity: IDebugHost_Impl,
{
unsafe extern "system" fn GetHostDefinedInterface<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hostunk: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHost_Impl::GetHostDefinedInterface(this) {
Ok(ok__) => {
hostunk.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHost_Impl::GetCurrentContext(this) {
Ok(ok__) => {
context.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDefaultMetadata<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, defaultmetadatastore: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHost_Impl::GetDefaultMetadata(this) {
Ok(ok__) => {
defaultmetadatastore.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetHostDefinedInterface: GetHostDefinedInterface::<Identity, OFFSET>,
GetCurrentContext: GetCurrentContext::<Identity, OFFSET>,
GetDefaultMetadata: GetDefaultMetadata::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHost as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugHostBaseClass_Vtbl
where
Identity: IDebugHostBaseClass_Impl,
{
unsafe extern "system" fn GetOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugHostBaseClass_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostBaseClass_Impl::GetOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IDebugHostSymbol_Vtbl::new::<Identity, OFFSET>(), GetOffset: GetOffset::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostBaseClass as windows_core::Interface>::IID || iid == &<IDebugHostSymbol as windows_core::Interface>::IID
}
}
pub trait IDebugHostConstant_Impl: Sized + IDebugHostSymbol_Impl {
fn GetValue(&self) -> windows_core::Result<windows_core::VARIANT>;
}
impl windows_core::RuntimeName for IDebugHostConstant {}
impl IDebugHostConstant_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugHostConstant_Vtbl
where
Identity: IDebugHostConstant_Impl,
{
unsafe extern "system" fn GetValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IDebugHostConstant_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostConstant_Impl::GetValue(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IDebugHostSymbol_Vtbl::new::<Identity, OFFSET>(), GetValue: GetValue::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostConstant as windows_core::Interface>::IID || iid == &<IDebugHostSymbol as windows_core::Interface>::IID
}
}
pub trait IDebugHostContext_Impl: Sized {
fn IsEqualTo(&self, pcontext: Option<&IDebugHostContext>) -> windows_core::Result<bool>;
}
impl windows_core::RuntimeName for IDebugHostContext {}
impl IDebugHostContext_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugHostContext_Vtbl
where
Identity: IDebugHostContext_Impl,
{
unsafe extern "system" fn IsEqualTo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcontext: *mut core::ffi::c_void, pisequal: *mut bool) -> windows_core::HRESULT
where
Identity: IDebugHostContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostContext_Impl::IsEqualTo(this, windows_core::from_raw_borrowed(&pcontext)) {
Ok(ok__) => {
pisequal.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), IsEqualTo: IsEqualTo::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostContext as windows_core::Interface>::IID
}
}
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<windows_core::VARIANT>;
}
impl windows_core::RuntimeName for IDebugHostData {}
impl IDebugHostData_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugHostData_Vtbl
where
Identity: IDebugHostData_Impl,
{
unsafe extern "system" fn GetLocationKind<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, locationkind: *mut LocationKind) -> windows_core::HRESULT
where
Identity: IDebugHostData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostData_Impl::GetLocationKind(this) {
Ok(ok__) => {
locationkind.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, location: *mut Location) -> windows_core::HRESULT
where
Identity: IDebugHostData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostData_Impl::GetLocation(this) {
Ok(ok__) => {
location.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IDebugHostData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostData_Impl::GetValue(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IDebugHostSymbol_Vtbl::new::<Identity, OFFSET>(),
GetLocationKind: GetLocationKind::<Identity, OFFSET>,
GetLocation: GetLocation::<Identity, OFFSET>,
GetValue: GetValue::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostData as windows_core::Interface>::IID || iid == &<IDebugHostSymbol as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugHostErrorSink_Vtbl
where
Identity: IDebugHostErrorSink_Impl,
{
unsafe extern "system" fn ReportError<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, errclass: ErrorClass, hrerror: windows_core::HRESULT, message: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugHostErrorSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostErrorSink_Impl::ReportError(this, 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, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostErrorSink as windows_core::Interface>::IID
}
}
pub trait IDebugHostEvaluator_Impl: Sized {
fn EvaluateExpression(&self, context: Option<&IDebugHostContext>, expression: &windows_core::PCWSTR, bindingcontext: Option<&IModelObject>, result: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
fn EvaluateExtendedExpression(&self, context: Option<&IDebugHostContext>, expression: &windows_core::PCWSTR, bindingcontext: Option<&IModelObject>, result: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IDebugHostEvaluator {}
impl IDebugHostEvaluator_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugHostEvaluator_Vtbl
where
Identity: IDebugHostEvaluator_Impl,
{
unsafe extern "system" fn EvaluateExpression<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostEvaluator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostEvaluator_Impl::EvaluateExpression(this, 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, 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
where
Identity: IDebugHostEvaluator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostEvaluator_Impl::EvaluateExtendedExpression(this, 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, OFFSET>,
EvaluateExtendedExpression: EvaluateExtendedExpression::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostEvaluator as windows_core::Interface>::IID
}
}
pub trait IDebugHostEvaluator2_Impl: Sized + IDebugHostEvaluator_Impl {
fn AssignTo(&self, assignmentreference: Option<&IModelObject>, assignmentvalue: Option<&IModelObject>, assignmentresult: *mut Option<IModelObject>, assignmentmetadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IDebugHostEvaluator2 {}
impl IDebugHostEvaluator2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugHostEvaluator2_Vtbl
where
Identity: IDebugHostEvaluator2_Impl,
{
unsafe extern "system" fn AssignTo<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostEvaluator2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostEvaluator2_Impl::AssignTo(this, 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, OFFSET>(), AssignTo: AssignTo::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostEvaluator2 as windows_core::Interface>::IID || iid == &<IDebugHostEvaluator as windows_core::Interface>::IID
}
}
pub trait IDebugHostExtensibility_Impl: Sized {
fn CreateFunctionAlias(&self, aliasname: &windows_core::PCWSTR, functionobject: 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, const OFFSET: isize>() -> IDebugHostExtensibility_Vtbl
where
Identity: IDebugHostExtensibility_Impl,
{
unsafe extern "system" fn CreateFunctionAlias<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, aliasname: windows_core::PCWSTR, functionobject: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostExtensibility_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostExtensibility_Impl::CreateFunctionAlias(this, core::mem::transmute(&aliasname), windows_core::from_raw_borrowed(&functionobject)).into()
}
unsafe extern "system" fn DestroyFunctionAlias<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, aliasname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugHostExtensibility_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostExtensibility_Impl::DestroyFunctionAlias(this, core::mem::transmute(&aliasname)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CreateFunctionAlias: CreateFunctionAlias::<Identity, OFFSET>,
DestroyFunctionAlias: DestroyFunctionAlias::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostExtensibility as windows_core::Interface>::IID
}
}
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<windows_core::VARIANT>;
}
impl windows_core::RuntimeName for IDebugHostField {}
impl IDebugHostField_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugHostField_Vtbl
where
Identity: IDebugHostField_Impl,
{
unsafe extern "system" fn GetLocationKind<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, locationkind: *mut LocationKind) -> windows_core::HRESULT
where
Identity: IDebugHostField_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostField_Impl::GetLocationKind(this) {
Ok(ok__) => {
locationkind.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugHostField_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostField_Impl::GetOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, location: *mut Location) -> windows_core::HRESULT
where
Identity: IDebugHostField_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostField_Impl::GetLocation(this) {
Ok(ok__) => {
location.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IDebugHostField_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostField_Impl::GetValue(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IDebugHostSymbol_Vtbl::new::<Identity, OFFSET>(),
GetLocationKind: GetLocationKind::<Identity, OFFSET>,
GetOffset: GetOffset::<Identity, OFFSET>,
GetLocation: GetLocation::<Identity, OFFSET>,
GetValue: GetValue::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostField as windows_core::Interface>::IID || iid == &<IDebugHostSymbol as windows_core::Interface>::IID
}
}
pub trait IDebugHostMemory_Impl: Sized {
fn ReadBytes(&self, context: Option<&IDebugHostContext>, location: &Location, buffer: *mut core::ffi::c_void, buffersize: u64, bytesread: *mut u64) -> windows_core::Result<()>;
fn WriteBytes(&self, context: Option<&IDebugHostContext>, location: &Location, buffer: *const core::ffi::c_void, buffersize: u64, byteswritten: *mut u64) -> windows_core::Result<()>;
fn ReadPointers(&self, context: Option<&IDebugHostContext>, location: &Location, count: u64, pointers: *mut u64) -> windows_core::Result<()>;
fn WritePointers(&self, context: Option<&IDebugHostContext>, location: &Location, count: u64, pointers: *const u64) -> windows_core::Result<()>;
fn GetDisplayStringForLocation(&self, context: 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, const OFFSET: isize>() -> IDebugHostMemory_Vtbl
where
Identity: IDebugHostMemory_Impl,
{
unsafe extern "system" fn ReadBytes<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostMemory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostMemory_Impl::ReadBytes(this, 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, 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
where
Identity: IDebugHostMemory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostMemory_Impl::WriteBytes(this, 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, 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
where
Identity: IDebugHostMemory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostMemory_Impl::ReadPointers(this, 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, 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
where
Identity: IDebugHostMemory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostMemory_Impl::WritePointers(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *mut core::ffi::c_void, location: Location, verbose: u8, locationname: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDebugHostMemory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostMemory_Impl::GetDisplayStringForLocation(this, windows_core::from_raw_borrowed(&context), core::mem::transmute(&location), core::mem::transmute_copy(&verbose)) {
Ok(ok__) => {
locationname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ReadBytes: ReadBytes::<Identity, OFFSET>,
WriteBytes: WriteBytes::<Identity, OFFSET>,
ReadPointers: ReadPointers::<Identity, OFFSET>,
WritePointers: WritePointers::<Identity, OFFSET>,
GetDisplayStringForLocation: GetDisplayStringForLocation::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostMemory as windows_core::Interface>::IID
}
}
pub trait IDebugHostMemory2_Impl: Sized + IDebugHostMemory_Impl {
fn LinearizeLocation(&self, context: 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, const OFFSET: isize>() -> IDebugHostMemory2_Vtbl
where
Identity: IDebugHostMemory2_Impl,
{
unsafe extern "system" fn LinearizeLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *mut core::ffi::c_void, location: Location, plinearizedlocation: *mut Location) -> windows_core::HRESULT
where
Identity: IDebugHostMemory2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostMemory2_Impl::LinearizeLocation(this, windows_core::from_raw_borrowed(&context), core::mem::transmute(&location)) {
Ok(ok__) => {
plinearizedlocation.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IDebugHostMemory_Vtbl::new::<Identity, OFFSET>(), LinearizeLocation: LinearizeLocation::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostMemory2 as windows_core::Interface>::IID || iid == &<IDebugHostMemory as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugHostModule_Vtbl
where
Identity: IDebugHostModule_Impl,
{
unsafe extern "system" fn GetImageName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, allowpath: u8, imagename: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDebugHostModule_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostModule_Impl::GetImageName(this, core::mem::transmute_copy(&allowpath)) {
Ok(ok__) => {
imagename.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBaseLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, modulebaselocation: *mut Location) -> windows_core::HRESULT
where
Identity: IDebugHostModule_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostModule_Impl::GetBaseLocation(this) {
Ok(ok__) => {
modulebaselocation.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetVersion<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fileversion: *mut u64, productversion: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugHostModule_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostModule_Impl::GetVersion(this, core::mem::transmute_copy(&fileversion), core::mem::transmute_copy(&productversion)).into()
}
unsafe extern "system" fn FindTypeByName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, typename: windows_core::PCWSTR, r#type: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostModule_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostModule_Impl::FindTypeByName(this, core::mem::transmute(&typename)) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FindSymbolByRVA<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rva: u64, symbol: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostModule_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostModule_Impl::FindSymbolByRVA(this, core::mem::transmute_copy(&rva)) {
Ok(ok__) => {
symbol.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FindSymbolByName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbolname: windows_core::PCWSTR, symbol: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostModule_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostModule_Impl::FindSymbolByName(this, core::mem::transmute(&symbolname)) {
Ok(ok__) => {
symbol.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IDebugHostSymbol_Vtbl::new::<Identity, OFFSET>(),
GetImageName: GetImageName::<Identity, OFFSET>,
GetBaseLocation: GetBaseLocation::<Identity, OFFSET>,
GetVersion: GetVersion::<Identity, OFFSET>,
FindTypeByName: FindTypeByName::<Identity, OFFSET>,
FindSymbolByRVA: FindSymbolByRVA::<Identity, OFFSET>,
FindSymbolByName: FindSymbolByName::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostModule as windows_core::Interface>::IID || iid == &<IDebugHostSymbol as windows_core::Interface>::IID
}
}
pub trait IDebugHostModule2_Impl: Sized + IDebugHostModule_Impl {
fn FindContainingSymbolByRVA(&self, rva: u64, symbol: *mut 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, const OFFSET: isize>() -> IDebugHostModule2_Vtbl
where
Identity: IDebugHostModule2_Impl,
{
unsafe extern "system" fn FindContainingSymbolByRVA<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rva: u64, symbol: *mut *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugHostModule2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostModule2_Impl::FindContainingSymbolByRVA(this, core::mem::transmute_copy(&rva), core::mem::transmute_copy(&symbol), core::mem::transmute_copy(&offset)).into()
}
Self { base__: IDebugHostModule_Vtbl::new::<Identity, OFFSET>(), FindContainingSymbolByRVA: FindContainingSymbolByRVA::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostModule2 as windows_core::Interface>::IID || iid == &<IDebugHostSymbol as windows_core::Interface>::IID || iid == &<IDebugHostModule as windows_core::Interface>::IID
}
}
pub trait IDebugHostModuleSignature_Impl: Sized {
fn IsMatch(&self, pmodule: Option<&IDebugHostModule>) -> windows_core::Result<bool>;
}
impl windows_core::RuntimeName for IDebugHostModuleSignature {}
impl IDebugHostModuleSignature_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugHostModuleSignature_Vtbl
where
Identity: IDebugHostModuleSignature_Impl,
{
unsafe extern "system" fn IsMatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmodule: *mut core::ffi::c_void, ismatch: *mut bool) -> windows_core::HRESULT
where
Identity: IDebugHostModuleSignature_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostModuleSignature_Impl::IsMatch(this, windows_core::from_raw_borrowed(&pmodule)) {
Ok(ok__) => {
ismatch.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), IsMatch: IsMatch::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostModuleSignature as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugHostPublic_Vtbl
where
Identity: IDebugHostPublic_Impl,
{
unsafe extern "system" fn GetLocationKind<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, locationkind: *mut LocationKind) -> windows_core::HRESULT
where
Identity: IDebugHostPublic_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostPublic_Impl::GetLocationKind(this) {
Ok(ok__) => {
locationkind.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, location: *mut Location) -> windows_core::HRESULT
where
Identity: IDebugHostPublic_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostPublic_Impl::GetLocation(this) {
Ok(ok__) => {
location.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IDebugHostSymbol_Vtbl::new::<Identity, OFFSET>(),
GetLocationKind: GetLocationKind::<Identity, OFFSET>,
GetLocation: GetLocation::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostPublic as windows_core::Interface>::IID || iid == &<IDebugHostSymbol as windows_core::Interface>::IID
}
}
pub trait IDebugHostScriptHost_Impl: Sized {
fn CreateContext(&self, script: Option<&IDataModelScript>) -> windows_core::Result<IDataModelScriptHostContext>;
}
impl windows_core::RuntimeName for IDebugHostScriptHost {}
impl IDebugHostScriptHost_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugHostScriptHost_Vtbl
where
Identity: IDebugHostScriptHost_Impl,
{
unsafe extern "system" fn CreateContext<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostScriptHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostScriptHost_Impl::CreateContext(this, windows_core::from_raw_borrowed(&script)) {
Ok(ok__) => {
scriptcontext.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CreateContext: CreateContext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostScriptHost as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugHostStatus_Vtbl
where
Identity: IDebugHostStatus_Impl,
{
unsafe extern "system" fn PollUserInterrupt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, interruptrequested: *mut bool) -> windows_core::HRESULT
where
Identity: IDebugHostStatus_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostStatus_Impl::PollUserInterrupt(this) {
Ok(ok__) => {
interruptrequested.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), PollUserInterrupt: PollUserInterrupt::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostStatus as windows_core::Interface>::IID
}
}
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: 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, const OFFSET: isize>() -> IDebugHostSymbol_Vtbl
where
Identity: IDebugHostSymbol_Impl,
{
unsafe extern "system" fn GetContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostSymbol_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbol_Impl::GetContext(this) {
Ok(ok__) => {
context.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateChildren<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostSymbol_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbol_Impl::EnumerateChildren(this, core::mem::transmute_copy(&kind), core::mem::transmute(&name)) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolKind<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, kind: *mut SymbolKind) -> windows_core::HRESULT
where
Identity: IDebugHostSymbol_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbol_Impl::GetSymbolKind(this) {
Ok(ok__) => {
kind.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbolname: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IDebugHostSymbol_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbol_Impl::GetName(this) {
Ok(ok__) => {
symbolname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostSymbol_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbol_Impl::GetType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContainingModule<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, containingmodule: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostSymbol_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbol_Impl::GetContainingModule(this) {
Ok(ok__) => {
containingmodule.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CompareAgainst<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcomparisonsymbol: *mut core::ffi::c_void, comparisonflags: u32, pmatches: *mut bool) -> windows_core::HRESULT
where
Identity: IDebugHostSymbol_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbol_Impl::CompareAgainst(this, windows_core::from_raw_borrowed(&pcomparisonsymbol), core::mem::transmute_copy(&comparisonflags)) {
Ok(ok__) => {
pmatches.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetContext: GetContext::<Identity, OFFSET>,
EnumerateChildren: EnumerateChildren::<Identity, OFFSET>,
GetSymbolKind: GetSymbolKind::<Identity, OFFSET>,
GetName: GetName::<Identity, OFFSET>,
GetType: GetType::<Identity, OFFSET>,
GetContainingModule: GetContainingModule::<Identity, OFFSET>,
CompareAgainst: CompareAgainst::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostSymbol as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugHostSymbol2_Vtbl
where
Identity: IDebugHostSymbol2_Impl,
{
unsafe extern "system" fn GetLanguage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pkind: *mut LanguageKind) -> windows_core::HRESULT
where
Identity: IDebugHostSymbol2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbol2_Impl::GetLanguage(this) {
Ok(ok__) => {
pkind.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IDebugHostSymbol_Vtbl::new::<Identity, OFFSET>(), GetLanguage: GetLanguage::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostSymbol2 as windows_core::Interface>::IID || iid == &<IDebugHostSymbol as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugHostSymbolEnumerator_Vtbl
where
Identity: IDebugHostSymbolEnumerator_Impl,
{
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostSymbolEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostSymbolEnumerator_Impl::Reset(this).into()
}
unsafe extern "system" fn GetNext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostSymbolEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbolEnumerator_Impl::GetNext(this) {
Ok(ok__) => {
symbol.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Reset: Reset::<Identity, OFFSET>, GetNext: GetNext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostSymbolEnumerator as windows_core::Interface>::IID
}
}
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: 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: Option<&IDebugHostContext>) -> windows_core::Result<IDebugHostSymbolEnumerator>;
fn FindModuleByName(&self, context: Option<&IDebugHostContext>, modulename: &windows_core::PCWSTR) -> windows_core::Result<IDebugHostModule>;
fn FindModuleByLocation(&self, context: Option<&IDebugHostContext>, modulelocation: &Location) -> windows_core::Result<IDebugHostModule>;
fn GetMostDerivedObject(&self, pcontext: Option<&IDebugHostContext>, location: &Location, objecttype: Option<&IDebugHostType>, derivedlocation: *mut Location, derivedtype: *mut Option<IDebugHostType>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IDebugHostSymbols {}
impl IDebugHostSymbols_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugHostSymbols_Vtbl
where
Identity: IDebugHostSymbols_Impl,
{
unsafe extern "system" fn CreateModuleSignature<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbols_Impl::CreateModuleSignature(this, core::mem::transmute(&pwszmodulename), core::mem::transmute(&pwszminversion), core::mem::transmute(&pwszmaxversion)) {
Ok(ok__) => {
ppmodulesignature.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypeSignature<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbols_Impl::CreateTypeSignature(this, core::mem::transmute(&signaturespecification), windows_core::from_raw_borrowed(&module)) {
Ok(ok__) => {
typesignature.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateTypeSignatureForModuleRange<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbols_Impl::CreateTypeSignatureForModuleRange(this, core::mem::transmute(&signaturespecification), core::mem::transmute(&modulename), core::mem::transmute(&minversion), core::mem::transmute(&maxversion)) {
Ok(ok__) => {
typesignature.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateModules<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbols_Impl::EnumerateModules(this, windows_core::from_raw_borrowed(&context)) {
Ok(ok__) => {
moduleenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FindModuleByName<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbols_Impl::FindModuleByName(this, windows_core::from_raw_borrowed(&context), core::mem::transmute(&modulename)) {
Ok(ok__) => {
module.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FindModuleByLocation<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostSymbols_Impl::FindModuleByLocation(this, windows_core::from_raw_borrowed(&context), core::mem::transmute(&modulelocation)) {
Ok(ok__) => {
module.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMostDerivedObject<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostSymbols_Impl::GetMostDerivedObject(this, 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, OFFSET>,
CreateTypeSignature: CreateTypeSignature::<Identity, OFFSET>,
CreateTypeSignatureForModuleRange: CreateTypeSignatureForModuleRange::<Identity, OFFSET>,
EnumerateModules: EnumerateModules::<Identity, OFFSET>,
FindModuleByName: FindModuleByName::<Identity, OFFSET>,
FindModuleByLocation: FindModuleByLocation::<Identity, OFFSET>,
GetMostDerivedObject: GetMostDerivedObject::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostSymbols as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugHostType_Vtbl
where
Identity: IDebugHostType_Impl,
{
unsafe extern "system" fn GetTypeKind<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, kind: *mut TypeKind) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetTypeKind(this) {
Ok(ok__) => {
kind.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, size: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetSize(this) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBaseType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, basetype: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetBaseType(this) {
Ok(ok__) => {
basetype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetHashCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hashcode: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetHashCode(this) {
Ok(ok__) => {
hashcode.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIntrinsicType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, intrinsickind: *mut IntrinsicKind, carriertype: *mut u16) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostType_Impl::GetIntrinsicType(this, core::mem::transmute_copy(&intrinsickind), core::mem::transmute_copy(&carriertype)).into()
}
unsafe extern "system" fn GetBitField<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lsboffield: *mut u32, lengthoffield: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostType_Impl::GetBitField(this, core::mem::transmute_copy(&lsboffield), core::mem::transmute_copy(&lengthoffield)).into()
}
unsafe extern "system" fn GetPointerKind<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pointerkind: *mut PointerKind) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetPointerKind(this) {
Ok(ok__) => {
pointerkind.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMemberType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, membertype: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetMemberType(this) {
Ok(ok__) => {
membertype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreatePointerTo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, kind: PointerKind, newtype: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::CreatePointerTo(this, core::mem::transmute_copy(&kind)) {
Ok(ok__) => {
newtype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetArrayDimensionality<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, arraydimensionality: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetArrayDimensionality(this) {
Ok(ok__) => {
arraydimensionality.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetArrayDimensions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dimensions: u64, pdimensions: *mut ArrayDimension) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostType_Impl::GetArrayDimensions(this, core::mem::transmute_copy(&dimensions), core::mem::transmute_copy(&pdimensions)).into()
}
unsafe extern "system" fn CreateArrayOf<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dimensions: u64, pdimensions: *const ArrayDimension, newtype: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::CreateArrayOf(this, core::mem::transmute_copy(&dimensions), core::mem::transmute_copy(&pdimensions)) {
Ok(ok__) => {
newtype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionCallingConvention<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, conventionkind: *mut CallingConventionKind) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetFunctionCallingConvention(this) {
Ok(ok__) => {
conventionkind.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionReturnType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, returntype: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetFunctionReturnType(this) {
Ok(ok__) => {
returntype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionParameterTypeCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetFunctionParameterTypeCount(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionParameterTypeAt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, i: u64, parametertype: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetFunctionParameterTypeAt(this, core::mem::transmute_copy(&i)) {
Ok(ok__) => {
parametertype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsGeneric<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, isgeneric: *mut bool) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::IsGeneric(this) {
Ok(ok__) => {
isgeneric.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetGenericArgumentCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, argcount: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetGenericArgumentCount(this) {
Ok(ok__) => {
argcount.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetGenericArgumentAt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, i: u64, argument: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostType_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType_Impl::GetGenericArgumentAt(this, core::mem::transmute_copy(&i)) {
Ok(ok__) => {
argument.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IDebugHostSymbol_Vtbl::new::<Identity, OFFSET>(),
GetTypeKind: GetTypeKind::<Identity, OFFSET>,
GetSize: GetSize::<Identity, OFFSET>,
GetBaseType: GetBaseType::<Identity, OFFSET>,
GetHashCode: GetHashCode::<Identity, OFFSET>,
GetIntrinsicType: GetIntrinsicType::<Identity, OFFSET>,
GetBitField: GetBitField::<Identity, OFFSET>,
GetPointerKind: GetPointerKind::<Identity, OFFSET>,
GetMemberType: GetMemberType::<Identity, OFFSET>,
CreatePointerTo: CreatePointerTo::<Identity, OFFSET>,
GetArrayDimensionality: GetArrayDimensionality::<Identity, OFFSET>,
GetArrayDimensions: GetArrayDimensions::<Identity, OFFSET>,
CreateArrayOf: CreateArrayOf::<Identity, OFFSET>,
GetFunctionCallingConvention: GetFunctionCallingConvention::<Identity, OFFSET>,
GetFunctionReturnType: GetFunctionReturnType::<Identity, OFFSET>,
GetFunctionParameterTypeCount: GetFunctionParameterTypeCount::<Identity, OFFSET>,
GetFunctionParameterTypeAt: GetFunctionParameterTypeAt::<Identity, OFFSET>,
IsGeneric: IsGeneric::<Identity, OFFSET>,
GetGenericArgumentCount: GetGenericArgumentCount::<Identity, OFFSET>,
GetGenericArgumentAt: GetGenericArgumentAt::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostType as windows_core::Interface>::IID || iid == &<IDebugHostSymbol as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugHostType2_Vtbl
where
Identity: IDebugHostType2_Impl,
{
unsafe extern "system" fn IsTypedef<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, istypedef: *mut bool) -> windows_core::HRESULT
where
Identity: IDebugHostType2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType2_Impl::IsTypedef(this) {
Ok(ok__) => {
istypedef.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypedefBaseType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, basetype: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostType2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType2_Impl::GetTypedefBaseType(this) {
Ok(ok__) => {
basetype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypedefFinalBaseType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, finalbasetype: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostType2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType2_Impl::GetTypedefFinalBaseType(this) {
Ok(ok__) => {
finalbasetype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionVarArgsKind<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, varargskind: *mut VarArgsKind) -> windows_core::HRESULT
where
Identity: IDebugHostType2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType2_Impl::GetFunctionVarArgsKind(this) {
Ok(ok__) => {
varargskind.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFunctionInstancePointerType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, instancepointertype: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugHostType2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostType2_Impl::GetFunctionInstancePointerType(this) {
Ok(ok__) => {
instancepointertype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IDebugHostType_Vtbl::new::<Identity, OFFSET>(),
IsTypedef: IsTypedef::<Identity, OFFSET>,
GetTypedefBaseType: GetTypedefBaseType::<Identity, OFFSET>,
GetTypedefFinalBaseType: GetTypedefFinalBaseType::<Identity, OFFSET>,
GetFunctionVarArgsKind: GetFunctionVarArgsKind::<Identity, OFFSET>,
GetFunctionInstancePointerType: GetFunctionInstancePointerType::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostType2 as windows_core::Interface>::IID || iid == &<IDebugHostSymbol as windows_core::Interface>::IID || iid == &<IDebugHostType as windows_core::Interface>::IID
}
}
pub trait IDebugHostTypeSignature_Impl: Sized {
fn GetHashCode(&self) -> windows_core::Result<u32>;
fn IsMatch(&self, r#type: Option<&IDebugHostType>, ismatch: *mut bool, wildcardmatches: *mut Option<IDebugHostSymbolEnumerator>) -> windows_core::Result<()>;
fn CompareAgainst(&self, typesignature: Option<&IDebugHostTypeSignature>) -> windows_core::Result<SignatureComparison>;
}
impl windows_core::RuntimeName for IDebugHostTypeSignature {}
impl IDebugHostTypeSignature_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugHostTypeSignature_Vtbl
where
Identity: IDebugHostTypeSignature_Impl,
{
unsafe extern "system" fn GetHashCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hashcode: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugHostTypeSignature_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostTypeSignature_Impl::GetHashCode(this) {
Ok(ok__) => {
hashcode.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsMatch<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugHostTypeSignature_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugHostTypeSignature_Impl::IsMatch(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, typesignature: *mut core::ffi::c_void, result: *mut SignatureComparison) -> windows_core::HRESULT
where
Identity: IDebugHostTypeSignature_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugHostTypeSignature_Impl::CompareAgainst(this, windows_core::from_raw_borrowed(&typesignature)) {
Ok(ok__) => {
result.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetHashCode: GetHashCode::<Identity, OFFSET>,
IsMatch: IsMatch::<Identity, OFFSET>,
CompareAgainst: CompareAgainst::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugHostTypeSignature as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugInputCallbacks_Vtbl
where
Identity: IDebugInputCallbacks_Impl,
{
unsafe extern "system" fn StartInput<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffersize: u32) -> windows_core::HRESULT
where
Identity: IDebugInputCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugInputCallbacks_Impl::StartInput(this, core::mem::transmute_copy(&buffersize)).into()
}
unsafe extern "system" fn EndInput<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugInputCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugInputCallbacks_Impl::EndInput(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
StartInput: StartInput::<Identity, OFFSET>,
EndInput: EndInput::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugInputCallbacks as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugOutputCallbacks_Vtbl
where
Identity: IDebugOutputCallbacks_Impl,
{
unsafe extern "system" fn Output<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, text: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugOutputCallbacks_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugOutputCallbacks_Impl::Output(this, core::mem::transmute_copy(&mask), core::mem::transmute(&text)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Output: Output::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugOutputCallbacks as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugOutputCallbacks2_Vtbl
where
Identity: IDebugOutputCallbacks2_Impl,
{
unsafe extern "system" fn Output<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, text: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugOutputCallbacks2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugOutputCallbacks2_Impl::Output(this, core::mem::transmute_copy(&mask), core::mem::transmute(&text)).into()
}
unsafe extern "system" fn GetInterestMask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugOutputCallbacks2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugOutputCallbacks2_Impl::GetInterestMask(this) {
Ok(ok__) => {
mask.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Output2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, which: u32, flags: u32, arg: u64, text: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugOutputCallbacks2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugOutputCallbacks2_Impl::Output2(this, 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, OFFSET>,
GetInterestMask: GetInterestMask::<Identity, OFFSET>,
Output2: Output2::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugOutputCallbacks2 as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugOutputCallbacksWide_Vtbl
where
Identity: IDebugOutputCallbacksWide_Impl,
{
unsafe extern "system" fn Output<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mask: u32, text: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugOutputCallbacksWide_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugOutputCallbacksWide_Impl::Output(this, core::mem::transmute_copy(&mask), core::mem::transmute(&text)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Output: Output::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugOutputCallbacksWide as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugOutputStream_Vtbl
where
Identity: IDebugOutputStream_Impl,
{
unsafe extern "system" fn Write<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psz: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugOutputStream_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugOutputStream_Impl::Write(this, core::mem::transmute(&psz)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Write: Write::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugOutputStream as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugPlmClient_Vtbl
where
Identity: IDebugPlmClient_Impl,
{
unsafe extern "system" fn LaunchPlmPackageForDebugWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugPlmClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient_Impl::LaunchPlmPackageForDebugWide(this, 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, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugPlmClient as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugPlmClient2_Vtbl
where
Identity: IDebugPlmClient2_Impl,
{
unsafe extern "system" fn LaunchPlmPackageForDebugWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugPlmClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient2_Impl::LaunchPlmPackageForDebugWide(this, 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, 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
where
Identity: IDebugPlmClient2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient2_Impl::LaunchPlmBgTaskForDebugWide(this, 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, OFFSET>,
LaunchPlmBgTaskForDebugWide: LaunchPlmBgTaskForDebugWide::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugPlmClient2 as windows_core::Interface>::IID
}
}
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: Option<&IDebugOutputStream>) -> windows_core::Result<()>;
fn QueryPlmPackageList(&self, server: u64, stream: 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, const OFFSET: isize>() -> IDebugPlmClient3_Vtbl
where
Identity: IDebugPlmClient3_Impl,
{
unsafe extern "system" fn LaunchPlmPackageForDebugWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugPlmClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient3_Impl::LaunchPlmPackageForDebugWide(this, 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, 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
where
Identity: IDebugPlmClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient3_Impl::LaunchPlmBgTaskForDebugWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, packagefullname: windows_core::PCWSTR, stream: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugPlmClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient3_Impl::QueryPlmPackageWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, stream: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugPlmClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient3_Impl::QueryPlmPackageList(this, core::mem::transmute_copy(&server), windows_core::from_raw_borrowed(&stream)).into()
}
unsafe extern "system" fn EnablePlmPackageDebugWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugPlmClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient3_Impl::EnablePlmPackageDebugWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn DisablePlmPackageDebugWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugPlmClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient3_Impl::DisablePlmPackageDebugWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn SuspendPlmPackageWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugPlmClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient3_Impl::SuspendPlmPackageWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn ResumePlmPackageWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugPlmClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient3_Impl::ResumePlmPackageWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn TerminatePlmPackageWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugPlmClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient3_Impl::TerminatePlmPackageWide(this, core::mem::transmute_copy(&server), core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn LaunchAndDebugPlmAppWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugPlmClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient3_Impl::LaunchAndDebugPlmAppWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, packagefullname: windows_core::PCWSTR, backgroundtaskid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugPlmClient3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugPlmClient3_Impl::ActivateAndDebugPlmBgTaskWide(this, 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, OFFSET>,
LaunchPlmBgTaskForDebugWide: LaunchPlmBgTaskForDebugWide::<Identity, OFFSET>,
QueryPlmPackageWide: QueryPlmPackageWide::<Identity, OFFSET>,
QueryPlmPackageList: QueryPlmPackageList::<Identity, OFFSET>,
EnablePlmPackageDebugWide: EnablePlmPackageDebugWide::<Identity, OFFSET>,
DisablePlmPackageDebugWide: DisablePlmPackageDebugWide::<Identity, OFFSET>,
SuspendPlmPackageWide: SuspendPlmPackageWide::<Identity, OFFSET>,
ResumePlmPackageWide: ResumePlmPackageWide::<Identity, OFFSET>,
TerminatePlmPackageWide: TerminatePlmPackageWide::<Identity, OFFSET>,
LaunchAndDebugPlmAppWide: LaunchAndDebugPlmAppWide::<Identity, OFFSET>,
ActivateAndDebugPlmBgTaskWide: ActivateAndDebugPlmBgTaskWide::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugPlmClient3 as windows_core::Interface>::IID
}
}
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>;
}
impl windows_core::RuntimeName for IDebugRegisters {}
impl IDebugRegisters_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugRegisters_Vtbl
where
Identity: IDebugRegisters_Impl,
{
unsafe extern "system" fn GetNumberRegisters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugRegisters_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters_Impl::GetNumberRegisters(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugRegisters_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters_Impl::GetDescription(this, core::mem::transmute_copy(®ister), 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, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugRegisters_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters_Impl::GetIndexByName(this, core::mem::transmute(&name)) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, register: u32, value: *mut DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugRegisters_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters_Impl::GetValue(this, core::mem::transmute_copy(®ister), core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn SetValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, register: u32, value: *const DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugRegisters_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters_Impl::SetValue(this, core::mem::transmute_copy(®ister), core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn GetValues<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, indices: *const u32, start: u32, values: *mut DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugRegisters_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters_Impl::GetValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, indices: *const u32, start: u32, values: *const DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugRegisters_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters_Impl::SetValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugRegisters_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters_Impl::OutputRegisters(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInstructionOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugRegisters_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters_Impl::GetInstructionOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugRegisters_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters_Impl::GetStackOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFrameOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugRegisters_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters_Impl::GetFrameOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetNumberRegisters: GetNumberRegisters::<Identity, OFFSET>,
GetDescription: GetDescription::<Identity, OFFSET>,
GetIndexByName: GetIndexByName::<Identity, OFFSET>,
GetValue: GetValue::<Identity, OFFSET>,
SetValue: SetValue::<Identity, OFFSET>,
GetValues: GetValues::<Identity, OFFSET>,
SetValues: SetValues::<Identity, OFFSET>,
OutputRegisters: OutputRegisters::<Identity, OFFSET>,
GetInstructionOffset: GetInstructionOffset::<Identity, OFFSET>,
GetStackOffset: GetStackOffset::<Identity, OFFSET>,
GetFrameOffset: GetFrameOffset::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugRegisters as windows_core::Interface>::IID
}
}
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>;
}
impl windows_core::RuntimeName for IDebugRegisters2 {}
impl IDebugRegisters2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugRegisters2_Vtbl
where
Identity: IDebugRegisters2_Impl,
{
unsafe extern "system" fn GetNumberRegisters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetNumberRegisters(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::GetDescription(this, core::mem::transmute_copy(®ister), 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, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetIndexByName(this, core::mem::transmute(&name)) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, register: u32, value: *mut DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::GetValue(this, core::mem::transmute_copy(®ister), core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn SetValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, register: u32, value: *const DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::SetValue(this, core::mem::transmute_copy(®ister), core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn GetValues<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, indices: *const u32, start: u32, values: *mut DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::GetValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, indices: *const u32, start: u32, values: *const DEBUG_VALUE) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::SetValues(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::OutputRegisters(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn GetInstructionOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetInstructionOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetStackOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFrameOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetFrameOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescriptionWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::GetDescriptionWide(this, core::mem::transmute_copy(®ister), 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, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCWSTR, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetIndexByNameWide(this, core::mem::transmute(&name)) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberPseudoRegisters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetNumberPseudoRegisters(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPseudoDescription<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::GetPseudoDescription(this, core::mem::transmute_copy(®ister), 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, 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
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::GetPseudoDescriptionWide(this, core::mem::transmute_copy(®ister), 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, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetPseudoIndexByName(this, core::mem::transmute(&name)) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPseudoIndexByNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCWSTR, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetPseudoIndexByNameWide(this, core::mem::transmute(&name)) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPseudoValues<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::GetPseudoValues(this, 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, 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
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::SetPseudoValues(this, 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, 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
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::GetValues2(this, 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, 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
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::SetValues2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, source: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugRegisters2_Impl::OutputRegisters2(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, source: u32, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetInstructionOffset2(this, core::mem::transmute_copy(&source)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStackOffset2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, source: u32, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetStackOffset2(this, core::mem::transmute_copy(&source)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFrameOffset2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, source: u32, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugRegisters2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugRegisters2_Impl::GetFrameOffset2(this, core::mem::transmute_copy(&source)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetNumberRegisters: GetNumberRegisters::<Identity, OFFSET>,
GetDescription: GetDescription::<Identity, OFFSET>,
GetIndexByName: GetIndexByName::<Identity, OFFSET>,
GetValue: GetValue::<Identity, OFFSET>,
SetValue: SetValue::<Identity, OFFSET>,
GetValues: GetValues::<Identity, OFFSET>,
SetValues: SetValues::<Identity, OFFSET>,
OutputRegisters: OutputRegisters::<Identity, OFFSET>,
GetInstructionOffset: GetInstructionOffset::<Identity, OFFSET>,
GetStackOffset: GetStackOffset::<Identity, OFFSET>,
GetFrameOffset: GetFrameOffset::<Identity, OFFSET>,
GetDescriptionWide: GetDescriptionWide::<Identity, OFFSET>,
GetIndexByNameWide: GetIndexByNameWide::<Identity, OFFSET>,
GetNumberPseudoRegisters: GetNumberPseudoRegisters::<Identity, OFFSET>,
GetPseudoDescription: GetPseudoDescription::<Identity, OFFSET>,
GetPseudoDescriptionWide: GetPseudoDescriptionWide::<Identity, OFFSET>,
GetPseudoIndexByName: GetPseudoIndexByName::<Identity, OFFSET>,
GetPseudoIndexByNameWide: GetPseudoIndexByNameWide::<Identity, OFFSET>,
GetPseudoValues: GetPseudoValues::<Identity, OFFSET>,
SetPseudoValues: SetPseudoValues::<Identity, OFFSET>,
GetValues2: GetValues2::<Identity, OFFSET>,
SetValues2: SetValues2::<Identity, OFFSET>,
OutputRegisters2: OutputRegisters2::<Identity, OFFSET>,
GetInstructionOffset2: GetInstructionOffset2::<Identity, OFFSET>,
GetStackOffset2: GetStackOffset2::<Identity, OFFSET>,
GetFrameOffset2: GetFrameOffset2::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugRegisters2 as windows_core::Interface>::IID
}
}
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::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<()>;
}
impl windows_core::RuntimeName for IDebugSymbolGroup {}
impl IDebugSymbolGroup_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugSymbolGroup_Vtbl
where
Identity: IDebugSymbolGroup_Impl,
{
unsafe extern "system" fn GetNumberSymbols<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbolGroup_Impl::GetNumberSymbols(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbol<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup_Impl::AddSymbol(this, core::mem::transmute(&name), core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn RemoveSymbolByName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup_Impl::RemoveSymbolByName(this, core::mem::transmute(&name)).into()
}
unsafe extern "system" fn RemoveSymbolByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup_Impl::RemoveSymbolByIndex(this, core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn GetSymbolName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, namesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup_Impl::GetSymbolName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SYMBOL_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup_Impl::GetSymbolParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn ExpandSymbol<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, expand: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup_Impl::ExpandSymbol(this, core::mem::transmute_copy(&index), core::mem::transmute_copy(&expand)).into()
}
unsafe extern "system" fn OutputSymbols<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, start: u32, count: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup_Impl::OutputSymbols(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, value: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup_Impl::WriteSymbol(this, core::mem::transmute_copy(&index), core::mem::transmute(&value)).into()
}
unsafe extern "system" fn OutputAsType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, r#type: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup_Impl::OutputAsType(this, core::mem::transmute_copy(&index), core::mem::transmute(&r#type)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetNumberSymbols: GetNumberSymbols::<Identity, OFFSET>,
AddSymbol: AddSymbol::<Identity, OFFSET>,
RemoveSymbolByName: RemoveSymbolByName::<Identity, OFFSET>,
RemoveSymbolByIndex: RemoveSymbolByIndex::<Identity, OFFSET>,
GetSymbolName: GetSymbolName::<Identity, OFFSET>,
GetSymbolParameters: GetSymbolParameters::<Identity, OFFSET>,
ExpandSymbol: ExpandSymbol::<Identity, OFFSET>,
OutputSymbols: OutputSymbols::<Identity, OFFSET>,
WriteSymbol: WriteSymbol::<Identity, OFFSET>,
OutputAsType: OutputAsType::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugSymbolGroup as windows_core::Interface>::IID
}
}
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::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<()>;
}
impl windows_core::RuntimeName for IDebugSymbolGroup2 {}
impl IDebugSymbolGroup2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugSymbolGroup2_Vtbl
where
Identity: IDebugSymbolGroup2_Impl,
{
unsafe extern "system" fn GetNumberSymbols<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbolGroup2_Impl::GetNumberSymbols(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbol<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::AddSymbol(this, core::mem::transmute(&name), core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn RemoveSymbolByName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::RemoveSymbolByName(this, core::mem::transmute(&name)).into()
}
unsafe extern "system" fn RemoveSymbolByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::RemoveSymbolByIndex(this, core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn GetSymbolName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, namesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::GetSymbolName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, params: *mut DEBUG_SYMBOL_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::GetSymbolParameters(this, core::mem::transmute_copy(&start), core::mem::transmute_copy(&count), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn ExpandSymbol<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, expand: super::super::super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::ExpandSymbol(this, core::mem::transmute_copy(&index), core::mem::transmute_copy(&expand)).into()
}
unsafe extern "system" fn OutputSymbols<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, start: u32, count: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::OutputSymbols(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, value: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::WriteSymbol(this, core::mem::transmute_copy(&index), core::mem::transmute(&value)).into()
}
unsafe extern "system" fn OutputAsType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, r#type: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::OutputAsType(this, core::mem::transmute_copy(&index), core::mem::transmute(&r#type)).into()
}
unsafe extern "system" fn AddSymbolWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCWSTR, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::AddSymbolWide(this, core::mem::transmute(&name), core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn RemoveSymbolByNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::RemoveSymbolByNameWide(this, core::mem::transmute(&name)).into()
}
unsafe extern "system" fn GetSymbolNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, namesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::GetSymbolNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, value: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::WriteSymbolWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&value)).into()
}
unsafe extern "system" fn OutputAsTypeWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, r#type: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::OutputAsTypeWide(this, core::mem::transmute_copy(&index), core::mem::transmute(&r#type)).into()
}
unsafe extern "system" fn GetSymbolTypeName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, namesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::GetSymbolTypeName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, namesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::GetSymbolTypeNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbolGroup2_Impl::GetSymbolSize(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbolGroup2_Impl::GetSymbolOffset(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolRegister<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, register: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbolGroup2_Impl::GetSymbolRegister(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
register.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolValueText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, namesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::GetSymbolValueText(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, namesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::GetSymbolValueTextWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, entry: *mut DEBUG_SYMBOL_ENTRY) -> windows_core::HRESULT
where
Identity: IDebugSymbolGroup2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbolGroup2_Impl::GetSymbolEntryInformation(this, core::mem::transmute_copy(&index), core::mem::transmute_copy(&entry)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetNumberSymbols: GetNumberSymbols::<Identity, OFFSET>,
AddSymbol: AddSymbol::<Identity, OFFSET>,
RemoveSymbolByName: RemoveSymbolByName::<Identity, OFFSET>,
RemoveSymbolByIndex: RemoveSymbolByIndex::<Identity, OFFSET>,
GetSymbolName: GetSymbolName::<Identity, OFFSET>,
GetSymbolParameters: GetSymbolParameters::<Identity, OFFSET>,
ExpandSymbol: ExpandSymbol::<Identity, OFFSET>,
OutputSymbols: OutputSymbols::<Identity, OFFSET>,
WriteSymbol: WriteSymbol::<Identity, OFFSET>,
OutputAsType: OutputAsType::<Identity, OFFSET>,
AddSymbolWide: AddSymbolWide::<Identity, OFFSET>,
RemoveSymbolByNameWide: RemoveSymbolByNameWide::<Identity, OFFSET>,
GetSymbolNameWide: GetSymbolNameWide::<Identity, OFFSET>,
WriteSymbolWide: WriteSymbolWide::<Identity, OFFSET>,
OutputAsTypeWide: OutputAsTypeWide::<Identity, OFFSET>,
GetSymbolTypeName: GetSymbolTypeName::<Identity, OFFSET>,
GetSymbolTypeNameWide: GetSymbolTypeNameWide::<Identity, OFFSET>,
GetSymbolSize: GetSymbolSize::<Identity, OFFSET>,
GetSymbolOffset: GetSymbolOffset::<Identity, OFFSET>,
GetSymbolRegister: GetSymbolRegister::<Identity, OFFSET>,
GetSymbolValueText: GetSymbolValueText::<Identity, OFFSET>,
GetSymbolValueTextWide: GetSymbolValueTextWide::<Identity, OFFSET>,
GetSymbolEntryInformation: GetSymbolEntryInformation::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugSymbolGroup2 as windows_core::Interface>::IID
}
}
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: 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<()>;
}
impl windows_core::RuntimeName for IDebugSymbols {}
impl IDebugSymbols_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugSymbols_Vtbl
where
Identity: IDebugSymbols_Impl,
{
unsafe extern "system" fn GetSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols_Impl::GetSymbolOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::AddSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::RemoveSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::SetSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetNameByOffset(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols_Impl::GetOffsetByName(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetNearNameByOffset(this, 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, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetLineByOffset(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, line: u32, file: windows_core::PCSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols_Impl::GetOffsetByLine(this, core::mem::transmute_copy(&line), core::mem::transmute(&file)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberModules<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, loaded: *mut u32, unloaded: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetNumberModules(this, core::mem::transmute_copy(&loaded), core::mem::transmute_copy(&unloaded)).into()
}
unsafe extern "system" fn GetModuleByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols_Impl::GetModuleByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetModuleByModuleName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetModuleByOffset(this, 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, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetModuleNames(
this,
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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetModuleParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&bases), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSymbolModule<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols_Impl::GetSymbolModule(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeName<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetTypeName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, name: windows_core::PCSTR, typeid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols_Impl::GetTypeId(this, core::mem::transmute_copy(&module), core::mem::transmute(&name)) {
Ok(ok__) => {
typeid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols_Impl::GetTypeSize(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid)) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, field: windows_core::PCSTR, offset: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols_Impl::GetFieldOffset(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid), core::mem::transmute(&field)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetSymbolTypeId(this, core::mem::transmute(&symbol), core::mem::transmute_copy(&typeid), core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetOffsetTypeId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetOffsetTypeId(this, 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, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::ReadTypedDataVirtual(this, 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, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::WriteTypedDataVirtual(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::OutputTypedDataVirtual(this, 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, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::ReadTypedDataPhysical(this, 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, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::WriteTypedDataPhysical(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::OutputTypedDataPhysical(this, 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, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetScope(this, 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, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::SetScope(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::ResetScope(this).into()
}
unsafe extern "system" fn GetScopeSymbolGroup<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols_Impl::GetScopeSymbolGroup(this, core::mem::transmute_copy(&flags), windows_core::from_raw_borrowed(&update)) {
Ok(ok__) => {
symbols.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, group: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols_Impl::CreateSymbolGroup(this) {
Ok(ok__) => {
group.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pattern: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols_Impl::StartSymbolMatch(this, core::mem::transmute(&pattern)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatch<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetNextSymbolMatch(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::EndSymbolMatch(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Reload<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::Reload(this, core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetSymbolPath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::SetSymbolPath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::AppendSymbolPath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetImagePath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::SetImagePath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::AppendImagePath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetSourcePath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, elementsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetSourcePathElement(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::SetSourcePath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::AppendSourcePath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFile<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::FindSourceFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols_Impl::GetSourceFileLineOffsets(this, 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, OFFSET>,
AddSymbolOptions: AddSymbolOptions::<Identity, OFFSET>,
RemoveSymbolOptions: RemoveSymbolOptions::<Identity, OFFSET>,
SetSymbolOptions: SetSymbolOptions::<Identity, OFFSET>,
GetNameByOffset: GetNameByOffset::<Identity, OFFSET>,
GetOffsetByName: GetOffsetByName::<Identity, OFFSET>,
GetNearNameByOffset: GetNearNameByOffset::<Identity, OFFSET>,
GetLineByOffset: GetLineByOffset::<Identity, OFFSET>,
GetOffsetByLine: GetOffsetByLine::<Identity, OFFSET>,
GetNumberModules: GetNumberModules::<Identity, OFFSET>,
GetModuleByIndex: GetModuleByIndex::<Identity, OFFSET>,
GetModuleByModuleName: GetModuleByModuleName::<Identity, OFFSET>,
GetModuleByOffset: GetModuleByOffset::<Identity, OFFSET>,
GetModuleNames: GetModuleNames::<Identity, OFFSET>,
GetModuleParameters: GetModuleParameters::<Identity, OFFSET>,
GetSymbolModule: GetSymbolModule::<Identity, OFFSET>,
GetTypeName: GetTypeName::<Identity, OFFSET>,
GetTypeId: GetTypeId::<Identity, OFFSET>,
GetTypeSize: GetTypeSize::<Identity, OFFSET>,
GetFieldOffset: GetFieldOffset::<Identity, OFFSET>,
GetSymbolTypeId: GetSymbolTypeId::<Identity, OFFSET>,
GetOffsetTypeId: GetOffsetTypeId::<Identity, OFFSET>,
ReadTypedDataVirtual: ReadTypedDataVirtual::<Identity, OFFSET>,
WriteTypedDataVirtual: WriteTypedDataVirtual::<Identity, OFFSET>,
OutputTypedDataVirtual: OutputTypedDataVirtual::<Identity, OFFSET>,
ReadTypedDataPhysical: ReadTypedDataPhysical::<Identity, OFFSET>,
WriteTypedDataPhysical: WriteTypedDataPhysical::<Identity, OFFSET>,
OutputTypedDataPhysical: OutputTypedDataPhysical::<Identity, OFFSET>,
GetScope: GetScope::<Identity, OFFSET>,
SetScope: SetScope::<Identity, OFFSET>,
ResetScope: ResetScope::<Identity, OFFSET>,
GetScopeSymbolGroup: GetScopeSymbolGroup::<Identity, OFFSET>,
CreateSymbolGroup: CreateSymbolGroup::<Identity, OFFSET>,
StartSymbolMatch: StartSymbolMatch::<Identity, OFFSET>,
GetNextSymbolMatch: GetNextSymbolMatch::<Identity, OFFSET>,
EndSymbolMatch: EndSymbolMatch::<Identity, OFFSET>,
Reload: Reload::<Identity, OFFSET>,
GetSymbolPath: GetSymbolPath::<Identity, OFFSET>,
SetSymbolPath: SetSymbolPath::<Identity, OFFSET>,
AppendSymbolPath: AppendSymbolPath::<Identity, OFFSET>,
GetImagePath: GetImagePath::<Identity, OFFSET>,
SetImagePath: SetImagePath::<Identity, OFFSET>,
AppendImagePath: AppendImagePath::<Identity, OFFSET>,
GetSourcePath: GetSourcePath::<Identity, OFFSET>,
GetSourcePathElement: GetSourcePathElement::<Identity, OFFSET>,
SetSourcePath: SetSourcePath::<Identity, OFFSET>,
AppendSourcePath: AppendSourcePath::<Identity, OFFSET>,
FindSourceFile: FindSourceFile::<Identity, OFFSET>,
GetSourceFileLineOffsets: GetSourceFileLineOffsets::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugSymbols as windows_core::Interface>::IID
}
}
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: 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<()>;
}
impl windows_core::RuntimeName for IDebugSymbols2 {}
impl IDebugSymbols2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugSymbols2_Vtbl
where
Identity: IDebugSymbols2_Impl,
{
unsafe extern "system" fn GetSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::GetSymbolOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::AddSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::RemoveSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::SetSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetNameByOffset(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::GetOffsetByName(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetNearNameByOffset(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetLineByOffset(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, line: u32, file: windows_core::PCSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::GetOffsetByLine(this, core::mem::transmute_copy(&line), core::mem::transmute(&file)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberModules<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, loaded: *mut u32, unloaded: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetNumberModules(this, core::mem::transmute_copy(&loaded), core::mem::transmute_copy(&unloaded)).into()
}
unsafe extern "system" fn GetModuleByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::GetModuleByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetModuleByModuleName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetModuleByOffset(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetModuleNames(
this,
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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetModuleParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&bases), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSymbolModule<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::GetSymbolModule(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeName<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetTypeName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, name: windows_core::PCSTR, typeid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::GetTypeId(this, core::mem::transmute_copy(&module), core::mem::transmute(&name)) {
Ok(ok__) => {
typeid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::GetTypeSize(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid)) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, field: windows_core::PCSTR, offset: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::GetFieldOffset(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid), core::mem::transmute(&field)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetSymbolTypeId(this, core::mem::transmute(&symbol), core::mem::transmute_copy(&typeid), core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetOffsetTypeId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetOffsetTypeId(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::ReadTypedDataVirtual(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::WriteTypedDataVirtual(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::OutputTypedDataVirtual(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::ReadTypedDataPhysical(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::WriteTypedDataPhysical(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::OutputTypedDataPhysical(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetScope(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::SetScope(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::ResetScope(this).into()
}
unsafe extern "system" fn GetScopeSymbolGroup<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::GetScopeSymbolGroup(this, core::mem::transmute_copy(&flags), windows_core::from_raw_borrowed(&update)) {
Ok(ok__) => {
symbols.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, group: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::CreateSymbolGroup(this) {
Ok(ok__) => {
group.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pattern: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::StartSymbolMatch(this, core::mem::transmute(&pattern)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatch<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetNextSymbolMatch(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::EndSymbolMatch(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Reload<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::Reload(this, core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetSymbolPath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::SetSymbolPath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::AppendSymbolPath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetImagePath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::SetImagePath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::AppendImagePath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetSourcePath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, elementsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetSourcePathElement(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::SetSourcePath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::AppendSourcePath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFile<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::FindSourceFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetSourceFileLineOffsets(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetModuleVersionInformation(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetModuleNameString(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetConstantName(this, 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, 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
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::GetFieldName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols2_Impl::GetTypeOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::AddTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::RemoveTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols2_Impl::SetTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSymbolOptions: GetSymbolOptions::<Identity, OFFSET>,
AddSymbolOptions: AddSymbolOptions::<Identity, OFFSET>,
RemoveSymbolOptions: RemoveSymbolOptions::<Identity, OFFSET>,
SetSymbolOptions: SetSymbolOptions::<Identity, OFFSET>,
GetNameByOffset: GetNameByOffset::<Identity, OFFSET>,
GetOffsetByName: GetOffsetByName::<Identity, OFFSET>,
GetNearNameByOffset: GetNearNameByOffset::<Identity, OFFSET>,
GetLineByOffset: GetLineByOffset::<Identity, OFFSET>,
GetOffsetByLine: GetOffsetByLine::<Identity, OFFSET>,
GetNumberModules: GetNumberModules::<Identity, OFFSET>,
GetModuleByIndex: GetModuleByIndex::<Identity, OFFSET>,
GetModuleByModuleName: GetModuleByModuleName::<Identity, OFFSET>,
GetModuleByOffset: GetModuleByOffset::<Identity, OFFSET>,
GetModuleNames: GetModuleNames::<Identity, OFFSET>,
GetModuleParameters: GetModuleParameters::<Identity, OFFSET>,
GetSymbolModule: GetSymbolModule::<Identity, OFFSET>,
GetTypeName: GetTypeName::<Identity, OFFSET>,
GetTypeId: GetTypeId::<Identity, OFFSET>,
GetTypeSize: GetTypeSize::<Identity, OFFSET>,
GetFieldOffset: GetFieldOffset::<Identity, OFFSET>,
GetSymbolTypeId: GetSymbolTypeId::<Identity, OFFSET>,
GetOffsetTypeId: GetOffsetTypeId::<Identity, OFFSET>,
ReadTypedDataVirtual: ReadTypedDataVirtual::<Identity, OFFSET>,
WriteTypedDataVirtual: WriteTypedDataVirtual::<Identity, OFFSET>,
OutputTypedDataVirtual: OutputTypedDataVirtual::<Identity, OFFSET>,
ReadTypedDataPhysical: ReadTypedDataPhysical::<Identity, OFFSET>,
WriteTypedDataPhysical: WriteTypedDataPhysical::<Identity, OFFSET>,
OutputTypedDataPhysical: OutputTypedDataPhysical::<Identity, OFFSET>,
GetScope: GetScope::<Identity, OFFSET>,
SetScope: SetScope::<Identity, OFFSET>,
ResetScope: ResetScope::<Identity, OFFSET>,
GetScopeSymbolGroup: GetScopeSymbolGroup::<Identity, OFFSET>,
CreateSymbolGroup: CreateSymbolGroup::<Identity, OFFSET>,
StartSymbolMatch: StartSymbolMatch::<Identity, OFFSET>,
GetNextSymbolMatch: GetNextSymbolMatch::<Identity, OFFSET>,
EndSymbolMatch: EndSymbolMatch::<Identity, OFFSET>,
Reload: Reload::<Identity, OFFSET>,
GetSymbolPath: GetSymbolPath::<Identity, OFFSET>,
SetSymbolPath: SetSymbolPath::<Identity, OFFSET>,
AppendSymbolPath: AppendSymbolPath::<Identity, OFFSET>,
GetImagePath: GetImagePath::<Identity, OFFSET>,
SetImagePath: SetImagePath::<Identity, OFFSET>,
AppendImagePath: AppendImagePath::<Identity, OFFSET>,
GetSourcePath: GetSourcePath::<Identity, OFFSET>,
GetSourcePathElement: GetSourcePathElement::<Identity, OFFSET>,
SetSourcePath: SetSourcePath::<Identity, OFFSET>,
AppendSourcePath: AppendSourcePath::<Identity, OFFSET>,
FindSourceFile: FindSourceFile::<Identity, OFFSET>,
GetSourceFileLineOffsets: GetSourceFileLineOffsets::<Identity, OFFSET>,
GetModuleVersionInformation: GetModuleVersionInformation::<Identity, OFFSET>,
GetModuleNameString: GetModuleNameString::<Identity, OFFSET>,
GetConstantName: GetConstantName::<Identity, OFFSET>,
GetFieldName: GetFieldName::<Identity, OFFSET>,
GetTypeOptions: GetTypeOptions::<Identity, OFFSET>,
AddTypeOptions: AddTypeOptions::<Identity, OFFSET>,
RemoveTypeOptions: RemoveTypeOptions::<Identity, OFFSET>,
SetTypeOptions: SetTypeOptions::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugSymbols2 as windows_core::Interface>::IID
}
}
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: 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: 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<()>;
}
impl windows_core::RuntimeName for IDebugSymbols3 {}
impl IDebugSymbols3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugSymbols3_Vtbl
where
Identity: IDebugSymbols3_Impl,
{
unsafe extern "system" fn GetSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetSymbolOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AddSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::RemoveSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetNameByOffset(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetOffsetByName(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetNearNameByOffset(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetLineByOffset(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, line: u32, file: windows_core::PCSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetOffsetByLine(this, core::mem::transmute_copy(&line), core::mem::transmute(&file)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberModules<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, loaded: *mut u32, unloaded: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetNumberModules(this, core::mem::transmute_copy(&loaded), core::mem::transmute_copy(&unloaded)).into()
}
unsafe extern "system" fn GetModuleByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetModuleByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleByModuleName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleByOffset(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleNames(
this,
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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&bases), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSymbolModule<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetSymbolModule(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeName<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetTypeName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, name: windows_core::PCSTR, typeid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetTypeId(this, core::mem::transmute_copy(&module), core::mem::transmute(&name)) {
Ok(ok__) => {
typeid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetTypeSize(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid)) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, field: windows_core::PCSTR, offset: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetFieldOffset(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid), core::mem::transmute(&field)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSymbolTypeId(this, core::mem::transmute(&symbol), core::mem::transmute_copy(&typeid), core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetOffsetTypeId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetOffsetTypeId(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::ReadTypedDataVirtual(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::WriteTypedDataVirtual(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::OutputTypedDataVirtual(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::ReadTypedDataPhysical(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::WriteTypedDataPhysical(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::OutputTypedDataPhysical(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetScope(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetScope(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::ResetScope(this).into()
}
unsafe extern "system" fn GetScopeSymbolGroup<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetScopeSymbolGroup(this, core::mem::transmute_copy(&flags), windows_core::from_raw_borrowed(&update)) {
Ok(ok__) => {
symbols.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, group: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::CreateSymbolGroup(this) {
Ok(ok__) => {
group.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pattern: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::StartSymbolMatch(this, core::mem::transmute(&pattern)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatch<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetNextSymbolMatch(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::EndSymbolMatch(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Reload<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::Reload(this, core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSymbolPath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetSymbolPath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AppendSymbolPath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetImagePath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetImagePath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AppendImagePath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourcePath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, elementsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourcePathElement(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetSourcePath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AppendSourcePath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFile<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::FindSourceFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourceFileLineOffsets(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleVersionInformation(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleNameString(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetConstantName(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetFieldName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetTypeOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AddTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::RemoveTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffsetWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetNameByOffsetWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCWSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetOffsetByNameWide(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffsetWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetNearNameByOffsetWide(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetLineByOffsetWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, line: u32, file: windows_core::PCWSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetOffsetByLineWide(this, core::mem::transmute_copy(&line), core::mem::transmute(&file)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCWSTR, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleByModuleNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCWSTR, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetSymbolModuleWide(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeNameWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetTypeNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, name: windows_core::PCWSTR, typeid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetTypeIdWide(this, core::mem::transmute_copy(&module), core::mem::transmute(&name)) {
Ok(ok__) => {
typeid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffsetWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, field: windows_core::PCWSTR, offset: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetFieldOffsetWide(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid), core::mem::transmute(&field)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeIdWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCWSTR, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSymbolTypeIdWide(this, core::mem::transmute(&symbol), core::mem::transmute_copy(&typeid), core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetScopeSymbolGroup2<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetScopeSymbolGroup2(this, core::mem::transmute_copy(&flags), windows_core::from_raw_borrowed(&update)) {
Ok(ok__) => {
symbols.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, group: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::CreateSymbolGroup2(this) {
Ok(ok__) => {
group.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatchWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pattern: windows_core::PCWSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::StartSymbolMatchWide(this, core::mem::transmute(&pattern)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatchWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetNextSymbolMatchWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, module: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::ReloadWide(this, core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSymbolPathWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetSymbolPathWide(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AppendSymbolPathWide(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetImagePathWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetImagePathWide(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AppendImagePathWide(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourcePathWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, elementsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourcePathElementWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetSourcePathWide(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AppendSourcePathWide(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFileWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::FindSourceFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCWSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourceFileLineOffsetsWide(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleVersionInformationWide(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleNameStringWide(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetConstantNameWide(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetFieldNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, base: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::IsManagedModule(this, core::mem::transmute_copy(&index), core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByModuleName2<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleByModuleName2(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleByModuleName2Wide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetModuleByOffset2(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AddSyntheticModule(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AddSyntheticModuleWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, base: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::RemoveSyntheticModule(this, core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetCurrentScopeFrameIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetCurrentScopeFrameIndex(this) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetScopeFrameByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetScopeFrameByIndex(this, core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn SetScopeFromJitDebugInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, infooffset: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetScopeFromJitDebugInfo(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&infooffset)).into()
}
unsafe extern "system" fn SetScopeFromStoredEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::SetScopeFromStoredEvent(this).into()
}
unsafe extern "system" fn OutputSymbolByOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::OutputSymbolByOffset(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetFunctionEntryByOffset(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetFieldTypeAndOffset(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetFieldTypeAndOffsetWide(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AddSyntheticSymbol(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::AddSyntheticSymbolWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::RemoveSyntheticSymbol(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetSymbolEntriesByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSymbolEntriesByOffset(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSymbolEntriesByName(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSymbolEntriesByNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, modulebase: u64, token: u32, id: *mut DEBUG_MODULE_AND_ID) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetSymbolEntryByToken(this, core::mem::transmute_copy(&modulebase), core::mem::transmute_copy(&token)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolEntryInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> windows_core::HRESULT
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSymbolEntryInformation(this, core::mem::transmute_copy(&id), core::mem::transmute_copy(&info)).into()
}
unsafe extern "system" fn GetSymbolEntryString<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSymbolEntryString(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSymbolEntryStringWide(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSymbolEntryOffsetRegions(this, core::mem::transmute_copy(&id), core::mem::transmute_copy(&flags), core::mem::transmute_copy(®ions), core::mem::transmute_copy(®ionscount), core::mem::transmute_copy(®ionsavail)).into()
}
unsafe extern "system" fn GetSymbolEntryBySymbolEntry<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols3_Impl::GetSymbolEntryBySymbolEntry(this, core::mem::transmute_copy(&fromid), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
toid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSourceEntriesByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourceEntriesByOffset(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourceEntriesByLine(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourceEntriesByLineWide(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourceEntryString(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourceEntryStringWide(this, 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, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourceEntryOffsetRegions(this, core::mem::transmute_copy(&entry), core::mem::transmute_copy(&flags), core::mem::transmute_copy(®ions), core::mem::transmute_copy(®ionscount), core::mem::transmute_copy(®ionsavail)).into()
}
unsafe extern "system" fn GetSourceEntryBySourceEntry<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols3_Impl::GetSourceEntryBySourceEntry(this, 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, OFFSET>,
AddSymbolOptions: AddSymbolOptions::<Identity, OFFSET>,
RemoveSymbolOptions: RemoveSymbolOptions::<Identity, OFFSET>,
SetSymbolOptions: SetSymbolOptions::<Identity, OFFSET>,
GetNameByOffset: GetNameByOffset::<Identity, OFFSET>,
GetOffsetByName: GetOffsetByName::<Identity, OFFSET>,
GetNearNameByOffset: GetNearNameByOffset::<Identity, OFFSET>,
GetLineByOffset: GetLineByOffset::<Identity, OFFSET>,
GetOffsetByLine: GetOffsetByLine::<Identity, OFFSET>,
GetNumberModules: GetNumberModules::<Identity, OFFSET>,
GetModuleByIndex: GetModuleByIndex::<Identity, OFFSET>,
GetModuleByModuleName: GetModuleByModuleName::<Identity, OFFSET>,
GetModuleByOffset: GetModuleByOffset::<Identity, OFFSET>,
GetModuleNames: GetModuleNames::<Identity, OFFSET>,
GetModuleParameters: GetModuleParameters::<Identity, OFFSET>,
GetSymbolModule: GetSymbolModule::<Identity, OFFSET>,
GetTypeName: GetTypeName::<Identity, OFFSET>,
GetTypeId: GetTypeId::<Identity, OFFSET>,
GetTypeSize: GetTypeSize::<Identity, OFFSET>,
GetFieldOffset: GetFieldOffset::<Identity, OFFSET>,
GetSymbolTypeId: GetSymbolTypeId::<Identity, OFFSET>,
GetOffsetTypeId: GetOffsetTypeId::<Identity, OFFSET>,
ReadTypedDataVirtual: ReadTypedDataVirtual::<Identity, OFFSET>,
WriteTypedDataVirtual: WriteTypedDataVirtual::<Identity, OFFSET>,
OutputTypedDataVirtual: OutputTypedDataVirtual::<Identity, OFFSET>,
ReadTypedDataPhysical: ReadTypedDataPhysical::<Identity, OFFSET>,
WriteTypedDataPhysical: WriteTypedDataPhysical::<Identity, OFFSET>,
OutputTypedDataPhysical: OutputTypedDataPhysical::<Identity, OFFSET>,
GetScope: GetScope::<Identity, OFFSET>,
SetScope: SetScope::<Identity, OFFSET>,
ResetScope: ResetScope::<Identity, OFFSET>,
GetScopeSymbolGroup: GetScopeSymbolGroup::<Identity, OFFSET>,
CreateSymbolGroup: CreateSymbolGroup::<Identity, OFFSET>,
StartSymbolMatch: StartSymbolMatch::<Identity, OFFSET>,
GetNextSymbolMatch: GetNextSymbolMatch::<Identity, OFFSET>,
EndSymbolMatch: EndSymbolMatch::<Identity, OFFSET>,
Reload: Reload::<Identity, OFFSET>,
GetSymbolPath: GetSymbolPath::<Identity, OFFSET>,
SetSymbolPath: SetSymbolPath::<Identity, OFFSET>,
AppendSymbolPath: AppendSymbolPath::<Identity, OFFSET>,
GetImagePath: GetImagePath::<Identity, OFFSET>,
SetImagePath: SetImagePath::<Identity, OFFSET>,
AppendImagePath: AppendImagePath::<Identity, OFFSET>,
GetSourcePath: GetSourcePath::<Identity, OFFSET>,
GetSourcePathElement: GetSourcePathElement::<Identity, OFFSET>,
SetSourcePath: SetSourcePath::<Identity, OFFSET>,
AppendSourcePath: AppendSourcePath::<Identity, OFFSET>,
FindSourceFile: FindSourceFile::<Identity, OFFSET>,
GetSourceFileLineOffsets: GetSourceFileLineOffsets::<Identity, OFFSET>,
GetModuleVersionInformation: GetModuleVersionInformation::<Identity, OFFSET>,
GetModuleNameString: GetModuleNameString::<Identity, OFFSET>,
GetConstantName: GetConstantName::<Identity, OFFSET>,
GetFieldName: GetFieldName::<Identity, OFFSET>,
GetTypeOptions: GetTypeOptions::<Identity, OFFSET>,
AddTypeOptions: AddTypeOptions::<Identity, OFFSET>,
RemoveTypeOptions: RemoveTypeOptions::<Identity, OFFSET>,
SetTypeOptions: SetTypeOptions::<Identity, OFFSET>,
GetNameByOffsetWide: GetNameByOffsetWide::<Identity, OFFSET>,
GetOffsetByNameWide: GetOffsetByNameWide::<Identity, OFFSET>,
GetNearNameByOffsetWide: GetNearNameByOffsetWide::<Identity, OFFSET>,
GetLineByOffsetWide: GetLineByOffsetWide::<Identity, OFFSET>,
GetOffsetByLineWide: GetOffsetByLineWide::<Identity, OFFSET>,
GetModuleByModuleNameWide: GetModuleByModuleNameWide::<Identity, OFFSET>,
GetSymbolModuleWide: GetSymbolModuleWide::<Identity, OFFSET>,
GetTypeNameWide: GetTypeNameWide::<Identity, OFFSET>,
GetTypeIdWide: GetTypeIdWide::<Identity, OFFSET>,
GetFieldOffsetWide: GetFieldOffsetWide::<Identity, OFFSET>,
GetSymbolTypeIdWide: GetSymbolTypeIdWide::<Identity, OFFSET>,
GetScopeSymbolGroup2: GetScopeSymbolGroup2::<Identity, OFFSET>,
CreateSymbolGroup2: CreateSymbolGroup2::<Identity, OFFSET>,
StartSymbolMatchWide: StartSymbolMatchWide::<Identity, OFFSET>,
GetNextSymbolMatchWide: GetNextSymbolMatchWide::<Identity, OFFSET>,
ReloadWide: ReloadWide::<Identity, OFFSET>,
GetSymbolPathWide: GetSymbolPathWide::<Identity, OFFSET>,
SetSymbolPathWide: SetSymbolPathWide::<Identity, OFFSET>,
AppendSymbolPathWide: AppendSymbolPathWide::<Identity, OFFSET>,
GetImagePathWide: GetImagePathWide::<Identity, OFFSET>,
SetImagePathWide: SetImagePathWide::<Identity, OFFSET>,
AppendImagePathWide: AppendImagePathWide::<Identity, OFFSET>,
GetSourcePathWide: GetSourcePathWide::<Identity, OFFSET>,
GetSourcePathElementWide: GetSourcePathElementWide::<Identity, OFFSET>,
SetSourcePathWide: SetSourcePathWide::<Identity, OFFSET>,
AppendSourcePathWide: AppendSourcePathWide::<Identity, OFFSET>,
FindSourceFileWide: FindSourceFileWide::<Identity, OFFSET>,
GetSourceFileLineOffsetsWide: GetSourceFileLineOffsetsWide::<Identity, OFFSET>,
GetModuleVersionInformationWide: GetModuleVersionInformationWide::<Identity, OFFSET>,
GetModuleNameStringWide: GetModuleNameStringWide::<Identity, OFFSET>,
GetConstantNameWide: GetConstantNameWide::<Identity, OFFSET>,
GetFieldNameWide: GetFieldNameWide::<Identity, OFFSET>,
IsManagedModule: IsManagedModule::<Identity, OFFSET>,
GetModuleByModuleName2: GetModuleByModuleName2::<Identity, OFFSET>,
GetModuleByModuleName2Wide: GetModuleByModuleName2Wide::<Identity, OFFSET>,
GetModuleByOffset2: GetModuleByOffset2::<Identity, OFFSET>,
AddSyntheticModule: AddSyntheticModule::<Identity, OFFSET>,
AddSyntheticModuleWide: AddSyntheticModuleWide::<Identity, OFFSET>,
RemoveSyntheticModule: RemoveSyntheticModule::<Identity, OFFSET>,
GetCurrentScopeFrameIndex: GetCurrentScopeFrameIndex::<Identity, OFFSET>,
SetScopeFrameByIndex: SetScopeFrameByIndex::<Identity, OFFSET>,
SetScopeFromJitDebugInfo: SetScopeFromJitDebugInfo::<Identity, OFFSET>,
SetScopeFromStoredEvent: SetScopeFromStoredEvent::<Identity, OFFSET>,
OutputSymbolByOffset: OutputSymbolByOffset::<Identity, OFFSET>,
GetFunctionEntryByOffset: GetFunctionEntryByOffset::<Identity, OFFSET>,
GetFieldTypeAndOffset: GetFieldTypeAndOffset::<Identity, OFFSET>,
GetFieldTypeAndOffsetWide: GetFieldTypeAndOffsetWide::<Identity, OFFSET>,
AddSyntheticSymbol: AddSyntheticSymbol::<Identity, OFFSET>,
AddSyntheticSymbolWide: AddSyntheticSymbolWide::<Identity, OFFSET>,
RemoveSyntheticSymbol: RemoveSyntheticSymbol::<Identity, OFFSET>,
GetSymbolEntriesByOffset: GetSymbolEntriesByOffset::<Identity, OFFSET>,
GetSymbolEntriesByName: GetSymbolEntriesByName::<Identity, OFFSET>,
GetSymbolEntriesByNameWide: GetSymbolEntriesByNameWide::<Identity, OFFSET>,
GetSymbolEntryByToken: GetSymbolEntryByToken::<Identity, OFFSET>,
GetSymbolEntryInformation: GetSymbolEntryInformation::<Identity, OFFSET>,
GetSymbolEntryString: GetSymbolEntryString::<Identity, OFFSET>,
GetSymbolEntryStringWide: GetSymbolEntryStringWide::<Identity, OFFSET>,
GetSymbolEntryOffsetRegions: GetSymbolEntryOffsetRegions::<Identity, OFFSET>,
GetSymbolEntryBySymbolEntry: GetSymbolEntryBySymbolEntry::<Identity, OFFSET>,
GetSourceEntriesByOffset: GetSourceEntriesByOffset::<Identity, OFFSET>,
GetSourceEntriesByLine: GetSourceEntriesByLine::<Identity, OFFSET>,
GetSourceEntriesByLineWide: GetSourceEntriesByLineWide::<Identity, OFFSET>,
GetSourceEntryString: GetSourceEntryString::<Identity, OFFSET>,
GetSourceEntryStringWide: GetSourceEntryStringWide::<Identity, OFFSET>,
GetSourceEntryOffsetRegions: GetSourceEntryOffsetRegions::<Identity, OFFSET>,
GetSourceEntryBySourceEntry: GetSourceEntryBySourceEntry::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugSymbols3 as windows_core::Interface>::IID
}
}
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: 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: 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<()>;
}
impl windows_core::RuntimeName for IDebugSymbols4 {}
impl IDebugSymbols4_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugSymbols4_Vtbl
where
Identity: IDebugSymbols4_Impl,
{
unsafe extern "system" fn GetSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetSymbolOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AddSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::RemoveSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetNameByOffset(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetOffsetByName(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetNearNameByOffset(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetLineByOffset(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, line: u32, file: windows_core::PCSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetOffsetByLine(this, core::mem::transmute_copy(&line), core::mem::transmute(&file)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberModules<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, loaded: *mut u32, unloaded: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetNumberModules(this, core::mem::transmute_copy(&loaded), core::mem::transmute_copy(&unloaded)).into()
}
unsafe extern "system" fn GetModuleByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetModuleByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleByModuleName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleByOffset(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleNames(
this,
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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&bases), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSymbolModule<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetSymbolModule(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeName<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetTypeName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, name: windows_core::PCSTR, typeid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetTypeId(this, core::mem::transmute_copy(&module), core::mem::transmute(&name)) {
Ok(ok__) => {
typeid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetTypeSize(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid)) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, field: windows_core::PCSTR, offset: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetFieldOffset(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid), core::mem::transmute(&field)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSymbolTypeId(this, core::mem::transmute(&symbol), core::mem::transmute_copy(&typeid), core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetOffsetTypeId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetOffsetTypeId(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::ReadTypedDataVirtual(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::WriteTypedDataVirtual(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::OutputTypedDataVirtual(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::ReadTypedDataPhysical(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::WriteTypedDataPhysical(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::OutputTypedDataPhysical(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetScope(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetScope(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::ResetScope(this).into()
}
unsafe extern "system" fn GetScopeSymbolGroup<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetScopeSymbolGroup(this, core::mem::transmute_copy(&flags), windows_core::from_raw_borrowed(&update)) {
Ok(ok__) => {
symbols.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, group: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::CreateSymbolGroup(this) {
Ok(ok__) => {
group.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pattern: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::StartSymbolMatch(this, core::mem::transmute(&pattern)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatch<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetNextSymbolMatch(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::EndSymbolMatch(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Reload<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::Reload(this, core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSymbolPath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetSymbolPath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AppendSymbolPath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetImagePath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetImagePath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AppendImagePath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourcePath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, elementsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourcePathElement(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetSourcePath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AppendSourcePath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFile<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::FindSourceFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourceFileLineOffsets(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleVersionInformation(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleNameString(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetConstantName(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetFieldName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetTypeOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AddTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::RemoveTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffsetWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetNameByOffsetWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCWSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetOffsetByNameWide(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffsetWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetNearNameByOffsetWide(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetLineByOffsetWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, line: u32, file: windows_core::PCWSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetOffsetByLineWide(this, core::mem::transmute_copy(&line), core::mem::transmute(&file)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCWSTR, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleByModuleNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCWSTR, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetSymbolModuleWide(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeNameWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetTypeNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, name: windows_core::PCWSTR, typeid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetTypeIdWide(this, core::mem::transmute_copy(&module), core::mem::transmute(&name)) {
Ok(ok__) => {
typeid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffsetWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, field: windows_core::PCWSTR, offset: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetFieldOffsetWide(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid), core::mem::transmute(&field)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeIdWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCWSTR, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSymbolTypeIdWide(this, core::mem::transmute(&symbol), core::mem::transmute_copy(&typeid), core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetScopeSymbolGroup2<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetScopeSymbolGroup2(this, core::mem::transmute_copy(&flags), windows_core::from_raw_borrowed(&update)) {
Ok(ok__) => {
symbols.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, group: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::CreateSymbolGroup2(this) {
Ok(ok__) => {
group.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatchWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pattern: windows_core::PCWSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::StartSymbolMatchWide(this, core::mem::transmute(&pattern)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatchWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetNextSymbolMatchWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, module: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::ReloadWide(this, core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSymbolPathWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetSymbolPathWide(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AppendSymbolPathWide(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetImagePathWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetImagePathWide(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AppendImagePathWide(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourcePathWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, elementsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourcePathElementWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetSourcePathWide(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AppendSourcePathWide(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFileWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::FindSourceFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCWSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourceFileLineOffsetsWide(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleVersionInformationWide(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleNameStringWide(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetConstantNameWide(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetFieldNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, base: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::IsManagedModule(this, core::mem::transmute_copy(&index), core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByModuleName2<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleByModuleName2(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleByModuleName2Wide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetModuleByOffset2(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AddSyntheticModule(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AddSyntheticModuleWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, base: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::RemoveSyntheticModule(this, core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetCurrentScopeFrameIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetCurrentScopeFrameIndex(this) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetScopeFrameByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetScopeFrameByIndex(this, core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn SetScopeFromJitDebugInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, infooffset: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetScopeFromJitDebugInfo(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&infooffset)).into()
}
unsafe extern "system" fn SetScopeFromStoredEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetScopeFromStoredEvent(this).into()
}
unsafe extern "system" fn OutputSymbolByOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::OutputSymbolByOffset(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetFunctionEntryByOffset(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetFieldTypeAndOffset(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetFieldTypeAndOffsetWide(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AddSyntheticSymbol(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::AddSyntheticSymbolWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::RemoveSyntheticSymbol(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetSymbolEntriesByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSymbolEntriesByOffset(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSymbolEntriesByName(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSymbolEntriesByNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, modulebase: u64, token: u32, id: *mut DEBUG_MODULE_AND_ID) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetSymbolEntryByToken(this, core::mem::transmute_copy(&modulebase), core::mem::transmute_copy(&token)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolEntryInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSymbolEntryInformation(this, core::mem::transmute_copy(&id), core::mem::transmute_copy(&info)).into()
}
unsafe extern "system" fn GetSymbolEntryString<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSymbolEntryString(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSymbolEntryStringWide(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSymbolEntryOffsetRegions(this, core::mem::transmute_copy(&id), core::mem::transmute_copy(&flags), core::mem::transmute_copy(®ions), core::mem::transmute_copy(®ionscount), core::mem::transmute_copy(®ionsavail)).into()
}
unsafe extern "system" fn GetSymbolEntryBySymbolEntry<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols4_Impl::GetSymbolEntryBySymbolEntry(this, core::mem::transmute_copy(&fromid), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
toid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSourceEntriesByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourceEntriesByOffset(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourceEntriesByLine(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourceEntriesByLineWide(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourceEntryString(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourceEntryStringWide(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourceEntryOffsetRegions(this, core::mem::transmute_copy(&entry), core::mem::transmute_copy(&flags), core::mem::transmute_copy(®ions), core::mem::transmute_copy(®ionscount), core::mem::transmute_copy(®ionsavail)).into()
}
unsafe extern "system" fn GetSourceEntryBySourceEntry<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetSourceEntryBySourceEntry(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetScopeEx(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::SetScopeEx(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetNameByInlineContext(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetNameByInlineContextWide(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetLineByInlineContext(this, 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, 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
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::GetLineByInlineContextWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, offset: u64, inlinecontext: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols4_Impl::OutputSymbolByInlineContext(this, 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, OFFSET>,
AddSymbolOptions: AddSymbolOptions::<Identity, OFFSET>,
RemoveSymbolOptions: RemoveSymbolOptions::<Identity, OFFSET>,
SetSymbolOptions: SetSymbolOptions::<Identity, OFFSET>,
GetNameByOffset: GetNameByOffset::<Identity, OFFSET>,
GetOffsetByName: GetOffsetByName::<Identity, OFFSET>,
GetNearNameByOffset: GetNearNameByOffset::<Identity, OFFSET>,
GetLineByOffset: GetLineByOffset::<Identity, OFFSET>,
GetOffsetByLine: GetOffsetByLine::<Identity, OFFSET>,
GetNumberModules: GetNumberModules::<Identity, OFFSET>,
GetModuleByIndex: GetModuleByIndex::<Identity, OFFSET>,
GetModuleByModuleName: GetModuleByModuleName::<Identity, OFFSET>,
GetModuleByOffset: GetModuleByOffset::<Identity, OFFSET>,
GetModuleNames: GetModuleNames::<Identity, OFFSET>,
GetModuleParameters: GetModuleParameters::<Identity, OFFSET>,
GetSymbolModule: GetSymbolModule::<Identity, OFFSET>,
GetTypeName: GetTypeName::<Identity, OFFSET>,
GetTypeId: GetTypeId::<Identity, OFFSET>,
GetTypeSize: GetTypeSize::<Identity, OFFSET>,
GetFieldOffset: GetFieldOffset::<Identity, OFFSET>,
GetSymbolTypeId: GetSymbolTypeId::<Identity, OFFSET>,
GetOffsetTypeId: GetOffsetTypeId::<Identity, OFFSET>,
ReadTypedDataVirtual: ReadTypedDataVirtual::<Identity, OFFSET>,
WriteTypedDataVirtual: WriteTypedDataVirtual::<Identity, OFFSET>,
OutputTypedDataVirtual: OutputTypedDataVirtual::<Identity, OFFSET>,
ReadTypedDataPhysical: ReadTypedDataPhysical::<Identity, OFFSET>,
WriteTypedDataPhysical: WriteTypedDataPhysical::<Identity, OFFSET>,
OutputTypedDataPhysical: OutputTypedDataPhysical::<Identity, OFFSET>,
GetScope: GetScope::<Identity, OFFSET>,
SetScope: SetScope::<Identity, OFFSET>,
ResetScope: ResetScope::<Identity, OFFSET>,
GetScopeSymbolGroup: GetScopeSymbolGroup::<Identity, OFFSET>,
CreateSymbolGroup: CreateSymbolGroup::<Identity, OFFSET>,
StartSymbolMatch: StartSymbolMatch::<Identity, OFFSET>,
GetNextSymbolMatch: GetNextSymbolMatch::<Identity, OFFSET>,
EndSymbolMatch: EndSymbolMatch::<Identity, OFFSET>,
Reload: Reload::<Identity, OFFSET>,
GetSymbolPath: GetSymbolPath::<Identity, OFFSET>,
SetSymbolPath: SetSymbolPath::<Identity, OFFSET>,
AppendSymbolPath: AppendSymbolPath::<Identity, OFFSET>,
GetImagePath: GetImagePath::<Identity, OFFSET>,
SetImagePath: SetImagePath::<Identity, OFFSET>,
AppendImagePath: AppendImagePath::<Identity, OFFSET>,
GetSourcePath: GetSourcePath::<Identity, OFFSET>,
GetSourcePathElement: GetSourcePathElement::<Identity, OFFSET>,
SetSourcePath: SetSourcePath::<Identity, OFFSET>,
AppendSourcePath: AppendSourcePath::<Identity, OFFSET>,
FindSourceFile: FindSourceFile::<Identity, OFFSET>,
GetSourceFileLineOffsets: GetSourceFileLineOffsets::<Identity, OFFSET>,
GetModuleVersionInformation: GetModuleVersionInformation::<Identity, OFFSET>,
GetModuleNameString: GetModuleNameString::<Identity, OFFSET>,
GetConstantName: GetConstantName::<Identity, OFFSET>,
GetFieldName: GetFieldName::<Identity, OFFSET>,
GetTypeOptions: GetTypeOptions::<Identity, OFFSET>,
AddTypeOptions: AddTypeOptions::<Identity, OFFSET>,
RemoveTypeOptions: RemoveTypeOptions::<Identity, OFFSET>,
SetTypeOptions: SetTypeOptions::<Identity, OFFSET>,
GetNameByOffsetWide: GetNameByOffsetWide::<Identity, OFFSET>,
GetOffsetByNameWide: GetOffsetByNameWide::<Identity, OFFSET>,
GetNearNameByOffsetWide: GetNearNameByOffsetWide::<Identity, OFFSET>,
GetLineByOffsetWide: GetLineByOffsetWide::<Identity, OFFSET>,
GetOffsetByLineWide: GetOffsetByLineWide::<Identity, OFFSET>,
GetModuleByModuleNameWide: GetModuleByModuleNameWide::<Identity, OFFSET>,
GetSymbolModuleWide: GetSymbolModuleWide::<Identity, OFFSET>,
GetTypeNameWide: GetTypeNameWide::<Identity, OFFSET>,
GetTypeIdWide: GetTypeIdWide::<Identity, OFFSET>,
GetFieldOffsetWide: GetFieldOffsetWide::<Identity, OFFSET>,
GetSymbolTypeIdWide: GetSymbolTypeIdWide::<Identity, OFFSET>,
GetScopeSymbolGroup2: GetScopeSymbolGroup2::<Identity, OFFSET>,
CreateSymbolGroup2: CreateSymbolGroup2::<Identity, OFFSET>,
StartSymbolMatchWide: StartSymbolMatchWide::<Identity, OFFSET>,
GetNextSymbolMatchWide: GetNextSymbolMatchWide::<Identity, OFFSET>,
ReloadWide: ReloadWide::<Identity, OFFSET>,
GetSymbolPathWide: GetSymbolPathWide::<Identity, OFFSET>,
SetSymbolPathWide: SetSymbolPathWide::<Identity, OFFSET>,
AppendSymbolPathWide: AppendSymbolPathWide::<Identity, OFFSET>,
GetImagePathWide: GetImagePathWide::<Identity, OFFSET>,
SetImagePathWide: SetImagePathWide::<Identity, OFFSET>,
AppendImagePathWide: AppendImagePathWide::<Identity, OFFSET>,
GetSourcePathWide: GetSourcePathWide::<Identity, OFFSET>,
GetSourcePathElementWide: GetSourcePathElementWide::<Identity, OFFSET>,
SetSourcePathWide: SetSourcePathWide::<Identity, OFFSET>,
AppendSourcePathWide: AppendSourcePathWide::<Identity, OFFSET>,
FindSourceFileWide: FindSourceFileWide::<Identity, OFFSET>,
GetSourceFileLineOffsetsWide: GetSourceFileLineOffsetsWide::<Identity, OFFSET>,
GetModuleVersionInformationWide: GetModuleVersionInformationWide::<Identity, OFFSET>,
GetModuleNameStringWide: GetModuleNameStringWide::<Identity, OFFSET>,
GetConstantNameWide: GetConstantNameWide::<Identity, OFFSET>,
GetFieldNameWide: GetFieldNameWide::<Identity, OFFSET>,
IsManagedModule: IsManagedModule::<Identity, OFFSET>,
GetModuleByModuleName2: GetModuleByModuleName2::<Identity, OFFSET>,
GetModuleByModuleName2Wide: GetModuleByModuleName2Wide::<Identity, OFFSET>,
GetModuleByOffset2: GetModuleByOffset2::<Identity, OFFSET>,
AddSyntheticModule: AddSyntheticModule::<Identity, OFFSET>,
AddSyntheticModuleWide: AddSyntheticModuleWide::<Identity, OFFSET>,
RemoveSyntheticModule: RemoveSyntheticModule::<Identity, OFFSET>,
GetCurrentScopeFrameIndex: GetCurrentScopeFrameIndex::<Identity, OFFSET>,
SetScopeFrameByIndex: SetScopeFrameByIndex::<Identity, OFFSET>,
SetScopeFromJitDebugInfo: SetScopeFromJitDebugInfo::<Identity, OFFSET>,
SetScopeFromStoredEvent: SetScopeFromStoredEvent::<Identity, OFFSET>,
OutputSymbolByOffset: OutputSymbolByOffset::<Identity, OFFSET>,
GetFunctionEntryByOffset: GetFunctionEntryByOffset::<Identity, OFFSET>,
GetFieldTypeAndOffset: GetFieldTypeAndOffset::<Identity, OFFSET>,
GetFieldTypeAndOffsetWide: GetFieldTypeAndOffsetWide::<Identity, OFFSET>,
AddSyntheticSymbol: AddSyntheticSymbol::<Identity, OFFSET>,
AddSyntheticSymbolWide: AddSyntheticSymbolWide::<Identity, OFFSET>,
RemoveSyntheticSymbol: RemoveSyntheticSymbol::<Identity, OFFSET>,
GetSymbolEntriesByOffset: GetSymbolEntriesByOffset::<Identity, OFFSET>,
GetSymbolEntriesByName: GetSymbolEntriesByName::<Identity, OFFSET>,
GetSymbolEntriesByNameWide: GetSymbolEntriesByNameWide::<Identity, OFFSET>,
GetSymbolEntryByToken: GetSymbolEntryByToken::<Identity, OFFSET>,
GetSymbolEntryInformation: GetSymbolEntryInformation::<Identity, OFFSET>,
GetSymbolEntryString: GetSymbolEntryString::<Identity, OFFSET>,
GetSymbolEntryStringWide: GetSymbolEntryStringWide::<Identity, OFFSET>,
GetSymbolEntryOffsetRegions: GetSymbolEntryOffsetRegions::<Identity, OFFSET>,
GetSymbolEntryBySymbolEntry: GetSymbolEntryBySymbolEntry::<Identity, OFFSET>,
GetSourceEntriesByOffset: GetSourceEntriesByOffset::<Identity, OFFSET>,
GetSourceEntriesByLine: GetSourceEntriesByLine::<Identity, OFFSET>,
GetSourceEntriesByLineWide: GetSourceEntriesByLineWide::<Identity, OFFSET>,
GetSourceEntryString: GetSourceEntryString::<Identity, OFFSET>,
GetSourceEntryStringWide: GetSourceEntryStringWide::<Identity, OFFSET>,
GetSourceEntryOffsetRegions: GetSourceEntryOffsetRegions::<Identity, OFFSET>,
GetSourceEntryBySourceEntry: GetSourceEntryBySourceEntry::<Identity, OFFSET>,
GetScopeEx: GetScopeEx::<Identity, OFFSET>,
SetScopeEx: SetScopeEx::<Identity, OFFSET>,
GetNameByInlineContext: GetNameByInlineContext::<Identity, OFFSET>,
GetNameByInlineContextWide: GetNameByInlineContextWide::<Identity, OFFSET>,
GetLineByInlineContext: GetLineByInlineContext::<Identity, OFFSET>,
GetLineByInlineContextWide: GetLineByInlineContextWide::<Identity, OFFSET>,
OutputSymbolByInlineContext: OutputSymbolByInlineContext::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugSymbols4 as windows_core::Interface>::IID
}
}
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: 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: 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<()>;
}
impl windows_core::RuntimeName for IDebugSymbols5 {}
impl IDebugSymbols5_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDebugSymbols5_Vtbl
where
Identity: IDebugSymbols5_Impl,
{
unsafe extern "system" fn GetSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetSymbolOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AddSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::RemoveSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetSymbolOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetSymbolOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetNameByOffset(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetOffsetByName(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetNearNameByOffset(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetLineByOffset(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, line: u32, file: windows_core::PCSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetOffsetByLine(this, core::mem::transmute_copy(&line), core::mem::transmute(&file)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberModules<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, loaded: *mut u32, unloaded: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetNumberModules(this, core::mem::transmute_copy(&loaded), core::mem::transmute_copy(&unloaded)).into()
}
unsafe extern "system" fn GetModuleByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetModuleByIndex(this, core::mem::transmute_copy(&index)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCSTR, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleByModuleName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleByOffset(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleNames(
this,
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, const OFFSET: isize>(this: *mut core::ffi::c_void, count: u32, bases: *const u64, start: u32, params: *mut DEBUG_MODULE_PARAMETERS) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleParameters(this, core::mem::transmute_copy(&count), core::mem::transmute_copy(&bases), core::mem::transmute_copy(&start), core::mem::transmute_copy(¶ms)).into()
}
unsafe extern "system" fn GetSymbolModule<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetSymbolModule(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeName<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetTypeName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, name: windows_core::PCSTR, typeid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetTypeId(this, core::mem::transmute_copy(&module), core::mem::transmute(&name)) {
Ok(ok__) => {
typeid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, size: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetTypeSize(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid)) {
Ok(ok__) => {
size.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, field: windows_core::PCSTR, offset: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetFieldOffset(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid), core::mem::transmute(&field)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCSTR, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSymbolTypeId(this, core::mem::transmute(&symbol), core::mem::transmute_copy(&typeid), core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetOffsetTypeId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetOffsetTypeId(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::ReadTypedDataVirtual(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::WriteTypedDataVirtual(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::OutputTypedDataVirtual(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::ReadTypedDataPhysical(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::WriteTypedDataPhysical(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, offset: u64, module: u64, typeid: u32, flags: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::OutputTypedDataPhysical(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetScope(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetScope(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::ResetScope(this).into()
}
unsafe extern "system" fn GetScopeSymbolGroup<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetScopeSymbolGroup(this, core::mem::transmute_copy(&flags), windows_core::from_raw_borrowed(&update)) {
Ok(ok__) => {
symbols.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, group: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::CreateSymbolGroup(this) {
Ok(ok__) => {
group.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pattern: windows_core::PCSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::StartSymbolMatch(this, core::mem::transmute(&pattern)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatch<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetNextSymbolMatch(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::EndSymbolMatch(this, core::mem::transmute_copy(&handle)).into()
}
unsafe extern "system" fn Reload<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::Reload(this, core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSymbolPath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetSymbolPath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AppendSymbolPath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetImagePath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetImagePath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AppendImagePath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourcePath(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PSTR, buffersize: u32, elementsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourcePathElement(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetSourcePath(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AppendSourcePath(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFile<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::FindSourceFile(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourceFileLineOffsets(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleVersionInformation(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleNameString(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetConstantName(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetFieldName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetTypeOptions(this) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AddTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn RemoveTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::RemoveTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn SetTypeOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetTypeOptions(this, core::mem::transmute_copy(&options)).into()
}
unsafe extern "system" fn GetNameByOffsetWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetNameByOffsetWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCWSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetOffsetByNameWide(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNearNameByOffsetWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetNearNameByOffsetWide(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetLineByOffsetWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, line: u32, file: windows_core::PCWSTR, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetOffsetByLineWide(this, core::mem::transmute_copy(&line), core::mem::transmute(&file)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetModuleByModuleNameWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: windows_core::PCWSTR, startindex: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleByModuleNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCWSTR, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetSymbolModuleWide(this, core::mem::transmute(&symbol)) {
Ok(ok__) => {
base.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeNameWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetTypeNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, name: windows_core::PCWSTR, typeid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetTypeIdWide(this, core::mem::transmute_copy(&module), core::mem::transmute(&name)) {
Ok(ok__) => {
typeid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldOffsetWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, module: u64, typeid: u32, field: windows_core::PCWSTR, offset: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetFieldOffsetWide(this, core::mem::transmute_copy(&module), core::mem::transmute_copy(&typeid), core::mem::transmute(&field)) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolTypeIdWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, symbol: windows_core::PCWSTR, typeid: *mut u32, module: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSymbolTypeIdWide(this, core::mem::transmute(&symbol), core::mem::transmute_copy(&typeid), core::mem::transmute_copy(&module)).into()
}
unsafe extern "system" fn GetScopeSymbolGroup2<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetScopeSymbolGroup2(this, core::mem::transmute_copy(&flags), windows_core::from_raw_borrowed(&update)) {
Ok(ok__) => {
symbols.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSymbolGroup2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, group: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::CreateSymbolGroup2(this) {
Ok(ok__) => {
group.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartSymbolMatchWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pattern: windows_core::PCWSTR, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::StartSymbolMatchWide(this, core::mem::transmute(&pattern)) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextSymbolMatchWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetNextSymbolMatchWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, module: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::ReloadWide(this, core::mem::transmute(&module)).into()
}
unsafe extern "system" fn GetSymbolPathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSymbolPathWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetSymbolPathWide(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSymbolPathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AppendSymbolPathWide(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetImagePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetImagePathWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetImagePathWide(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendImagePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AppendImagePathWide(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn GetSourcePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, pathsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourcePathWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, buffer: windows_core::PWSTR, buffersize: u32, elementsize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourcePathElementWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetSourcePathWide(this, core::mem::transmute(&path)).into()
}
unsafe extern "system" fn AppendSourcePathWide<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, addition: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AppendSourcePathWide(this, core::mem::transmute(&addition)).into()
}
unsafe extern "system" fn FindSourceFileWide<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::FindSourceFileWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, file: windows_core::PCWSTR, buffer: *mut u64, bufferlines: u32, filelines: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourceFileLineOffsetsWide(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleVersionInformationWide(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleNameStringWide(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetConstantNameWide(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetFieldNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, base: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::IsManagedModule(this, core::mem::transmute_copy(&index), core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetModuleByModuleName2<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleByModuleName2(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleByModuleName2Wide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, startindex: u32, flags: u32, index: *mut u32, base: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetModuleByOffset2(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AddSyntheticModule(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AddSyntheticModuleWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, base: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::RemoveSyntheticModule(this, core::mem::transmute_copy(&base)).into()
}
unsafe extern "system" fn GetCurrentScopeFrameIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetCurrentScopeFrameIndex(this) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetScopeFrameByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetScopeFrameByIndex(this, core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn SetScopeFromJitDebugInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, infooffset: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetScopeFromJitDebugInfo(this, core::mem::transmute_copy(&outputcontrol), core::mem::transmute_copy(&infooffset)).into()
}
unsafe extern "system" fn SetScopeFromStoredEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetScopeFromStoredEvent(this).into()
}
unsafe extern "system" fn OutputSymbolByOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::OutputSymbolByOffset(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetFunctionEntryByOffset(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetFieldTypeAndOffset(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetFieldTypeAndOffsetWide(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AddSyntheticSymbol(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::AddSyntheticSymbolWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::RemoveSyntheticSymbol(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetSymbolEntriesByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSymbolEntriesByOffset(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSymbolEntriesByName(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSymbolEntriesByNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, modulebase: u64, token: u32, id: *mut DEBUG_MODULE_AND_ID) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetSymbolEntryByToken(this, core::mem::transmute_copy(&modulebase), core::mem::transmute_copy(&token)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSymbolEntryInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *const DEBUG_MODULE_AND_ID, info: *mut DEBUG_SYMBOL_ENTRY) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSymbolEntryInformation(this, core::mem::transmute_copy(&id), core::mem::transmute_copy(&info)).into()
}
unsafe extern "system" fn GetSymbolEntryString<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSymbolEntryString(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSymbolEntryStringWide(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSymbolEntryOffsetRegions(this, core::mem::transmute_copy(&id), core::mem::transmute_copy(&flags), core::mem::transmute_copy(®ions), core::mem::transmute_copy(®ionscount), core::mem::transmute_copy(®ionsavail)).into()
}
unsafe extern "system" fn GetSymbolEntryBySymbolEntry<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetSymbolEntryBySymbolEntry(this, core::mem::transmute_copy(&fromid), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
toid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSourceEntriesByOffset<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourceEntriesByOffset(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourceEntriesByLine(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourceEntriesByLineWide(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourceEntryString(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourceEntryStringWide(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourceEntryOffsetRegions(this, core::mem::transmute_copy(&entry), core::mem::transmute_copy(&flags), core::mem::transmute_copy(®ions), core::mem::transmute_copy(®ionscount), core::mem::transmute_copy(®ionsavail)).into()
}
unsafe extern "system" fn GetSourceEntryBySourceEntry<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetSourceEntryBySourceEntry(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetScopeEx(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetScopeEx(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetNameByInlineContext(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetNameByInlineContextWide(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetLineByInlineContext(this, 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, 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
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::GetLineByInlineContextWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, outputcontrol: u32, flags: u32, offset: u64, inlinecontext: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::OutputSymbolByInlineContext(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, index: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSymbols5_Impl::GetCurrentScopeFrameIndexEx(this, core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
index.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetScopeFrameByIndexEx<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, index: u32) -> windows_core::HRESULT
where
Identity: IDebugSymbols5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSymbols5_Impl::SetScopeFrameByIndexEx(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&index)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSymbolOptions: GetSymbolOptions::<Identity, OFFSET>,
AddSymbolOptions: AddSymbolOptions::<Identity, OFFSET>,
RemoveSymbolOptions: RemoveSymbolOptions::<Identity, OFFSET>,
SetSymbolOptions: SetSymbolOptions::<Identity, OFFSET>,
GetNameByOffset: GetNameByOffset::<Identity, OFFSET>,
GetOffsetByName: GetOffsetByName::<Identity, OFFSET>,
GetNearNameByOffset: GetNearNameByOffset::<Identity, OFFSET>,
GetLineByOffset: GetLineByOffset::<Identity, OFFSET>,
GetOffsetByLine: GetOffsetByLine::<Identity, OFFSET>,
GetNumberModules: GetNumberModules::<Identity, OFFSET>,
GetModuleByIndex: GetModuleByIndex::<Identity, OFFSET>,
GetModuleByModuleName: GetModuleByModuleName::<Identity, OFFSET>,
GetModuleByOffset: GetModuleByOffset::<Identity, OFFSET>,
GetModuleNames: GetModuleNames::<Identity, OFFSET>,
GetModuleParameters: GetModuleParameters::<Identity, OFFSET>,
GetSymbolModule: GetSymbolModule::<Identity, OFFSET>,
GetTypeName: GetTypeName::<Identity, OFFSET>,
GetTypeId: GetTypeId::<Identity, OFFSET>,
GetTypeSize: GetTypeSize::<Identity, OFFSET>,
GetFieldOffset: GetFieldOffset::<Identity, OFFSET>,
GetSymbolTypeId: GetSymbolTypeId::<Identity, OFFSET>,
GetOffsetTypeId: GetOffsetTypeId::<Identity, OFFSET>,
ReadTypedDataVirtual: ReadTypedDataVirtual::<Identity, OFFSET>,
WriteTypedDataVirtual: WriteTypedDataVirtual::<Identity, OFFSET>,
OutputTypedDataVirtual: OutputTypedDataVirtual::<Identity, OFFSET>,
ReadTypedDataPhysical: ReadTypedDataPhysical::<Identity, OFFSET>,
WriteTypedDataPhysical: WriteTypedDataPhysical::<Identity, OFFSET>,
OutputTypedDataPhysical: OutputTypedDataPhysical::<Identity, OFFSET>,
GetScope: GetScope::<Identity, OFFSET>,
SetScope: SetScope::<Identity, OFFSET>,
ResetScope: ResetScope::<Identity, OFFSET>,
GetScopeSymbolGroup: GetScopeSymbolGroup::<Identity, OFFSET>,
CreateSymbolGroup: CreateSymbolGroup::<Identity, OFFSET>,
StartSymbolMatch: StartSymbolMatch::<Identity, OFFSET>,
GetNextSymbolMatch: GetNextSymbolMatch::<Identity, OFFSET>,
EndSymbolMatch: EndSymbolMatch::<Identity, OFFSET>,
Reload: Reload::<Identity, OFFSET>,
GetSymbolPath: GetSymbolPath::<Identity, OFFSET>,
SetSymbolPath: SetSymbolPath::<Identity, OFFSET>,
AppendSymbolPath: AppendSymbolPath::<Identity, OFFSET>,
GetImagePath: GetImagePath::<Identity, OFFSET>,
SetImagePath: SetImagePath::<Identity, OFFSET>,
AppendImagePath: AppendImagePath::<Identity, OFFSET>,
GetSourcePath: GetSourcePath::<Identity, OFFSET>,
GetSourcePathElement: GetSourcePathElement::<Identity, OFFSET>,
SetSourcePath: SetSourcePath::<Identity, OFFSET>,
AppendSourcePath: AppendSourcePath::<Identity, OFFSET>,
FindSourceFile: FindSourceFile::<Identity, OFFSET>,
GetSourceFileLineOffsets: GetSourceFileLineOffsets::<Identity, OFFSET>,
GetModuleVersionInformation: GetModuleVersionInformation::<Identity, OFFSET>,
GetModuleNameString: GetModuleNameString::<Identity, OFFSET>,
GetConstantName: GetConstantName::<Identity, OFFSET>,
GetFieldName: GetFieldName::<Identity, OFFSET>,
GetTypeOptions: GetTypeOptions::<Identity, OFFSET>,
AddTypeOptions: AddTypeOptions::<Identity, OFFSET>,
RemoveTypeOptions: RemoveTypeOptions::<Identity, OFFSET>,
SetTypeOptions: SetTypeOptions::<Identity, OFFSET>,
GetNameByOffsetWide: GetNameByOffsetWide::<Identity, OFFSET>,
GetOffsetByNameWide: GetOffsetByNameWide::<Identity, OFFSET>,
GetNearNameByOffsetWide: GetNearNameByOffsetWide::<Identity, OFFSET>,
GetLineByOffsetWide: GetLineByOffsetWide::<Identity, OFFSET>,
GetOffsetByLineWide: GetOffsetByLineWide::<Identity, OFFSET>,
GetModuleByModuleNameWide: GetModuleByModuleNameWide::<Identity, OFFSET>,
GetSymbolModuleWide: GetSymbolModuleWide::<Identity, OFFSET>,
GetTypeNameWide: GetTypeNameWide::<Identity, OFFSET>,
GetTypeIdWide: GetTypeIdWide::<Identity, OFFSET>,
GetFieldOffsetWide: GetFieldOffsetWide::<Identity, OFFSET>,
GetSymbolTypeIdWide: GetSymbolTypeIdWide::<Identity, OFFSET>,
GetScopeSymbolGroup2: GetScopeSymbolGroup2::<Identity, OFFSET>,
CreateSymbolGroup2: CreateSymbolGroup2::<Identity, OFFSET>,
StartSymbolMatchWide: StartSymbolMatchWide::<Identity, OFFSET>,
GetNextSymbolMatchWide: GetNextSymbolMatchWide::<Identity, OFFSET>,
ReloadWide: ReloadWide::<Identity, OFFSET>,
GetSymbolPathWide: GetSymbolPathWide::<Identity, OFFSET>,
SetSymbolPathWide: SetSymbolPathWide::<Identity, OFFSET>,
AppendSymbolPathWide: AppendSymbolPathWide::<Identity, OFFSET>,
GetImagePathWide: GetImagePathWide::<Identity, OFFSET>,
SetImagePathWide: SetImagePathWide::<Identity, OFFSET>,
AppendImagePathWide: AppendImagePathWide::<Identity, OFFSET>,
GetSourcePathWide: GetSourcePathWide::<Identity, OFFSET>,
GetSourcePathElementWide: GetSourcePathElementWide::<Identity, OFFSET>,
SetSourcePathWide: SetSourcePathWide::<Identity, OFFSET>,
AppendSourcePathWide: AppendSourcePathWide::<Identity, OFFSET>,
FindSourceFileWide: FindSourceFileWide::<Identity, OFFSET>,
GetSourceFileLineOffsetsWide: GetSourceFileLineOffsetsWide::<Identity, OFFSET>,
GetModuleVersionInformationWide: GetModuleVersionInformationWide::<Identity, OFFSET>,
GetModuleNameStringWide: GetModuleNameStringWide::<Identity, OFFSET>,
GetConstantNameWide: GetConstantNameWide::<Identity, OFFSET>,
GetFieldNameWide: GetFieldNameWide::<Identity, OFFSET>,
IsManagedModule: IsManagedModule::<Identity, OFFSET>,
GetModuleByModuleName2: GetModuleByModuleName2::<Identity, OFFSET>,
GetModuleByModuleName2Wide: GetModuleByModuleName2Wide::<Identity, OFFSET>,
GetModuleByOffset2: GetModuleByOffset2::<Identity, OFFSET>,
AddSyntheticModule: AddSyntheticModule::<Identity, OFFSET>,
AddSyntheticModuleWide: AddSyntheticModuleWide::<Identity, OFFSET>,
RemoveSyntheticModule: RemoveSyntheticModule::<Identity, OFFSET>,
GetCurrentScopeFrameIndex: GetCurrentScopeFrameIndex::<Identity, OFFSET>,
SetScopeFrameByIndex: SetScopeFrameByIndex::<Identity, OFFSET>,
SetScopeFromJitDebugInfo: SetScopeFromJitDebugInfo::<Identity, OFFSET>,
SetScopeFromStoredEvent: SetScopeFromStoredEvent::<Identity, OFFSET>,
OutputSymbolByOffset: OutputSymbolByOffset::<Identity, OFFSET>,
GetFunctionEntryByOffset: GetFunctionEntryByOffset::<Identity, OFFSET>,
GetFieldTypeAndOffset: GetFieldTypeAndOffset::<Identity, OFFSET>,
GetFieldTypeAndOffsetWide: GetFieldTypeAndOffsetWide::<Identity, OFFSET>,
AddSyntheticSymbol: AddSyntheticSymbol::<Identity, OFFSET>,
AddSyntheticSymbolWide: AddSyntheticSymbolWide::<Identity, OFFSET>,
RemoveSyntheticSymbol: RemoveSyntheticSymbol::<Identity, OFFSET>,
GetSymbolEntriesByOffset: GetSymbolEntriesByOffset::<Identity, OFFSET>,
GetSymbolEntriesByName: GetSymbolEntriesByName::<Identity, OFFSET>,
GetSymbolEntriesByNameWide: GetSymbolEntriesByNameWide::<Identity, OFFSET>,
GetSymbolEntryByToken: GetSymbolEntryByToken::<Identity, OFFSET>,
GetSymbolEntryInformation: GetSymbolEntryInformation::<Identity, OFFSET>,
GetSymbolEntryString: GetSymbolEntryString::<Identity, OFFSET>,
GetSymbolEntryStringWide: GetSymbolEntryStringWide::<Identity, OFFSET>,
GetSymbolEntryOffsetRegions: GetSymbolEntryOffsetRegions::<Identity, OFFSET>,
GetSymbolEntryBySymbolEntry: GetSymbolEntryBySymbolEntry::<Identity, OFFSET>,
GetSourceEntriesByOffset: GetSourceEntriesByOffset::<Identity, OFFSET>,
GetSourceEntriesByLine: GetSourceEntriesByLine::<Identity, OFFSET>,
GetSourceEntriesByLineWide: GetSourceEntriesByLineWide::<Identity, OFFSET>,
GetSourceEntryString: GetSourceEntryString::<Identity, OFFSET>,
GetSourceEntryStringWide: GetSourceEntryStringWide::<Identity, OFFSET>,
GetSourceEntryOffsetRegions: GetSourceEntryOffsetRegions::<Identity, OFFSET>,
GetSourceEntryBySourceEntry: GetSourceEntryBySourceEntry::<Identity, OFFSET>,
GetScopeEx: GetScopeEx::<Identity, OFFSET>,
SetScopeEx: SetScopeEx::<Identity, OFFSET>,
GetNameByInlineContext: GetNameByInlineContext::<Identity, OFFSET>,
GetNameByInlineContextWide: GetNameByInlineContextWide::<Identity, OFFSET>,
GetLineByInlineContext: GetLineByInlineContext::<Identity, OFFSET>,
GetLineByInlineContextWide: GetLineByInlineContextWide::<Identity, OFFSET>,
OutputSymbolByInlineContext: OutputSymbolByInlineContext::<Identity, OFFSET>,
GetCurrentScopeFrameIndexEx: GetCurrentScopeFrameIndexEx::<Identity, OFFSET>,
SetScopeFrameByIndexEx: SetScopeFrameByIndexEx::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugSymbols5 as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugSystemObjects_Vtbl
where
Identity: IDebugSystemObjects_Impl,
{
unsafe extern "system" fn GetEventThread<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetEventThread(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetEventProcess(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetCurrentThreadId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects_Impl::SetCurrentThreadId(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetCurrentProcessId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetCurrentProcessId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentProcessId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects_Impl::SetCurrentProcessId(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberThreads<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetNumberThreads(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTotalNumberThreads<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, total: *mut u32, largestprocess: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects_Impl::GetTotalNumberThreads(this, core::mem::transmute_copy(&total), core::mem::transmute_copy(&largestprocess)).into()
}
unsafe extern "system" fn GetThreadIdsByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects_Impl::GetThreadIdsByIndex(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, processor: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetThreadIdByProcessor(this, core::mem::transmute_copy(&processor)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetCurrentThreadDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetThreadIdByDataOffset(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadTeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetCurrentThreadTeb(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByTeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetThreadIdByTeb(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetCurrentThreadSystemId(this) {
Ok(ok__) => {
sysid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdBySystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetThreadIdBySystemId(this, core::mem::transmute_copy(&sysid)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetCurrentThreadHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetThreadIdByHandle(this, core::mem::transmute_copy(&handle)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetNumberProcesses(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdsByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects_Impl::GetProcessIdsByIndex(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetCurrentProcessDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetProcessIdByDataOffset(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessPeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetCurrentProcessPeb(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByPeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetProcessIdByPeb(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetCurrentProcessSystemId(this) {
Ok(ok__) => {
sysid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdBySystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetProcessIdBySystemId(this, core::mem::transmute_copy(&sysid)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetCurrentProcessHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects_Impl::GetProcessIdByHandle(this, core::mem::transmute_copy(&handle)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessExecutableName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, exesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects_Impl::GetCurrentProcessExecutableName(this, 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, OFFSET>,
GetEventProcess: GetEventProcess::<Identity, OFFSET>,
GetCurrentThreadId: GetCurrentThreadId::<Identity, OFFSET>,
SetCurrentThreadId: SetCurrentThreadId::<Identity, OFFSET>,
GetCurrentProcessId: GetCurrentProcessId::<Identity, OFFSET>,
SetCurrentProcessId: SetCurrentProcessId::<Identity, OFFSET>,
GetNumberThreads: GetNumberThreads::<Identity, OFFSET>,
GetTotalNumberThreads: GetTotalNumberThreads::<Identity, OFFSET>,
GetThreadIdsByIndex: GetThreadIdsByIndex::<Identity, OFFSET>,
GetThreadIdByProcessor: GetThreadIdByProcessor::<Identity, OFFSET>,
GetCurrentThreadDataOffset: GetCurrentThreadDataOffset::<Identity, OFFSET>,
GetThreadIdByDataOffset: GetThreadIdByDataOffset::<Identity, OFFSET>,
GetCurrentThreadTeb: GetCurrentThreadTeb::<Identity, OFFSET>,
GetThreadIdByTeb: GetThreadIdByTeb::<Identity, OFFSET>,
GetCurrentThreadSystemId: GetCurrentThreadSystemId::<Identity, OFFSET>,
GetThreadIdBySystemId: GetThreadIdBySystemId::<Identity, OFFSET>,
GetCurrentThreadHandle: GetCurrentThreadHandle::<Identity, OFFSET>,
GetThreadIdByHandle: GetThreadIdByHandle::<Identity, OFFSET>,
GetNumberProcesses: GetNumberProcesses::<Identity, OFFSET>,
GetProcessIdsByIndex: GetProcessIdsByIndex::<Identity, OFFSET>,
GetCurrentProcessDataOffset: GetCurrentProcessDataOffset::<Identity, OFFSET>,
GetProcessIdByDataOffset: GetProcessIdByDataOffset::<Identity, OFFSET>,
GetCurrentProcessPeb: GetCurrentProcessPeb::<Identity, OFFSET>,
GetProcessIdByPeb: GetProcessIdByPeb::<Identity, OFFSET>,
GetCurrentProcessSystemId: GetCurrentProcessSystemId::<Identity, OFFSET>,
GetProcessIdBySystemId: GetProcessIdBySystemId::<Identity, OFFSET>,
GetCurrentProcessHandle: GetCurrentProcessHandle::<Identity, OFFSET>,
GetProcessIdByHandle: GetProcessIdByHandle::<Identity, OFFSET>,
GetCurrentProcessExecutableName: GetCurrentProcessExecutableName::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugSystemObjects as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugSystemObjects2_Vtbl
where
Identity: IDebugSystemObjects2_Impl,
{
unsafe extern "system" fn GetEventThread<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetEventThread(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetEventProcess(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetCurrentThreadId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects2_Impl::SetCurrentThreadId(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetCurrentProcessId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetCurrentProcessId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentProcessId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects2_Impl::SetCurrentProcessId(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberThreads<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetNumberThreads(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTotalNumberThreads<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, total: *mut u32, largestprocess: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects2_Impl::GetTotalNumberThreads(this, core::mem::transmute_copy(&total), core::mem::transmute_copy(&largestprocess)).into()
}
unsafe extern "system" fn GetThreadIdsByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects2_Impl::GetThreadIdsByIndex(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, processor: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetThreadIdByProcessor(this, core::mem::transmute_copy(&processor)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetCurrentThreadDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetThreadIdByDataOffset(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadTeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetCurrentThreadTeb(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByTeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetThreadIdByTeb(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetCurrentThreadSystemId(this) {
Ok(ok__) => {
sysid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdBySystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetThreadIdBySystemId(this, core::mem::transmute_copy(&sysid)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetCurrentThreadHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetThreadIdByHandle(this, core::mem::transmute_copy(&handle)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetNumberProcesses(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdsByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects2_Impl::GetProcessIdsByIndex(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetCurrentProcessDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetProcessIdByDataOffset(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessPeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetCurrentProcessPeb(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByPeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetProcessIdByPeb(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetCurrentProcessSystemId(this) {
Ok(ok__) => {
sysid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdBySystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetProcessIdBySystemId(this, core::mem::transmute_copy(&sysid)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetCurrentProcessHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetProcessIdByHandle(this, core::mem::transmute_copy(&handle)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessExecutableName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, exesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects2_Impl::GetCurrentProcessExecutableName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, uptime: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetCurrentProcessUpTime(this) {
Ok(ok__) => {
uptime.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetImplicitThreadDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetImplicitThreadDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitThreadDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects2_Impl::SetImplicitThreadDataOffset(this, core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetImplicitProcessDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects2_Impl::GetImplicitProcessDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitProcessDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects2_Impl::SetImplicitProcessDataOffset(this, core::mem::transmute_copy(&offset)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetEventThread: GetEventThread::<Identity, OFFSET>,
GetEventProcess: GetEventProcess::<Identity, OFFSET>,
GetCurrentThreadId: GetCurrentThreadId::<Identity, OFFSET>,
SetCurrentThreadId: SetCurrentThreadId::<Identity, OFFSET>,
GetCurrentProcessId: GetCurrentProcessId::<Identity, OFFSET>,
SetCurrentProcessId: SetCurrentProcessId::<Identity, OFFSET>,
GetNumberThreads: GetNumberThreads::<Identity, OFFSET>,
GetTotalNumberThreads: GetTotalNumberThreads::<Identity, OFFSET>,
GetThreadIdsByIndex: GetThreadIdsByIndex::<Identity, OFFSET>,
GetThreadIdByProcessor: GetThreadIdByProcessor::<Identity, OFFSET>,
GetCurrentThreadDataOffset: GetCurrentThreadDataOffset::<Identity, OFFSET>,
GetThreadIdByDataOffset: GetThreadIdByDataOffset::<Identity, OFFSET>,
GetCurrentThreadTeb: GetCurrentThreadTeb::<Identity, OFFSET>,
GetThreadIdByTeb: GetThreadIdByTeb::<Identity, OFFSET>,
GetCurrentThreadSystemId: GetCurrentThreadSystemId::<Identity, OFFSET>,
GetThreadIdBySystemId: GetThreadIdBySystemId::<Identity, OFFSET>,
GetCurrentThreadHandle: GetCurrentThreadHandle::<Identity, OFFSET>,
GetThreadIdByHandle: GetThreadIdByHandle::<Identity, OFFSET>,
GetNumberProcesses: GetNumberProcesses::<Identity, OFFSET>,
GetProcessIdsByIndex: GetProcessIdsByIndex::<Identity, OFFSET>,
GetCurrentProcessDataOffset: GetCurrentProcessDataOffset::<Identity, OFFSET>,
GetProcessIdByDataOffset: GetProcessIdByDataOffset::<Identity, OFFSET>,
GetCurrentProcessPeb: GetCurrentProcessPeb::<Identity, OFFSET>,
GetProcessIdByPeb: GetProcessIdByPeb::<Identity, OFFSET>,
GetCurrentProcessSystemId: GetCurrentProcessSystemId::<Identity, OFFSET>,
GetProcessIdBySystemId: GetProcessIdBySystemId::<Identity, OFFSET>,
GetCurrentProcessHandle: GetCurrentProcessHandle::<Identity, OFFSET>,
GetProcessIdByHandle: GetProcessIdByHandle::<Identity, OFFSET>,
GetCurrentProcessExecutableName: GetCurrentProcessExecutableName::<Identity, OFFSET>,
GetCurrentProcessUpTime: GetCurrentProcessUpTime::<Identity, OFFSET>,
GetImplicitThreadDataOffset: GetImplicitThreadDataOffset::<Identity, OFFSET>,
SetImplicitThreadDataOffset: SetImplicitThreadDataOffset::<Identity, OFFSET>,
GetImplicitProcessDataOffset: GetImplicitProcessDataOffset::<Identity, OFFSET>,
SetImplicitProcessDataOffset: SetImplicitProcessDataOffset::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugSystemObjects2 as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugSystemObjects3_Vtbl
where
Identity: IDebugSystemObjects3_Impl,
{
unsafe extern "system" fn GetEventThread<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetEventThread(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetEventProcess(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentThreadId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::SetCurrentThreadId(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetCurrentProcessId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentProcessId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentProcessId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::SetCurrentProcessId(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberThreads<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetNumberThreads(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTotalNumberThreads<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, total: *mut u32, largestprocess: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::GetTotalNumberThreads(this, core::mem::transmute_copy(&total), core::mem::transmute_copy(&largestprocess)).into()
}
unsafe extern "system" fn GetThreadIdsByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::GetThreadIdsByIndex(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, processor: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetThreadIdByProcessor(this, core::mem::transmute_copy(&processor)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentThreadDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetThreadIdByDataOffset(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadTeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentThreadTeb(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByTeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetThreadIdByTeb(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentThreadSystemId(this) {
Ok(ok__) => {
sysid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdBySystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetThreadIdBySystemId(this, core::mem::transmute_copy(&sysid)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentThreadHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetThreadIdByHandle(this, core::mem::transmute_copy(&handle)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetNumberProcesses(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdsByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::GetProcessIdsByIndex(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentProcessDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetProcessIdByDataOffset(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessPeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentProcessPeb(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByPeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetProcessIdByPeb(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentProcessSystemId(this) {
Ok(ok__) => {
sysid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdBySystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetProcessIdBySystemId(this, core::mem::transmute_copy(&sysid)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentProcessHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetProcessIdByHandle(this, core::mem::transmute_copy(&handle)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessExecutableName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, exesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::GetCurrentProcessExecutableName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, uptime: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentProcessUpTime(this) {
Ok(ok__) => {
uptime.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetImplicitThreadDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetImplicitThreadDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitThreadDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::SetImplicitThreadDataOffset(this, core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetImplicitProcessDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetImplicitProcessDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitProcessDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::SetImplicitProcessDataOffset(this, core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetEventSystem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetEventSystem(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentSystemId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::SetCurrentSystemId(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberSystems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetNumberSystems(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemIdsByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, ids: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::GetSystemIdsByIndex(this, 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, 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
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::GetTotalNumberThreadsAndProcesses(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetCurrentSystemServer(this) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemByServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects3_Impl::GetSystemByServer(this, core::mem::transmute_copy(&server)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemServerName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, namesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects3_Impl::GetCurrentSystemServerName(this, 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, OFFSET>,
GetEventProcess: GetEventProcess::<Identity, OFFSET>,
GetCurrentThreadId: GetCurrentThreadId::<Identity, OFFSET>,
SetCurrentThreadId: SetCurrentThreadId::<Identity, OFFSET>,
GetCurrentProcessId: GetCurrentProcessId::<Identity, OFFSET>,
SetCurrentProcessId: SetCurrentProcessId::<Identity, OFFSET>,
GetNumberThreads: GetNumberThreads::<Identity, OFFSET>,
GetTotalNumberThreads: GetTotalNumberThreads::<Identity, OFFSET>,
GetThreadIdsByIndex: GetThreadIdsByIndex::<Identity, OFFSET>,
GetThreadIdByProcessor: GetThreadIdByProcessor::<Identity, OFFSET>,
GetCurrentThreadDataOffset: GetCurrentThreadDataOffset::<Identity, OFFSET>,
GetThreadIdByDataOffset: GetThreadIdByDataOffset::<Identity, OFFSET>,
GetCurrentThreadTeb: GetCurrentThreadTeb::<Identity, OFFSET>,
GetThreadIdByTeb: GetThreadIdByTeb::<Identity, OFFSET>,
GetCurrentThreadSystemId: GetCurrentThreadSystemId::<Identity, OFFSET>,
GetThreadIdBySystemId: GetThreadIdBySystemId::<Identity, OFFSET>,
GetCurrentThreadHandle: GetCurrentThreadHandle::<Identity, OFFSET>,
GetThreadIdByHandle: GetThreadIdByHandle::<Identity, OFFSET>,
GetNumberProcesses: GetNumberProcesses::<Identity, OFFSET>,
GetProcessIdsByIndex: GetProcessIdsByIndex::<Identity, OFFSET>,
GetCurrentProcessDataOffset: GetCurrentProcessDataOffset::<Identity, OFFSET>,
GetProcessIdByDataOffset: GetProcessIdByDataOffset::<Identity, OFFSET>,
GetCurrentProcessPeb: GetCurrentProcessPeb::<Identity, OFFSET>,
GetProcessIdByPeb: GetProcessIdByPeb::<Identity, OFFSET>,
GetCurrentProcessSystemId: GetCurrentProcessSystemId::<Identity, OFFSET>,
GetProcessIdBySystemId: GetProcessIdBySystemId::<Identity, OFFSET>,
GetCurrentProcessHandle: GetCurrentProcessHandle::<Identity, OFFSET>,
GetProcessIdByHandle: GetProcessIdByHandle::<Identity, OFFSET>,
GetCurrentProcessExecutableName: GetCurrentProcessExecutableName::<Identity, OFFSET>,
GetCurrentProcessUpTime: GetCurrentProcessUpTime::<Identity, OFFSET>,
GetImplicitThreadDataOffset: GetImplicitThreadDataOffset::<Identity, OFFSET>,
SetImplicitThreadDataOffset: SetImplicitThreadDataOffset::<Identity, OFFSET>,
GetImplicitProcessDataOffset: GetImplicitProcessDataOffset::<Identity, OFFSET>,
SetImplicitProcessDataOffset: SetImplicitProcessDataOffset::<Identity, OFFSET>,
GetEventSystem: GetEventSystem::<Identity, OFFSET>,
GetCurrentSystemId: GetCurrentSystemId::<Identity, OFFSET>,
SetCurrentSystemId: SetCurrentSystemId::<Identity, OFFSET>,
GetNumberSystems: GetNumberSystems::<Identity, OFFSET>,
GetSystemIdsByIndex: GetSystemIdsByIndex::<Identity, OFFSET>,
GetTotalNumberThreadsAndProcesses: GetTotalNumberThreadsAndProcesses::<Identity, OFFSET>,
GetCurrentSystemServer: GetCurrentSystemServer::<Identity, OFFSET>,
GetSystemByServer: GetSystemByServer::<Identity, OFFSET>,
GetCurrentSystemServerName: GetCurrentSystemServerName::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugSystemObjects3 as windows_core::Interface>::IID
}
}
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, const OFFSET: isize>() -> IDebugSystemObjects4_Vtbl
where
Identity: IDebugSystemObjects4_Impl,
{
unsafe extern "system" fn GetEventThread<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetEventThread(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetEventProcess(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentThreadId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentThreadId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::SetCurrentThreadId(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetCurrentProcessId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentProcessId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentProcessId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::SetCurrentProcessId(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberThreads<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetNumberThreads(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTotalNumberThreads<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, total: *mut u32, largestprocess: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::GetTotalNumberThreads(this, core::mem::transmute_copy(&total), core::mem::transmute_copy(&largestprocess)).into()
}
unsafe extern "system" fn GetThreadIdsByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::GetThreadIdsByIndex(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, processor: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetThreadIdByProcessor(this, core::mem::transmute_copy(&processor)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentThreadDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetThreadIdByDataOffset(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadTeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentThreadTeb(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByTeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetThreadIdByTeb(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentThreadSystemId(this) {
Ok(ok__) => {
sysid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdBySystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetThreadIdBySystemId(this, core::mem::transmute_copy(&sysid)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentThreadHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentThreadHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetThreadIdByHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetThreadIdByHandle(this, core::mem::transmute_copy(&handle)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetNumberProcesses(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdsByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, ids: *mut u32, sysids: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::GetProcessIdsByIndex(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentProcessDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetProcessIdByDataOffset(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessPeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentProcessPeb(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByPeb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetProcessIdByPeb(this, core::mem::transmute_copy(&offset)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentProcessSystemId(this) {
Ok(ok__) => {
sysid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdBySystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sysid: u32, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetProcessIdBySystemId(this, core::mem::transmute_copy(&sysid)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentProcessHandle(this) {
Ok(ok__) => {
handle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProcessIdByHandle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, handle: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetProcessIdByHandle(this, core::mem::transmute_copy(&handle)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentProcessExecutableName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, exesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::GetCurrentProcessExecutableName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, uptime: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentProcessUpTime(this) {
Ok(ok__) => {
uptime.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetImplicitThreadDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetImplicitThreadDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitThreadDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::SetImplicitThreadDataOffset(this, core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetImplicitProcessDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetImplicitProcessDataOffset(this) {
Ok(ok__) => {
offset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetImplicitProcessDataOffset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, offset: u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::SetImplicitProcessDataOffset(this, core::mem::transmute_copy(&offset)).into()
}
unsafe extern "system" fn GetEventSystem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetEventSystem(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentSystemId(this) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentSystemId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::SetCurrentSystemId(this, core::mem::transmute_copy(&id)).into()
}
unsafe extern "system" fn GetNumberSystems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, number: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetNumberSystems(this) {
Ok(ok__) => {
number.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemIdsByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, start: u32, count: u32, ids: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::GetSystemIdsByIndex(this, 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, 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
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::GetTotalNumberThreadsAndProcesses(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, server: *mut u64) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetCurrentSystemServer(this) {
Ok(ok__) => {
server.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSystemByServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, server: u64, id: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDebugSystemObjects4_Impl::GetSystemByServer(this, core::mem::transmute_copy(&server)) {
Ok(ok__) => {
id.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSystemServerName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PSTR, buffersize: u32, namesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::GetCurrentSystemServerName(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, exesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::GetCurrentProcessExecutableNameWide(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, buffer: windows_core::PWSTR, buffersize: u32, namesize: *mut u32) -> windows_core::HRESULT
where
Identity: IDebugSystemObjects4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDebugSystemObjects4_Impl::GetCurrentSystemServerNameWide(this, 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, OFFSET>,
GetEventProcess: GetEventProcess::<Identity, OFFSET>,
GetCurrentThreadId: GetCurrentThreadId::<Identity, OFFSET>,
SetCurrentThreadId: SetCurrentThreadId::<Identity, OFFSET>,
GetCurrentProcessId: GetCurrentProcessId::<Identity, OFFSET>,
SetCurrentProcessId: SetCurrentProcessId::<Identity, OFFSET>,
GetNumberThreads: GetNumberThreads::<Identity, OFFSET>,
GetTotalNumberThreads: GetTotalNumberThreads::<Identity, OFFSET>,
GetThreadIdsByIndex: GetThreadIdsByIndex::<Identity, OFFSET>,
GetThreadIdByProcessor: GetThreadIdByProcessor::<Identity, OFFSET>,
GetCurrentThreadDataOffset: GetCurrentThreadDataOffset::<Identity, OFFSET>,
GetThreadIdByDataOffset: GetThreadIdByDataOffset::<Identity, OFFSET>,
GetCurrentThreadTeb: GetCurrentThreadTeb::<Identity, OFFSET>,
GetThreadIdByTeb: GetThreadIdByTeb::<Identity, OFFSET>,
GetCurrentThreadSystemId: GetCurrentThreadSystemId::<Identity, OFFSET>,
GetThreadIdBySystemId: GetThreadIdBySystemId::<Identity, OFFSET>,
GetCurrentThreadHandle: GetCurrentThreadHandle::<Identity, OFFSET>,
GetThreadIdByHandle: GetThreadIdByHandle::<Identity, OFFSET>,
GetNumberProcesses: GetNumberProcesses::<Identity, OFFSET>,
GetProcessIdsByIndex: GetProcessIdsByIndex::<Identity, OFFSET>,
GetCurrentProcessDataOffset: GetCurrentProcessDataOffset::<Identity, OFFSET>,
GetProcessIdByDataOffset: GetProcessIdByDataOffset::<Identity, OFFSET>,
GetCurrentProcessPeb: GetCurrentProcessPeb::<Identity, OFFSET>,
GetProcessIdByPeb: GetProcessIdByPeb::<Identity, OFFSET>,
GetCurrentProcessSystemId: GetCurrentProcessSystemId::<Identity, OFFSET>,
GetProcessIdBySystemId: GetProcessIdBySystemId::<Identity, OFFSET>,
GetCurrentProcessHandle: GetCurrentProcessHandle::<Identity, OFFSET>,
GetProcessIdByHandle: GetProcessIdByHandle::<Identity, OFFSET>,
GetCurrentProcessExecutableName: GetCurrentProcessExecutableName::<Identity, OFFSET>,
GetCurrentProcessUpTime: GetCurrentProcessUpTime::<Identity, OFFSET>,
GetImplicitThreadDataOffset: GetImplicitThreadDataOffset::<Identity, OFFSET>,
SetImplicitThreadDataOffset: SetImplicitThreadDataOffset::<Identity, OFFSET>,
GetImplicitProcessDataOffset: GetImplicitProcessDataOffset::<Identity, OFFSET>,
SetImplicitProcessDataOffset: SetImplicitProcessDataOffset::<Identity, OFFSET>,
GetEventSystem: GetEventSystem::<Identity, OFFSET>,
GetCurrentSystemId: GetCurrentSystemId::<Identity, OFFSET>,
SetCurrentSystemId: SetCurrentSystemId::<Identity, OFFSET>,
GetNumberSystems: GetNumberSystems::<Identity, OFFSET>,
GetSystemIdsByIndex: GetSystemIdsByIndex::<Identity, OFFSET>,
GetTotalNumberThreadsAndProcesses: GetTotalNumberThreadsAndProcesses::<Identity, OFFSET>,
GetCurrentSystemServer: GetCurrentSystemServer::<Identity, OFFSET>,
GetSystemByServer: GetSystemByServer::<Identity, OFFSET>,
GetCurrentSystemServerName: GetCurrentSystemServerName::<Identity, OFFSET>,
GetCurrentProcessExecutableNameWide: GetCurrentProcessExecutableNameWide::<Identity, OFFSET>,
GetCurrentSystemServerNameWide: GetCurrentSystemServerNameWide::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDebugSystemObjects4 as windows_core::Interface>::IID
}
}
pub trait IDynamicConceptProviderConcept_Impl: Sized {
fn GetConcept(&self, contextobject: Option<&IModelObject>, conceptid: *const windows_core::GUID, conceptinterface: *mut Option<windows_core::IUnknown>, conceptmetadata: *mut Option<IKeyStore>, hasconcept: *mut bool) -> windows_core::Result<()>;
fn SetConcept(&self, contextobject: Option<&IModelObject>, conceptid: *const windows_core::GUID, conceptinterface: Option<&windows_core::IUnknown>, conceptmetadata: Option<&IKeyStore>) -> windows_core::Result<()>;
fn NotifyParent(&self, parentmodel: Option<&IModelObject>) -> windows_core::Result<()>;
fn NotifyParentChange(&self, parentmodel: 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, const OFFSET: isize>() -> IDynamicConceptProviderConcept_Vtbl
where
Identity: IDynamicConceptProviderConcept_Impl,
{
unsafe extern "system" fn GetConcept<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDynamicConceptProviderConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDynamicConceptProviderConcept_Impl::GetConcept(this, 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, 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
where
Identity: IDynamicConceptProviderConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDynamicConceptProviderConcept_Impl::SetConcept(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, parentmodel: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDynamicConceptProviderConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDynamicConceptProviderConcept_Impl::NotifyParent(this, windows_core::from_raw_borrowed(&parentmodel)).into()
}
unsafe extern "system" fn NotifyParentChange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, parentmodel: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDynamicConceptProviderConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDynamicConceptProviderConcept_Impl::NotifyParentChange(this, windows_core::from_raw_borrowed(&parentmodel)).into()
}
unsafe extern "system" fn NotifyDestruct<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDynamicConceptProviderConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDynamicConceptProviderConcept_Impl::NotifyDestruct(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetConcept: GetConcept::<Identity, OFFSET>,
SetConcept: SetConcept::<Identity, OFFSET>,
NotifyParent: NotifyParent::<Identity, OFFSET>,
NotifyParentChange: NotifyParentChange::<Identity, OFFSET>,
NotifyDestruct: NotifyDestruct::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDynamicConceptProviderConcept as windows_core::Interface>::IID
}
}
pub trait IDynamicKeyProviderConcept_Impl: Sized {
fn GetKey(&self, contextobject: Option<&IModelObject>, key: &windows_core::PCWSTR, keyvalue: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>, haskey: *mut bool) -> windows_core::Result<()>;
fn SetKey(&self, contextobject: Option<&IModelObject>, key: &windows_core::PCWSTR, keyvalue: Option<&IModelObject>, metadata: Option<&IKeyStore>) -> windows_core::Result<()>;
fn EnumerateKeys(&self, contextobject: Option<&IModelObject>) -> windows_core::Result<IKeyEnumerator>;
}
impl windows_core::RuntimeName for IDynamicKeyProviderConcept {}
impl IDynamicKeyProviderConcept_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDynamicKeyProviderConcept_Vtbl
where
Identity: IDynamicKeyProviderConcept_Impl,
{
unsafe extern "system" fn GetKey<Identity: windows_core::IUnknownImpl, 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
where
Identity: IDynamicKeyProviderConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDynamicKeyProviderConcept_Impl::GetKey(this, 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, 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
where
Identity: IDynamicKeyProviderConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDynamicKeyProviderConcept_Impl::SetKey(this, 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, 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
where
Identity: IDynamicKeyProviderConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDynamicKeyProviderConcept_Impl::EnumerateKeys(this, windows_core::from_raw_borrowed(&contextobject)) {
Ok(ok__) => {
ppenumerator.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetKey: GetKey::<Identity, OFFSET>,
SetKey: SetKey::<Identity, OFFSET>,
EnumerateKeys: EnumerateKeys::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDynamicKeyProviderConcept as windows_core::Interface>::IID
}
}
pub trait IEquatableConcept_Impl: Sized {
fn AreObjectsEqual(&self, contextobject: Option<&IModelObject>, otherobject: Option<&IModelObject>) -> windows_core::Result<bool>;
}
impl windows_core::RuntimeName for IEquatableConcept {}
impl IEquatableConcept_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEquatableConcept_Vtbl
where
Identity: IEquatableConcept_Impl,
{
unsafe extern "system" fn AreObjectsEqual<Identity: windows_core::IUnknownImpl, 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
where
Identity: IEquatableConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEquatableConcept_Impl::AreObjectsEqual(this, windows_core::from_raw_borrowed(&contextobject), windows_core::from_raw_borrowed(&otherobject)) {
Ok(ok__) => {
isequal.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), AreObjectsEqual: AreObjectsEqual::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEquatableConcept as windows_core::Interface>::IID
}
}
pub trait IHostDataModelAccess_Impl: Sized {
fn GetDataModel(&self, manager: *mut Option<IDataModelManager>, host: *mut Option<IDebugHost>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IHostDataModelAccess {}
impl IHostDataModelAccess_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHostDataModelAccess_Vtbl
where
Identity: IHostDataModelAccess_Impl,
{
unsafe extern "system" fn GetDataModel<Identity: windows_core::IUnknownImpl, 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
where
Identity: IHostDataModelAccess_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHostDataModelAccess_Impl::GetDataModel(this, core::mem::transmute_copy(&manager), core::mem::transmute_copy(&host)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetDataModel: GetDataModel::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHostDataModelAccess as windows_core::Interface>::IID
}
}
pub trait IIndexableConcept_Impl: Sized {
fn GetDimensionality(&self, contextobject: Option<&IModelObject>) -> windows_core::Result<u64>;
fn GetAt(&self, contextobject: Option<&IModelObject>, indexercount: u64, indexers: *const Option<IModelObject>, object: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
fn SetAt(&self, contextobject: Option<&IModelObject>, indexercount: u64, indexers: *const Option<IModelObject>, value: Option<&IModelObject>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IIndexableConcept {}
impl IIndexableConcept_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IIndexableConcept_Vtbl
where
Identity: IIndexableConcept_Impl,
{
unsafe extern "system" fn GetDimensionality<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, contextobject: *mut core::ffi::c_void, dimensionality: *mut u64) -> windows_core::HRESULT
where
Identity: IIndexableConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IIndexableConcept_Impl::GetDimensionality(this, windows_core::from_raw_borrowed(&contextobject)) {
Ok(ok__) => {
dimensionality.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAt<Identity: windows_core::IUnknownImpl, 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
where
Identity: IIndexableConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IIndexableConcept_Impl::GetAt(this, 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, 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
where
Identity: IIndexableConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IIndexableConcept_Impl::SetAt(this, 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, OFFSET>,
GetAt: GetAt::<Identity, OFFSET>,
SetAt: SetAt::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IIndexableConcept as windows_core::Interface>::IID
}
}
pub trait IIterableConcept_Impl: Sized {
fn GetDefaultIndexDimensionality(&self, contextobject: Option<&IModelObject>) -> windows_core::Result<u64>;
fn GetIterator(&self, contextobject: Option<&IModelObject>) -> windows_core::Result<IModelIterator>;
}
impl windows_core::RuntimeName for IIterableConcept {}
impl IIterableConcept_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IIterableConcept_Vtbl
where
Identity: IIterableConcept_Impl,
{
unsafe extern "system" fn GetDefaultIndexDimensionality<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, contextobject: *mut core::ffi::c_void, dimensionality: *mut u64) -> windows_core::HRESULT
where
Identity: IIterableConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IIterableConcept_Impl::GetDefaultIndexDimensionality(this, windows_core::from_raw_borrowed(&contextobject)) {
Ok(ok__) => {
dimensionality.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIterator<Identity: windows_core::IUnknownImpl, 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
where
Identity: IIterableConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IIterableConcept_Impl::GetIterator(this, windows_core::from_raw_borrowed(&contextobject)) {
Ok(ok__) => {
iterator.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDefaultIndexDimensionality: GetDefaultIndexDimensionality::<Identity, OFFSET>,
GetIterator: GetIterator::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IIterableConcept as windows_core::Interface>::IID
}
}
pub trait IKeyEnumerator_Impl: Sized {
fn Reset(&self) -> windows_core::Result<()>;
fn GetNext(&self, key: *mut windows_core::BSTR, value: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IKeyEnumerator {}
impl IKeyEnumerator_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IKeyEnumerator_Vtbl
where
Identity: IKeyEnumerator_Impl,
{
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IKeyEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKeyEnumerator_Impl::Reset(this).into()
}
unsafe extern "system" fn GetNext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *mut core::mem::MaybeUninit<windows_core::BSTR>, value: *mut *mut core::ffi::c_void, metadata: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IKeyEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKeyEnumerator_Impl::GetNext(this, 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, OFFSET>, GetNext: GetNext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IKeyEnumerator as windows_core::Interface>::IID
}
}
pub trait IKeyStore_Impl: Sized {
fn GetKey(&self, key: &windows_core::PCWSTR, object: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
fn SetKey(&self, key: &windows_core::PCWSTR, object: Option<&IModelObject>, metadata: Option<&IKeyStore>) -> windows_core::Result<()>;
fn GetKeyValue(&self, key: &windows_core::PCWSTR, object: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
fn SetKeyValue(&self, key: &windows_core::PCWSTR, object: 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, const OFFSET: isize>() -> IKeyStore_Vtbl
where
Identity: IKeyStore_Impl,
{
unsafe extern "system" fn GetKey<Identity: windows_core::IUnknownImpl, 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
where
Identity: IKeyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKeyStore_Impl::GetKey(this, core::mem::transmute(&key), core::mem::transmute_copy(&object), core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn SetKey<Identity: windows_core::IUnknownImpl, 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
where
Identity: IKeyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKeyStore_Impl::SetKey(this, 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, 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
where
Identity: IKeyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKeyStore_Impl::GetKeyValue(this, core::mem::transmute(&key), core::mem::transmute_copy(&object), core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn SetKeyValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: windows_core::PCWSTR, object: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IKeyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKeyStore_Impl::SetKeyValue(this, core::mem::transmute(&key), windows_core::from_raw_borrowed(&object)).into()
}
unsafe extern "system" fn ClearKeys<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IKeyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKeyStore_Impl::ClearKeys(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetKey: GetKey::<Identity, OFFSET>,
SetKey: SetKey::<Identity, OFFSET>,
GetKeyValue: GetKeyValue::<Identity, OFFSET>,
SetKeyValue: SetKeyValue::<Identity, OFFSET>,
ClearKeys: ClearKeys::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IKeyStore as windows_core::Interface>::IID
}
}
pub trait IModelIterator_Impl: Sized {
fn Reset(&self) -> windows_core::Result<()>;
fn GetNext(&self, object: *mut Option<IModelObject>, dimensions: u64, indexers: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IModelIterator {}
impl IModelIterator_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IModelIterator_Vtbl
where
Identity: IModelIterator_Impl,
{
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelIterator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelIterator_Impl::Reset(this).into()
}
unsafe extern "system" fn GetNext<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelIterator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelIterator_Impl::GetNext(this, 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, OFFSET>, GetNext: GetNext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IModelIterator as windows_core::Interface>::IID
}
}
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 Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
fn GetKeyValue(&self, object: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
fn SetKey(&self, object: Option<&IModelObject>, metadata: Option<&IKeyStore>) -> windows_core::Result<()>;
fn SetKeyValue(&self, object: Option<&IModelObject>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IModelKeyReference {}
impl IModelKeyReference_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IModelKeyReference_Vtbl
where
Identity: IModelKeyReference_Impl,
{
unsafe extern "system" fn GetKeyName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, keyname: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IModelKeyReference_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelKeyReference_Impl::GetKeyName(this) {
Ok(ok__) => {
keyname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetOriginalObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, originalobject: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelKeyReference_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelKeyReference_Impl::GetOriginalObject(this) {
Ok(ok__) => {
originalobject.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContextObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, containingobject: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelKeyReference_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelKeyReference_Impl::GetContextObject(this) {
Ok(ok__) => {
containingobject.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetKey<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelKeyReference_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelKeyReference_Impl::GetKey(this, core::mem::transmute_copy(&object), core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn GetKeyValue<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelKeyReference_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelKeyReference_Impl::GetKeyValue(this, core::mem::transmute_copy(&object), core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn SetKey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, object: *mut core::ffi::c_void, metadata: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelKeyReference_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelKeyReference_Impl::SetKey(this, windows_core::from_raw_borrowed(&object), windows_core::from_raw_borrowed(&metadata)).into()
}
unsafe extern "system" fn SetKeyValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, object: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelKeyReference_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelKeyReference_Impl::SetKeyValue(this, windows_core::from_raw_borrowed(&object)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetKeyName: GetKeyName::<Identity, OFFSET>,
GetOriginalObject: GetOriginalObject::<Identity, OFFSET>,
GetContextObject: GetContextObject::<Identity, OFFSET>,
GetKey: GetKey::<Identity, OFFSET>,
GetKeyValue: GetKeyValue::<Identity, OFFSET>,
SetKey: SetKey::<Identity, OFFSET>,
SetKeyValue: SetKeyValue::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IModelKeyReference as windows_core::Interface>::IID
}
}
pub trait IModelKeyReference2_Impl: Sized + IModelKeyReference_Impl {
fn OverrideContextObject(&self, newcontextobject: Option<&IModelObject>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IModelKeyReference2 {}
impl IModelKeyReference2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IModelKeyReference2_Vtbl
where
Identity: IModelKeyReference2_Impl,
{
unsafe extern "system" fn OverrideContextObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, newcontextobject: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelKeyReference2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelKeyReference2_Impl::OverrideContextObject(this, windows_core::from_raw_borrowed(&newcontextobject)).into()
}
Self { base__: IModelKeyReference_Vtbl::new::<Identity, OFFSET>(), OverrideContextObject: OverrideContextObject::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IModelKeyReference2 as windows_core::Interface>::IID || iid == &<IModelKeyReference as windows_core::Interface>::IID
}
}
pub trait IModelMethod_Impl: Sized {
fn Call(&self, pcontextobject: Option<&IModelObject>, argcount: u64, pparguments: *const Option<IModelObject>, ppresult: *mut Option<IModelObject>, ppmetadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IModelMethod {}
impl IModelMethod_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IModelMethod_Vtbl
where
Identity: IModelMethod_Impl,
{
unsafe extern "system" fn Call<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelMethod_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelMethod_Impl::Call(this, 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, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IModelMethod as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Variant")]
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<windows_core::VARIANT>;
fn GetIntrinsicValueAs(&self, vt: super::super::super::Variant::VARENUM) -> windows_core::Result<windows_core::VARIANT>;
fn GetKeyValue(&self, key: &windows_core::PCWSTR, object: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
fn SetKeyValue(&self, key: &windows_core::PCWSTR, object: 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 Option<windows_core::IUnknown>, conceptmetadata: *mut 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 Option<IDebugHostType>) -> windows_core::Result<()>;
fn GetNumberOfParentModels(&self) -> windows_core::Result<u64>;
fn GetParentModel(&self, i: u64, model: *mut Option<IModelObject>, contextobject: *mut Option<IModelObject>) -> windows_core::Result<()>;
fn AddParentModel(&self, model: Option<&IModelObject>, contextobject: Option<&IModelObject>, r#override: u8) -> windows_core::Result<()>;
fn RemoveParentModel(&self, model: Option<&IModelObject>) -> windows_core::Result<()>;
fn GetKey(&self, key: &windows_core::PCWSTR, object: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
fn GetKeyReference(&self, key: &windows_core::PCWSTR, objectreference: *mut Option<IModelObject>, metadata: *mut Option<IKeyStore>) -> windows_core::Result<()>;
fn SetKey(&self, key: &windows_core::PCWSTR, object: Option<&IModelObject>, metadata: 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: Option<&windows_core::IUnknown>, conceptmetadata: 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: Option<&IModelObject>, context: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn GetContextForDataModel(&self, datamodelobject: Option<&IModelObject>) -> windows_core::Result<windows_core::IUnknown>;
fn Compare(&self, other: Option<&IModelObject>, ppresult: *mut Option<IModelObject>) -> windows_core::Result<()>;
fn IsEqualTo(&self, other: Option<&IModelObject>) -> windows_core::Result<bool>;
}
#[cfg(feature = "Win32_System_Variant")]
impl windows_core::RuntimeName for IModelObject {}
#[cfg(feature = "Win32_System_Variant")]
impl IModelObject_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IModelObject_Vtbl
where
Identity: IModelObject_Impl,
{
unsafe extern "system" fn GetContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::GetContext(this) {
Ok(ok__) => {
context.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetKind<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, kind: *mut ModelObjectKind) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::GetKind(this) {
Ok(ok__) => {
kind.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIntrinsicValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, intrinsicdata: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::GetIntrinsicValue(this) {
Ok(ok__) => {
intrinsicdata.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIntrinsicValueAs<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vt: super::super::super::Variant::VARENUM, intrinsicdata: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::GetIntrinsicValueAs(this, core::mem::transmute_copy(&vt)) {
Ok(ok__) => {
intrinsicdata.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetKeyValue<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::GetKeyValue(this, core::mem::transmute(&key), core::mem::transmute_copy(&object), core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn SetKeyValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: windows_core::PCWSTR, object: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::SetKeyValue(this, core::mem::transmute(&key), windows_core::from_raw_borrowed(&object)).into()
}
unsafe extern "system" fn EnumerateKeyValues<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, enumerator: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::EnumerateKeyValues(this) {
Ok(ok__) => {
enumerator.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRawValue<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::GetRawValue(this, core::mem::transmute_copy(&kind), core::mem::transmute(&name), core::mem::transmute_copy(&searchflags)) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateRawValues<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, kind: SymbolKind, searchflags: u32, enumerator: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::EnumerateRawValues(this, core::mem::transmute_copy(&kind), core::mem::transmute_copy(&searchflags)) {
Ok(ok__) => {
enumerator.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Dereference<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, object: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::Dereference(this) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn TryCastToRuntimeType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, runtimetypedobject: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::TryCastToRuntimeType(this) {
Ok(ok__) => {
runtimetypedobject.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetConcept<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::GetConcept(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, location: *mut Location) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::GetLocation(this) {
Ok(ok__) => {
location.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::GetTypeInfo(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTargetInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, location: *mut Location, r#type: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::GetTargetInfo(this, core::mem::transmute_copy(&location), core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn GetNumberOfParentModels<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nummodels: *mut u64) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::GetNumberOfParentModels(this) {
Ok(ok__) => {
nummodels.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetParentModel<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::GetParentModel(this, 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, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::AddParentModel(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void, model: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::RemoveParentModel(this, windows_core::from_raw_borrowed(&model)).into()
}
unsafe extern "system" fn GetKey<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::GetKey(this, core::mem::transmute(&key), core::mem::transmute_copy(&object), core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn GetKeyReference<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::GetKeyReference(this, core::mem::transmute(&key), core::mem::transmute_copy(&objectreference), core::mem::transmute_copy(&metadata)).into()
}
unsafe extern "system" fn SetKey<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::SetKey(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::ClearKeys(this).into()
}
unsafe extern "system" fn EnumerateKeys<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, enumerator: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::EnumerateKeys(this) {
Ok(ok__) => {
enumerator.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateKeyReferences<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, enumerator: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::EnumerateKeyReferences(this) {
Ok(ok__) => {
enumerator.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetConcept<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::SetConcept(this, 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, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::ClearConcepts(this).into()
}
unsafe extern "system" fn GetRawReference<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::GetRawReference(this, core::mem::transmute_copy(&kind), core::mem::transmute(&name), core::mem::transmute_copy(&searchflags)) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumerateRawReferences<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, kind: SymbolKind, searchflags: u32, enumerator: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::EnumerateRawReferences(this, core::mem::transmute_copy(&kind), core::mem::transmute_copy(&searchflags)) {
Ok(ok__) => {
enumerator.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetContextForDataModel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, datamodelobject: *mut core::ffi::c_void, context: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::SetContextForDataModel(this, windows_core::from_raw_borrowed(&datamodelobject), windows_core::from_raw_borrowed(&context)).into()
}
unsafe extern "system" fn GetContextForDataModel<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::GetContextForDataModel(this, windows_core::from_raw_borrowed(&datamodelobject)) {
Ok(ok__) => {
context.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Compare<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelObject_Impl::Compare(this, windows_core::from_raw_borrowed(&other), core::mem::transmute_copy(&ppresult)).into()
}
unsafe extern "system" fn IsEqualTo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, other: *mut core::ffi::c_void, equal: *mut bool) -> windows_core::HRESULT
where
Identity: IModelObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelObject_Impl::IsEqualTo(this, windows_core::from_raw_borrowed(&other)) {
Ok(ok__) => {
equal.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetContext: GetContext::<Identity, OFFSET>,
GetKind: GetKind::<Identity, OFFSET>,
GetIntrinsicValue: GetIntrinsicValue::<Identity, OFFSET>,
GetIntrinsicValueAs: GetIntrinsicValueAs::<Identity, OFFSET>,
GetKeyValue: GetKeyValue::<Identity, OFFSET>,
SetKeyValue: SetKeyValue::<Identity, OFFSET>,
EnumerateKeyValues: EnumerateKeyValues::<Identity, OFFSET>,
GetRawValue: GetRawValue::<Identity, OFFSET>,
EnumerateRawValues: EnumerateRawValues::<Identity, OFFSET>,
Dereference: Dereference::<Identity, OFFSET>,
TryCastToRuntimeType: TryCastToRuntimeType::<Identity, OFFSET>,
GetConcept: GetConcept::<Identity, OFFSET>,
GetLocation: GetLocation::<Identity, OFFSET>,
GetTypeInfo: GetTypeInfo::<Identity, OFFSET>,
GetTargetInfo: GetTargetInfo::<Identity, OFFSET>,
GetNumberOfParentModels: GetNumberOfParentModels::<Identity, OFFSET>,
GetParentModel: GetParentModel::<Identity, OFFSET>,
AddParentModel: AddParentModel::<Identity, OFFSET>,
RemoveParentModel: RemoveParentModel::<Identity, OFFSET>,
GetKey: GetKey::<Identity, OFFSET>,
GetKeyReference: GetKeyReference::<Identity, OFFSET>,
SetKey: SetKey::<Identity, OFFSET>,
ClearKeys: ClearKeys::<Identity, OFFSET>,
EnumerateKeys: EnumerateKeys::<Identity, OFFSET>,
EnumerateKeyReferences: EnumerateKeyReferences::<Identity, OFFSET>,
SetConcept: SetConcept::<Identity, OFFSET>,
ClearConcepts: ClearConcepts::<Identity, OFFSET>,
GetRawReference: GetRawReference::<Identity, OFFSET>,
EnumerateRawReferences: EnumerateRawReferences::<Identity, OFFSET>,
SetContextForDataModel: SetContextForDataModel::<Identity, OFFSET>,
GetContextForDataModel: GetContextForDataModel::<Identity, OFFSET>,
Compare: Compare::<Identity, OFFSET>,
IsEqualTo: IsEqualTo::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IModelObject as windows_core::Interface>::IID
}
}
pub trait IModelPropertyAccessor_Impl: Sized {
fn GetValue(&self, key: &windows_core::PCWSTR, contextobject: Option<&IModelObject>) -> windows_core::Result<IModelObject>;
fn SetValue(&self, key: &windows_core::PCWSTR, contextobject: Option<&IModelObject>, value: Option<&IModelObject>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IModelPropertyAccessor {}
impl IModelPropertyAccessor_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IModelPropertyAccessor_Vtbl
where
Identity: IModelPropertyAccessor_Impl,
{
unsafe extern "system" fn GetValue<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelPropertyAccessor_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IModelPropertyAccessor_Impl::GetValue(this, core::mem::transmute(&key), windows_core::from_raw_borrowed(&contextobject)) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetValue<Identity: windows_core::IUnknownImpl, 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
where
Identity: IModelPropertyAccessor_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModelPropertyAccessor_Impl::SetValue(this, 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, OFFSET>, SetValue: SetValue::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IModelPropertyAccessor as windows_core::Interface>::IID
}
}
pub trait IPreferredRuntimeTypeConcept_Impl: Sized {
fn CastToPreferredRuntimeType(&self, contextobject: Option<&IModelObject>) -> windows_core::Result<IModelObject>;
}
impl windows_core::RuntimeName for IPreferredRuntimeTypeConcept {}
impl IPreferredRuntimeTypeConcept_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPreferredRuntimeTypeConcept_Vtbl
where
Identity: IPreferredRuntimeTypeConcept_Impl,
{
unsafe extern "system" fn CastToPreferredRuntimeType<Identity: windows_core::IUnknownImpl, 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
where
Identity: IPreferredRuntimeTypeConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IPreferredRuntimeTypeConcept_Impl::CastToPreferredRuntimeType(this, windows_core::from_raw_borrowed(&contextobject)) {
Ok(ok__) => {
object.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CastToPreferredRuntimeType: CastToPreferredRuntimeType::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPreferredRuntimeTypeConcept as windows_core::Interface>::IID
}
}
pub trait IRawEnumerator_Impl: Sized {
fn Reset(&self) -> windows_core::Result<()>;
fn GetNext(&self, name: *mut windows_core::BSTR, kind: *mut SymbolKind, value: *mut Option<IModelObject>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IRawEnumerator {}
impl IRawEnumerator_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IRawEnumerator_Vtbl
where
Identity: IRawEnumerator_Impl,
{
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IRawEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IRawEnumerator_Impl::Reset(this).into()
}
unsafe extern "system" fn GetNext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: *mut core::mem::MaybeUninit<windows_core::BSTR>, kind: *mut SymbolKind, value: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IRawEnumerator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IRawEnumerator_Impl::GetNext(this, 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, OFFSET>, GetNext: GetNext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IRawEnumerator as windows_core::Interface>::IID
}
}
pub trait IStringDisplayableConcept_Impl: Sized {
fn ToDisplayString(&self, contextobject: Option<&IModelObject>, metadata: 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, const OFFSET: isize>() -> IStringDisplayableConcept_Vtbl
where
Identity: IStringDisplayableConcept_Impl,
{
unsafe extern "system" fn ToDisplayString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, contextobject: *mut core::ffi::c_void, metadata: *mut core::ffi::c_void, displaystring: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IStringDisplayableConcept_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IStringDisplayableConcept_Impl::ToDisplayString(this, windows_core::from_raw_borrowed(&contextobject), windows_core::from_raw_borrowed(&metadata)) {
Ok(ok__) => {
displaystring.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ToDisplayString: ToDisplayString::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IStringDisplayableConcept as windows_core::Interface>::IID
}
}