#[doc = "*Required features: `\"ApplicationModel_Contacts\"`, `\"implement\"`*"] pub trait IContactField_Impl: Sized { fn Type(&self) -> ::windows::core::Result; fn Category(&self) -> ::windows::core::Result; fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING>; fn Value(&self) -> ::windows::core::Result<::windows::core::HSTRING>; } impl ::windows::core::RuntimeName for IContactField { const NAME: &'static str = "Windows.ApplicationModel.Contacts.IContactField"; } impl IContactField_Vtbl { pub const fn new, Impl: IContactField_Impl, const OFFSET: isize>() -> IContactField_Vtbl { unsafe extern "system" fn Type, Impl: IContactField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ContactFieldType) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.Type() { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } unsafe extern "system" fn Category, Impl: IContactField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ContactFieldCategory) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.Category() { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } unsafe extern "system" fn Name, Impl: IContactField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.Name() { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } unsafe extern "system" fn Value, Impl: IContactField_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.Value() { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } Self { base__: ::windows::core::IInspectable_Vtbl::new::(), Type: Type::, Category: Category::, Name: Name::, Value: Value::, } } pub fn matches(iid: &windows::core::GUID) -> bool { iid == &::IID } } #[doc = "*Required features: `\"ApplicationModel_Contacts\"`, `\"implement\"`*"] pub trait IContactFieldFactory_Impl: Sized { fn CreateField_Default(&self, value: &::windows::core::HSTRING, r#type: ContactFieldType) -> ::windows::core::Result; fn CreateField_Category(&self, value: &::windows::core::HSTRING, r#type: ContactFieldType, category: ContactFieldCategory) -> ::windows::core::Result; fn CreateField_Custom(&self, name: &::windows::core::HSTRING, value: &::windows::core::HSTRING, r#type: ContactFieldType, category: ContactFieldCategory) -> ::windows::core::Result; } impl ::windows::core::RuntimeName for IContactFieldFactory { const NAME: &'static str = "Windows.ApplicationModel.Contacts.IContactFieldFactory"; } impl IContactFieldFactory_Vtbl { pub const fn new, Impl: IContactFieldFactory_Impl, const OFFSET: isize>() -> IContactFieldFactory_Vtbl { unsafe extern "system" fn CreateField_Default, Impl: IContactFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, r#type: ContactFieldType, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.CreateField_Default(::core::mem::transmute(&value), r#type) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } unsafe extern "system" fn CreateField_Category, Impl: IContactFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, r#type: ContactFieldType, category: ContactFieldCategory, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.CreateField_Category(::core::mem::transmute(&value), r#type, category) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } unsafe extern "system" fn CreateField_Custom, Impl: IContactFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, r#type: ContactFieldType, category: ContactFieldCategory, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.CreateField_Custom(::core::mem::transmute(&name), ::core::mem::transmute(&value), r#type, category) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } Self { base__: ::windows::core::IInspectable_Vtbl::new::(), CreateField_Default: CreateField_Default::, CreateField_Category: CreateField_Category::, CreateField_Custom: CreateField_Custom::, } } pub fn matches(iid: &windows::core::GUID) -> bool { iid == &::IID } } #[doc = "*Required features: `\"ApplicationModel_Contacts\"`, `\"Foundation\"`, `\"implement\"`*"] #[cfg(feature = "Foundation")] pub trait IContactInstantMessageFieldFactory_Impl: Sized { fn CreateInstantMessage_Default(&self, username: &::windows::core::HSTRING) -> ::windows::core::Result; fn CreateInstantMessage_Category(&self, username: &::windows::core::HSTRING, category: ContactFieldCategory) -> ::windows::core::Result; fn CreateInstantMessage_All(&self, username: &::windows::core::HSTRING, category: ContactFieldCategory, service: &::windows::core::HSTRING, displaytext: &::windows::core::HSTRING, verb: &::core::option::Option) -> ::windows::core::Result; } #[cfg(feature = "Foundation")] impl ::windows::core::RuntimeName for IContactInstantMessageFieldFactory { const NAME: &'static str = "Windows.ApplicationModel.Contacts.IContactInstantMessageFieldFactory"; } #[cfg(feature = "Foundation")] impl IContactInstantMessageFieldFactory_Vtbl { pub const fn new, Impl: IContactInstantMessageFieldFactory_Impl, const OFFSET: isize>() -> IContactInstantMessageFieldFactory_Vtbl { unsafe extern "system" fn CreateInstantMessage_Default, Impl: IContactInstantMessageFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, username: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.CreateInstantMessage_Default(::core::mem::transmute(&username)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } unsafe extern "system" fn CreateInstantMessage_Category, Impl: IContactInstantMessageFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, username: *mut ::core::ffi::c_void, category: ContactFieldCategory, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.CreateInstantMessage_Category(::core::mem::transmute(&username), category) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } unsafe extern "system" fn CreateInstantMessage_All, Impl: IContactInstantMessageFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, username: *mut ::core::ffi::c_void, category: ContactFieldCategory, service: *mut ::core::ffi::c_void, displaytext: *mut ::core::ffi::c_void, verb: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.CreateInstantMessage_All(::core::mem::transmute(&username), category, ::core::mem::transmute(&service), ::core::mem::transmute(&displaytext), ::core::mem::transmute(&verb)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } Self { base__: ::windows::core::IInspectable_Vtbl::new::(), CreateInstantMessage_Default: CreateInstantMessage_Default::, CreateInstantMessage_Category: CreateInstantMessage_Category::, CreateInstantMessage_All: CreateInstantMessage_All::, } } pub fn matches(iid: &windows::core::GUID) -> bool { iid == &::IID } } #[doc = "*Required features: `\"ApplicationModel_Contacts\"`, `\"implement\"`*"] pub trait IContactLocationFieldFactory_Impl: Sized { fn CreateLocation_Default(&self, unstructuredaddress: &::windows::core::HSTRING) -> ::windows::core::Result; fn CreateLocation_Category(&self, unstructuredaddress: &::windows::core::HSTRING, category: ContactFieldCategory) -> ::windows::core::Result; fn CreateLocation_All(&self, unstructuredaddress: &::windows::core::HSTRING, category: ContactFieldCategory, street: &::windows::core::HSTRING, city: &::windows::core::HSTRING, region: &::windows::core::HSTRING, country: &::windows::core::HSTRING, postalcode: &::windows::core::HSTRING) -> ::windows::core::Result; } impl ::windows::core::RuntimeName for IContactLocationFieldFactory { const NAME: &'static str = "Windows.ApplicationModel.Contacts.IContactLocationFieldFactory"; } impl IContactLocationFieldFactory_Vtbl { pub const fn new, Impl: IContactLocationFieldFactory_Impl, const OFFSET: isize>() -> IContactLocationFieldFactory_Vtbl { unsafe extern "system" fn CreateLocation_Default, Impl: IContactLocationFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, unstructuredaddress: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.CreateLocation_Default(::core::mem::transmute(&unstructuredaddress)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } unsafe extern "system" fn CreateLocation_Category, Impl: IContactLocationFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, unstructuredaddress: *mut ::core::ffi::c_void, category: ContactFieldCategory, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.CreateLocation_Category(::core::mem::transmute(&unstructuredaddress), category) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } unsafe extern "system" fn CreateLocation_All, Impl: IContactLocationFieldFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, unstructuredaddress: *mut ::core::ffi::c_void, category: ContactFieldCategory, street: *mut ::core::ffi::c_void, city: *mut ::core::ffi::c_void, region: *mut ::core::ffi::c_void, country: *mut ::core::ffi::c_void, postalcode: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.CreateLocation_All(::core::mem::transmute(&unstructuredaddress), category, ::core::mem::transmute(&street), ::core::mem::transmute(&city), ::core::mem::transmute(®ion), ::core::mem::transmute(&country), ::core::mem::transmute(&postalcode)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); ::windows::core::HRESULT(0) } ::core::result::Result::Err(err) => err.into(), } } Self { base__: ::windows::core::IInspectable_Vtbl::new::(), CreateLocation_Default: CreateLocation_Default::, CreateLocation_Category: CreateLocation_Category::, CreateLocation_All: CreateLocation_All::, } } pub fn matches(iid: &windows::core::GUID) -> bool { iid == &::IID } }