// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.210505.3 #ifndef WINRT_Windows_Phone_PersonalInformation_H #define WINRT_Windows_Phone_PersonalInformation_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.210505.3"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.210505.3" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Storage.Streams.2.h" #include "winrt/impl/Windows.Phone.PersonalInformation.2.h" namespace winrt::impl { template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactAddress::Country() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactAddress)->get_Country(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactAddress::Country(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactAddress)->put_Country(*(void**)(&value))); } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactAddress::Locality() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactAddress)->get_Locality(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactAddress::Locality(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactAddress)->put_Locality(*(void**)(&value))); } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactAddress::Region() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactAddress)->get_Region(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactAddress::Region(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactAddress)->put_Region(*(void**)(&value))); } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactAddress::PostalCode() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactAddress)->get_PostalCode(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactAddress::PostalCode(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactAddress)->put_PostalCode(*(void**)(&value))); } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactAddress::StreetAddress() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactAddress)->get_StreetAddress(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactAddress::StreetAddress(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactAddress)->put_StreetAddress(*(void**)(&value))); } template WINRT_IMPL_AUTO(winrt::Windows::Phone::PersonalInformation::ContactChangeType) consume_Windows_Phone_PersonalInformation_IContactChangeRecord::ChangeType() const { winrt::Windows::Phone::PersonalInformation::ContactChangeType value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactChangeRecord)->get_ChangeType(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(uint64_t) consume_Windows_Phone_PersonalInformation_IContactChangeRecord::RevisionNumber() const { uint64_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactChangeRecord)->get_RevisionNumber(&value)); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactChangeRecord::Id() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactChangeRecord)->get_Id(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactChangeRecord::RemoteId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactChangeRecord)->get_RemoteId(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactInformation::DisplayName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->get_DisplayName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactInformation::DisplayName(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->put_DisplayName(*(void**)(&value))); } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactInformation::FamilyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->get_FamilyName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactInformation::FamilyName(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->put_FamilyName(*(void**)(&value))); } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactInformation::GivenName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->get_GivenName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactInformation::GivenName(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->put_GivenName(*(void**)(&value))); } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactInformation::HonorificPrefix() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->get_HonorificPrefix(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactInformation::HonorificPrefix(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->put_HonorificPrefix(*(void**)(&value))); } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IContactInformation::HonorificSuffix() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->get_HonorificSuffix(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactInformation::HonorificSuffix(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->put_HonorificSuffix(*(void**)(&value))); } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation) consume_Windows_Phone_PersonalInformation_IContactInformation::GetDisplayPictureAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->GetDisplayPictureAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncAction) consume_Windows_Phone_PersonalInformation_IContactInformation::SetDisplayPictureAsync(winrt::Windows::Storage::Streams::IInputStream const& stream) const { void* action{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->SetDisplayPictureAsync(*(void**)(&stream), &action)); return winrt::Windows::Foundation::IAsyncAction{ action, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Storage::Streams::IRandomAccessStreamReference) consume_Windows_Phone_PersonalInformation_IContactInformation::DisplayPicture() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->get_DisplayPicture(&value)); return winrt::Windows::Storage::Streams::IRandomAccessStreamReference{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation>) consume_Windows_Phone_PersonalInformation_IContactInformation::GetPropertiesAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->GetPropertiesAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation>{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation) consume_Windows_Phone_PersonalInformation_IContactInformation::ToVcardAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->ToVcardAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation) consume_Windows_Phone_PersonalInformation_IContactInformation::ToVcardAsync(winrt::Windows::Phone::PersonalInformation::VCardFormat const& format) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation)->ToVcardWithOptionsAsync(static_cast(format), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::DateTime) consume_Windows_Phone_PersonalInformation_IContactInformation2::DisplayPictureDate() const { winrt::Windows::Foundation::DateTime returnValue{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation2)->get_DisplayPictureDate(put_abi(returnValue))); return returnValue; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactInformation2::DisplayPictureDate(winrt::Windows::Foundation::DateTime const& returnValue) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformation2)->put_DisplayPictureDate(impl::bind_in(returnValue))); } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation) consume_Windows_Phone_PersonalInformation_IContactInformationStatics::ParseVcardAsync(winrt::Windows::Storage::Streams::IInputStream const& vcard) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactInformationStatics)->ParseVcardAsync(*(void**)(&vcard), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::Collections::IVector) consume_Windows_Phone_PersonalInformation_IContactQueryOptions::DesiredFields() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactQueryOptions)->get_DesiredFields(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::PersonalInformation::ContactQueryResultOrdering) consume_Windows_Phone_PersonalInformation_IContactQueryOptions::OrderBy() const { winrt::Windows::Phone::PersonalInformation::ContactQueryResultOrdering value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactQueryOptions)->get_OrderBy(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IContactQueryOptions::OrderBy(winrt::Windows::Phone::PersonalInformation::ContactQueryResultOrdering const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactQueryOptions)->put_OrderBy(static_cast(value))); } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation) consume_Windows_Phone_PersonalInformation_IContactQueryResult::GetContactCountAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactQueryResult)->GetContactCountAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation>) consume_Windows_Phone_PersonalInformation_IContactQueryResult::GetContactsAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactQueryResult)->GetContactsAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation>{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation>) consume_Windows_Phone_PersonalInformation_IContactQueryResult::GetContactsAsync(uint32_t startIndex, uint32_t maxNumberOfItems) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactQueryResult)->GetContactsAsyncInRange(startIndex, maxNumberOfItems, &operation)); return winrt::Windows::Foundation::IAsyncOperation>{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::PersonalInformation::ContactQueryOptions) consume_Windows_Phone_PersonalInformation_IContactQueryResult::GetCurrentQueryOptions() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactQueryResult)->GetCurrentQueryOptions(&value)); return winrt::Windows::Phone::PersonalInformation::ContactQueryOptions{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation) consume_Windows_Phone_PersonalInformation_IContactStore::FindContactByRemoteIdAsync(param::hstring const& id) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStore)->FindContactByRemoteIdAsync(*(void**)(&id), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation) consume_Windows_Phone_PersonalInformation_IContactStore::FindContactByIdAsync(param::hstring const& id) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStore)->FindContactByIdAsync(*(void**)(&id), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncAction) consume_Windows_Phone_PersonalInformation_IContactStore::DeleteContactAsync(param::hstring const& id) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStore)->DeleteContactAsync(*(void**)(&id), &result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::PersonalInformation::ContactQueryResult) consume_Windows_Phone_PersonalInformation_IContactStore::CreateContactQuery() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStore)->CreateContactQueryDefault(&result)); return winrt::Windows::Phone::PersonalInformation::ContactQueryResult{ result, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::PersonalInformation::ContactQueryResult) consume_Windows_Phone_PersonalInformation_IContactStore::CreateContactQuery(winrt::Windows::Phone::PersonalInformation::ContactQueryOptions const& options) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStore)->CreateContactQueryWithOptions(*(void**)(&options), &result)); return winrt::Windows::Phone::PersonalInformation::ContactQueryResult{ result, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncAction) consume_Windows_Phone_PersonalInformation_IContactStore::DeleteAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStore)->DeleteAsync(&result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(uint64_t) consume_Windows_Phone_PersonalInformation_IContactStore::RevisionNumber() const { uint64_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStore)->get_RevisionNumber(&value)); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation>) consume_Windows_Phone_PersonalInformation_IContactStore::GetChangesAsync(uint64_t baseRevisionNumber) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStore)->GetChangesAsync(baseRevisionNumber, &operation)); return winrt::Windows::Foundation::IAsyncOperation>{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation>) consume_Windows_Phone_PersonalInformation_IContactStore::LoadExtendedPropertiesAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStore)->LoadExtendedPropertiesAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation>{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncAction) consume_Windows_Phone_PersonalInformation_IContactStore::SaveExtendedPropertiesAsync(param::async_map_view const& data) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStore)->SaveExtendedPropertiesAsync(*(void**)(&data), &result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation) consume_Windows_Phone_PersonalInformation_IContactStore2::CreateMeContactAsync(param::hstring const& id) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStore2)->CreateMeContactAsync(*(void**)(&id), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation) consume_Windows_Phone_PersonalInformation_IContactStoreStatics::CreateOrOpenAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStoreStatics)->CreateOrOpenAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation) consume_Windows_Phone_PersonalInformation_IContactStoreStatics::CreateOrOpenAsync(winrt::Windows::Phone::PersonalInformation::ContactStoreSystemAccessMode const& access, winrt::Windows::Phone::PersonalInformation::ContactStoreApplicationAccessMode const& sharing) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IContactStoreStatics)->CreateOrOpenWithOptionsAsync(static_cast(access), static_cast(sharing), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::DisplayName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_DisplayName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::FamilyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_FamilyName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::GivenName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_GivenName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::HonorificPrefix() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_HonorificPrefix(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::HonorificSuffix() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_HonorificSuffix(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::AdditionalName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_AdditionalName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::Address() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_Address(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::OtherAddress() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_OtherAddress(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::Email() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_Email(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::WorkAddress() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_WorkAddress(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::WorkTelephone() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_WorkTelephone(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::JobTitle() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_JobTitle(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::Birthdate() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_Birthdate(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::Anniversary() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_Anniversary(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::Telephone() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_Telephone(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::MobileTelephone() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_MobileTelephone(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::Url() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_Url(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::Notes() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_Notes(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::WorkFax() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_WorkFax(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::Children() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_Children(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::SignificantOther() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_SignificantOther(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::CompanyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_CompanyName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::CompanyTelephone() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_CompanyTelephone(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::HomeFax() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_HomeFax(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::AlternateTelephone() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_AlternateTelephone(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::Manager() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_Manager(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::Nickname() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_Nickname(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::OfficeLocation() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_OfficeLocation(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::WorkEmail() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_WorkEmail(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::YomiGivenName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_YomiGivenName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::YomiFamilyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_YomiFamilyName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::YomiCompanyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_YomiCompanyName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::OtherEmail() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_OtherEmail(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::AlternateMobileTelephone() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_AlternateMobileTelephone(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IKnownContactPropertiesStatics::AlternateWorkTelephone() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics)->get_AlternateWorkTelephone(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::PersonalInformation::ContactStore) consume_Windows_Phone_PersonalInformation_IStoredContact::Store() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IStoredContact)->get_Store(&value)); return winrt::Windows::Phone::PersonalInformation::ContactStore{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IStoredContact::Id() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IStoredContact)->get_Id(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_PersonalInformation_IStoredContact::RemoteId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IStoredContact)->get_RemoteId(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_PersonalInformation_IStoredContact::RemoteId(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IStoredContact)->put_RemoteId(*(void**)(&value))); } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncOperation>) consume_Windows_Phone_PersonalInformation_IStoredContact::GetExtendedPropertiesAsync() const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IStoredContact)->GetExtendedPropertiesAsync(&operation)); return winrt::Windows::Foundation::IAsyncOperation>{ operation, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncAction) consume_Windows_Phone_PersonalInformation_IStoredContact::SaveAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IStoredContact)->SaveAsync(&result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::IAsyncAction) consume_Windows_Phone_PersonalInformation_IStoredContact::ReplaceExistingContactAsync(param::hstring const& id) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IStoredContact)->ReplaceExistingContactAsync(*(void**)(&id), &result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::PersonalInformation::StoredContact) consume_Windows_Phone_PersonalInformation_IStoredContactFactory::CreateStoredContact(winrt::Windows::Phone::PersonalInformation::ContactStore const& store) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IStoredContactFactory)->CreateStoredContact(*(void**)(&store), &result)); return winrt::Windows::Phone::PersonalInformation::StoredContact{ result, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::PersonalInformation::StoredContact) consume_Windows_Phone_PersonalInformation_IStoredContactFactory::CreateStoredContactFromInformation(winrt::Windows::Phone::PersonalInformation::ContactStore const& store, winrt::Windows::Phone::PersonalInformation::ContactInformation const& contact) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::PersonalInformation::IStoredContactFactory)->CreateStoredContactFromInformation(*(void**)(&store), *(void**)(&contact), &result)); return winrt::Windows::Phone::PersonalInformation::StoredContact{ result, take_ownership_from_abi }; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Country(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Country()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Country(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Country(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Locality(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Locality()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Locality(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Locality(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Region(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Region()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Region(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Region(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PostalCode(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PostalCode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PostalCode(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PostalCode(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_StreetAddress(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().StreetAddress()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_StreetAddress(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().StreetAddress(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ChangeType(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ChangeType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RevisionNumber(uint64_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RevisionNumber()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Id(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RemoteId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RemoteId()); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_DisplayName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DisplayName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DisplayName(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DisplayName(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FamilyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FamilyName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_FamilyName(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().FamilyName(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_GivenName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GivenName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_GivenName(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().GivenName(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HonorificPrefix(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HonorificPrefix()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_HonorificPrefix(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().HonorificPrefix(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HonorificSuffix(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HonorificSuffix()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_HonorificSuffix(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().HonorificSuffix(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetDisplayPictureAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetDisplayPictureAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetDisplayPictureAsync(void* stream, void** action) noexcept final try { clear_abi(action); typename D::abi_guard guard(this->shim()); *action = detach_from(this->shim().SetDisplayPictureAsync(*reinterpret_cast(&stream))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DisplayPicture(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DisplayPicture()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetPropertiesAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>(this->shim().GetPropertiesAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ToVcardAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().ToVcardAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ToVcardWithOptionsAsync(int32_t format, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().ToVcardAsync(*reinterpret_cast(&format))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_DisplayPictureDate(int64_t* returnValue) noexcept final try { zero_abi(returnValue); typename D::abi_guard guard(this->shim()); *returnValue = detach_from(this->shim().DisplayPictureDate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DisplayPictureDate(int64_t returnValue) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DisplayPictureDate(*reinterpret_cast(&returnValue)); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ParseVcardAsync(void* vcard, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().ParseVcardAsync(*reinterpret_cast(&vcard))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DesiredFields(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().DesiredFields()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OrderBy(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OrderBy()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_OrderBy(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OrderBy(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetContactCountAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetContactCountAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetContactsAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>(this->shim().GetContactsAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetContactsAsyncInRange(uint32_t startIndex, uint32_t maxNumberOfItems, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>(this->shim().GetContactsAsync(startIndex, maxNumberOfItems)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetCurrentQueryOptions(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetCurrentQueryOptions()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall FindContactByRemoteIdAsync(void* id, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().FindContactByRemoteIdAsync(*reinterpret_cast(&id))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FindContactByIdAsync(void* id, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().FindContactByIdAsync(*reinterpret_cast(&id))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DeleteContactAsync(void* id, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().DeleteContactAsync(*reinterpret_cast(&id))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateContactQueryDefault(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateContactQuery()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateContactQueryWithOptions(void* options, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateContactQuery(*reinterpret_cast(&options))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DeleteAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().DeleteAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RevisionNumber(uint64_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RevisionNumber()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetChangesAsync(uint64_t baseRevisionNumber, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>(this->shim().GetChangesAsync(baseRevisionNumber)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall LoadExtendedPropertiesAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>(this->shim().LoadExtendedPropertiesAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SaveExtendedPropertiesAsync(void* data, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().SaveExtendedPropertiesAsync(*reinterpret_cast const*>(&data))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateMeContactAsync(void* id, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateMeContactAsync(*reinterpret_cast(&id))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateOrOpenAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateOrOpenAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateOrOpenWithOptionsAsync(int32_t access, int32_t sharing, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().CreateOrOpenAsync(*reinterpret_cast(&access), *reinterpret_cast(&sharing))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DisplayName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DisplayName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_FamilyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().FamilyName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_GivenName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GivenName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HonorificPrefix(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HonorificPrefix()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HonorificSuffix(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HonorificSuffix()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AdditionalName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AdditionalName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Address(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Address()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OtherAddress(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OtherAddress()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Email(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Email()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WorkAddress(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().WorkAddress()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WorkTelephone(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().WorkTelephone()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_JobTitle(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().JobTitle()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Birthdate(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Birthdate()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Anniversary(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Anniversary()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Telephone(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Telephone()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MobileTelephone(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MobileTelephone()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Url(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Url()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Notes(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Notes()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WorkFax(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().WorkFax()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Children(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Children()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SignificantOther(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SignificantOther()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CompanyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CompanyName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CompanyTelephone(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CompanyTelephone()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_HomeFax(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().HomeFax()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AlternateTelephone(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AlternateTelephone()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Manager(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Manager()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Nickname(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Nickname()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OfficeLocation(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OfficeLocation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WorkEmail(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().WorkEmail()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_YomiGivenName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().YomiGivenName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_YomiFamilyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().YomiFamilyName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_YomiCompanyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().YomiCompanyName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OtherEmail(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OtherEmail()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AlternateMobileTelephone(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AlternateMobileTelephone()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AlternateWorkTelephone(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AlternateWorkTelephone()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Store(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Store()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Id(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RemoteId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RemoteId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RemoteId(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RemoteId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetExtendedPropertiesAsync(void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>(this->shim().GetExtendedPropertiesAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SaveAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().SaveAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReplaceExistingContactAsync(void* id, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ReplaceExistingContactAsync(*reinterpret_cast(&id))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateStoredContact(void* store, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateStoredContact(*reinterpret_cast(&store))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateStoredContactFromInformation(void* store, void* contact, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CreateStoredContactFromInformation(*reinterpret_cast(&store), *reinterpret_cast(&contact))); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::Phone::PersonalInformation { inline ContactAddress::ContactAddress() : ContactAddress(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline ContactInformation::ContactInformation() : ContactInformation(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline auto ContactInformation::ParseVcardAsync(winrt::Windows::Storage::Streams::IInputStream const& vcard) { return impl::call_factory([&](IContactInformationStatics const& f) { return f.ParseVcardAsync(vcard); }); } inline ContactQueryOptions::ContactQueryOptions() : ContactQueryOptions(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline auto ContactStore::CreateOrOpenAsync() { return impl::call_factory_cast(*)(IContactStoreStatics const&), ContactStore, IContactStoreStatics>([](IContactStoreStatics const& f) { return f.CreateOrOpenAsync(); }); } inline auto ContactStore::CreateOrOpenAsync(winrt::Windows::Phone::PersonalInformation::ContactStoreSystemAccessMode const& access, winrt::Windows::Phone::PersonalInformation::ContactStoreApplicationAccessMode const& sharing) { return impl::call_factory([&](IContactStoreStatics const& f) { return f.CreateOrOpenAsync(access, sharing); }); } inline auto KnownContactProperties::DisplayName() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.DisplayName(); }); } inline auto KnownContactProperties::FamilyName() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.FamilyName(); }); } inline auto KnownContactProperties::GivenName() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.GivenName(); }); } inline auto KnownContactProperties::HonorificPrefix() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.HonorificPrefix(); }); } inline auto KnownContactProperties::HonorificSuffix() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.HonorificSuffix(); }); } inline auto KnownContactProperties::AdditionalName() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.AdditionalName(); }); } inline auto KnownContactProperties::Address() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.Address(); }); } inline auto KnownContactProperties::OtherAddress() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.OtherAddress(); }); } inline auto KnownContactProperties::Email() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.Email(); }); } inline auto KnownContactProperties::WorkAddress() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.WorkAddress(); }); } inline auto KnownContactProperties::WorkTelephone() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.WorkTelephone(); }); } inline auto KnownContactProperties::JobTitle() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.JobTitle(); }); } inline auto KnownContactProperties::Birthdate() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.Birthdate(); }); } inline auto KnownContactProperties::Anniversary() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.Anniversary(); }); } inline auto KnownContactProperties::Telephone() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.Telephone(); }); } inline auto KnownContactProperties::MobileTelephone() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.MobileTelephone(); }); } inline auto KnownContactProperties::Url() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.Url(); }); } inline auto KnownContactProperties::Notes() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.Notes(); }); } inline auto KnownContactProperties::WorkFax() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.WorkFax(); }); } inline auto KnownContactProperties::Children() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.Children(); }); } inline auto KnownContactProperties::SignificantOther() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.SignificantOther(); }); } inline auto KnownContactProperties::CompanyName() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.CompanyName(); }); } inline auto KnownContactProperties::CompanyTelephone() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.CompanyTelephone(); }); } inline auto KnownContactProperties::HomeFax() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.HomeFax(); }); } inline auto KnownContactProperties::AlternateTelephone() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.AlternateTelephone(); }); } inline auto KnownContactProperties::Manager() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.Manager(); }); } inline auto KnownContactProperties::Nickname() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.Nickname(); }); } inline auto KnownContactProperties::OfficeLocation() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.OfficeLocation(); }); } inline auto KnownContactProperties::WorkEmail() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.WorkEmail(); }); } inline auto KnownContactProperties::YomiGivenName() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.YomiGivenName(); }); } inline auto KnownContactProperties::YomiFamilyName() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.YomiFamilyName(); }); } inline auto KnownContactProperties::YomiCompanyName() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.YomiCompanyName(); }); } inline auto KnownContactProperties::OtherEmail() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.OtherEmail(); }); } inline auto KnownContactProperties::AlternateMobileTelephone() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.AlternateMobileTelephone(); }); } inline auto KnownContactProperties::AlternateWorkTelephone() { return impl::call_factory_cast([](IKnownContactPropertiesStatics const& f) { return f.AlternateWorkTelephone(); }); } inline StoredContact::StoredContact(winrt::Windows::Phone::PersonalInformation::ContactStore const& store) : StoredContact(impl::call_factory([&](IStoredContactFactory const& f) { return f.CreateStoredContact(store); })) { } inline StoredContact::StoredContact(winrt::Windows::Phone::PersonalInformation::ContactStore const& store, winrt::Windows::Phone::PersonalInformation::ContactInformation const& contact) : StoredContact(impl::call_factory([&](IStoredContactFactory const& f) { return f.CreateStoredContactFromInformation(store, contact); })) { } } namespace std { #ifndef WINRT_LEAN_AND_MEAN template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; #endif } #endif