// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.210825.3 #pragma once #ifndef WINRT_Windows_Phone_Notification_Management_H #define WINRT_Windows_Phone_Notification_Management_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.210825.3"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.210825.3" #include "winrt/impl/Windows.ApplicationModel.Appointments.2.h" #include "winrt/impl/Windows.ApplicationModel.Email.2.h" #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.Notification.Management.2.h" namespace winrt::impl { template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IAccessoryManager::RegisterAccessoryApp() const { void* triggerId{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->RegisterAccessoryApp(&triggerId)); return hstring{ triggerId, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails) consume_Windows_Phone_Notification_Management_IAccessoryManager::GetNextTriggerDetails() const { void* pDetails{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->GetNextTriggerDetails(&pDetails)); return winrt::Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails{ pDetails, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::ProcessTriggerDetails(winrt::Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails const& pDetails) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->ProcessTriggerDetails(*(void**)(&pDetails))); } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::Collections::IVectorView) consume_Windows_Phone_Notification_Management_IAccessoryManager::PhoneLineDetails() const { void* ppvalue{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->get_PhoneLineDetails(&ppvalue)); return winrt::Windows::Foundation::Collections::IVectorView{ ppvalue, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PhoneLineDetails) consume_Windows_Phone_Notification_Management_IAccessoryManager::GetPhoneLineDetails(winrt::guid const& phoneLine) const { void* ppdetails{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->GetPhoneLineDetails(impl::bind_in(phoneLine), &ppdetails)); return winrt::Windows::Phone::Notification::Management::PhoneLineDetails{ ppdetails, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::AcceptPhoneCall(uint32_t phoneCallId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->AcceptPhoneCall(phoneCallId)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::AcceptPhoneCall(uint32_t phoneCallId, winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint const& endPoint) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->AcceptPhoneCallOnEndpoint(phoneCallId, static_cast(endPoint))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::AcceptPhoneCallWithVideo(uint32_t phoneCallId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->AcceptPhoneCallWithVideo(phoneCallId)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::AcceptPhoneCallWithVideo(uint32_t phoneCallId, winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint const& endPoint) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->AcceptPhoneCallWithVideoOnAudioEndpoint(phoneCallId, static_cast(endPoint))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::RejectPhoneCall(uint32_t phoneCallId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->RejectPhoneCall(phoneCallId)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::RejectPhoneCall(uint32_t phoneCallId, uint32_t textResponseID) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->RejectPhoneCallWithText(phoneCallId, textResponseID)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::MakePhoneCall(winrt::guid const& phoneLine, param::hstring const& phoneNumber) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->MakePhoneCall(impl::bind_in(phoneLine), *(void**)(&phoneNumber))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::MakePhoneCall(winrt::guid const& phoneLine, param::hstring const& phoneNumber, winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint const& endPoint) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->MakePhoneCallOnAudioEndpoint(impl::bind_in(phoneLine), *(void**)(&phoneNumber), static_cast(endPoint))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::MakePhoneCallWithVideo(winrt::guid const& phoneLine, param::hstring const& phoneNumber) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->MakePhoneCallWithVideo(impl::bind_in(phoneLine), *(void**)(&phoneNumber))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::MakePhoneCallWithVideo(winrt::guid const& phoneLine, param::hstring const& phoneNumber, winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint const& endPoint) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->MakePhoneCallWithVideoOnAudioEndpoint(impl::bind_in(phoneLine), *(void**)(&phoneNumber), static_cast(endPoint))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::SwapPhoneCalls(uint32_t phoneCallIdToHold, uint32_t phoneCallIdOnHold) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->SwapPhoneCalls(phoneCallIdToHold, phoneCallIdOnHold)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::HoldPhoneCall(uint32_t phoneCallId, bool holdCall) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->HoldPhoneCall(phoneCallId, holdCall)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::EndPhoneCall(uint32_t phoneCallId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->EndPhoneCall(phoneCallId)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::PhoneMute(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->put_PhoneMute(value)); } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IAccessoryManager::PhoneMute() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->get_PhoneMute(&value)); return value; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::PhoneCallAudioEndpoint(winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->put_PhoneCallAudioEndpoint(static_cast(value))); } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint) consume_Windows_Phone_Notification_Management_IAccessoryManager::PhoneCallAudioEndpoint() const { winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->get_PhoneCallAudioEndpoint(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::SnoozeAlarm(winrt::guid const& alarmId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->SnoozeAlarm(impl::bind_in(alarmId))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::SnoozeAlarm(winrt::guid const& alarmId, winrt::Windows::Foundation::TimeSpan const& timeSpan) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->SnoozeAlarmForSpecifiedTime(impl::bind_in(alarmId), impl::bind_in(timeSpan))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::DismissAlarm(winrt::guid const& alarmId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->DismissAlarm(impl::bind_in(alarmId))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::SnoozeReminder(winrt::guid const& reminderId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->SnoozeReminder(impl::bind_in(reminderId))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::SnoozeReminder(winrt::guid const& reminderId, winrt::Windows::Foundation::TimeSpan const& timeSpan) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->SnoozeReminderForSpecifiedTime(impl::bind_in(reminderId), impl::bind_in(timeSpan))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::DismissReminder(winrt::guid const& reminderId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->DismissReminder(impl::bind_in(reminderId))); } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::MediaMetadata) consume_Windows_Phone_Notification_Management_IAccessoryManager::GetMediaMetadata() const { void* ppMetadata{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->GetMediaMetadata(&ppMetadata)); return winrt::Windows::Phone::Notification::Management::MediaMetadata{ ppMetadata, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PlaybackCapability) consume_Windows_Phone_Notification_Management_IAccessoryManager::MediaPlaybackCapabilities() const { winrt::Windows::Phone::Notification::Management::PlaybackCapability value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->get_MediaPlaybackCapabilities(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PlaybackStatus) consume_Windows_Phone_Notification_Management_IAccessoryManager::MediaPlaybackStatus() const { winrt::Windows::Phone::Notification::Management::PlaybackStatus value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->get_MediaPlaybackStatus(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::PerformMediaPlaybackCommand(winrt::Windows::Phone::Notification::Management::PlaybackCommand const& command) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->PerformMediaPlaybackCommand(static_cast(command))); } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IAccessoryManager::DoNotDisturbEnabled() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->get_DoNotDisturbEnabled(&value)); return value; } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IAccessoryManager::DrivingModeEnabled() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->get_DrivingModeEnabled(&value)); return value; } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IAccessoryManager::BatterySaverState() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->get_BatterySaverState(&value)); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::Collections::IMapView) consume_Windows_Phone_Notification_Management_IAccessoryManager::GetApps() const { void* returnValue{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->GetApps(&returnValue)); return winrt::Windows::Foundation::Collections::IMapView{ returnValue, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::EnableNotificationsForApplication(param::hstring const& appId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->EnableNotificationsForApplication(*(void**)(&appId))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::DisableNotificationsForApplication(param::hstring const& appId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->DisableNotificationsForApplication(*(void**)(&appId))); } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IAccessoryManager::IsNotificationEnabledForApplication(param::hstring const& appId) const { bool enabled{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->IsNotificationEnabledForApplication(*(void**)(&appId), &enabled)); return enabled; } template WINRT_IMPL_AUTO(int32_t) consume_Windows_Phone_Notification_Management_IAccessoryManager::GetEnabledAccessoryNotificationTypes() const { int32_t enabledAccessoryNotificationTypes{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->GetEnabledAccessoryNotificationTypes(&enabledAccessoryNotificationTypes)); return enabledAccessoryNotificationTypes; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::EnableAccessoryNotificationTypes(int32_t accessoryNotificationTypes) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->EnableAccessoryNotificationTypes(accessoryNotificationTypes)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager::DisableAllAccessoryNotificationTypes() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->DisableAllAccessoryNotificationTypes()); } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IAccessoryManager::GetUserConsent() const { bool enabled{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->GetUserConsent(&enabled)); return enabled; } template WINRT_IMPL_AUTO(winrt::Windows::Storage::Streams::IRandomAccessStreamReference) consume_Windows_Phone_Notification_Management_IAccessoryManager::GetAppIcon(param::hstring const& appId) const { void* returnValue{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager)->GetAppIcon(*(void**)(&appId), &returnValue)); return winrt::Windows::Storage::Streams::IRandomAccessStreamReference{ returnValue, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager2::RingDevice() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->RingDevice()); } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::Collections::IVectorView) consume_Windows_Phone_Notification_Management_IAccessoryManager2::SpeedDialList() const { void* ppvalue{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->get_SpeedDialList(&ppvalue)); return winrt::Windows::Foundation::Collections::IVectorView{ ppvalue, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager2::ClearToast(param::hstring const& instanceId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->ClearToast(*(void**)(&instanceId))); } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IAccessoryManager2::IsPhonePinLocked() const { bool pinLocked{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->get_IsPhonePinLocked(&pinLocked)); return pinLocked; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager2::IncreaseVolume(int32_t step) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->IncreaseVolume(step)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager2::DecreaseVolume(int32_t step) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->DecreaseVolume(step)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager2::SetMute(bool mute) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->SetMute(mute)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager2::SetRingerVibrate(bool ringer, bool vibrate) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->SetRingerVibrate(ringer, vibrate)); } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::VolumeInfo) consume_Windows_Phone_Notification_Management_IAccessoryManager2::VolumeInfo() const { void* ppVolume{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->get_VolumeInfo(&ppVolume)); return winrt::Windows::Phone::Notification::Management::VolumeInfo{ ppVolume, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::Collections::IVectorView) consume_Windows_Phone_Notification_Management_IAccessoryManager2::GetAllEmailAccounts() const { void* emailAccounts{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->GetAllEmailAccounts(&emailAccounts)); return winrt::Windows::Foundation::Collections::IVectorView{ emailAccounts, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::Collections::IVectorView) consume_Windows_Phone_Notification_Management_IAccessoryManager2::GetFolders(param::hstring const& emailAccount) const { void* folders{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->GetFolders(*(void**)(&emailAccount), &folders)); return winrt::Windows::Foundation::Collections::IVectorView{ folders, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager2::EnableEmailNotificationEmailAccount(param::hstring const& emailAccount) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->EnableEmailNotificationEmailAccount(*(void**)(&emailAccount))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager2::DisableEmailNotificationEmailAccount(param::hstring const& emailAccount) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->DisableEmailNotificationEmailAccount(*(void**)(&emailAccount))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager2::EnableEmailNotificationFolderFilter(param::hstring const& emailAccount, param::vector_view const& folders) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->EnableEmailNotificationFolderFilter(*(void**)(&emailAccount), *(void**)(&folders))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager2::UpdateEmailReadStatus(winrt::Windows::Phone::Notification::Management::BinaryId const& messageEntryId, bool isRead) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager2)->UpdateEmailReadStatus(*(void**)(&messageEntryId), isRead)); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager3::SnoozeAlarmByInstanceId(param::hstring const& instanceId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager3)->SnoozeAlarmByInstanceId(*(void**)(&instanceId))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager3::DismissAlarmByInstanceId(param::hstring const& instanceId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager3)->DismissAlarmByInstanceId(*(void**)(&instanceId))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager3::SnoozeReminderByInstanceId(param::hstring const& instanceId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager3)->SnoozeReminderByInstanceId(*(void**)(&instanceId))); } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryManager3::DismissReminderByInstanceId(param::hstring const& instanceId) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryManager3)->DismissReminderByInstanceId(*(void**)(&instanceId))); } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::DateTime) consume_Windows_Phone_Notification_Management_IAccessoryNotificationTriggerDetails::TimeCreated() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails)->get_TimeCreated(put_abi(value))); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IAccessoryNotificationTriggerDetails::AppDisplayName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails)->get_AppDisplayName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IAccessoryNotificationTriggerDetails::AppId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails)->get_AppId(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::AccessoryNotificationType) consume_Windows_Phone_Notification_Management_IAccessoryNotificationTriggerDetails::AccessoryNotificationType() const { winrt::Windows::Phone::Notification::Management::AccessoryNotificationType value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails)->get_AccessoryNotificationType(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IAccessoryNotificationTriggerDetails::StartedProcessing() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails)->get_StartedProcessing(&value)); return value; } template WINRT_IMPL_AUTO(void) consume_Windows_Phone_Notification_Management_IAccessoryNotificationTriggerDetails::StartedProcessing(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails)->put_StartedProcessing(value)); } template WINRT_IMPL_AUTO(winrt::guid) consume_Windows_Phone_Notification_Management_IAlarmNotificationTriggerDetails::AlarmId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAlarmNotificationTriggerDetails)->get_AlarmId(put_abi(value))); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IAlarmNotificationTriggerDetails::Title() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAlarmNotificationTriggerDetails)->get_Title(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::DateTime) consume_Windows_Phone_Notification_Management_IAlarmNotificationTriggerDetails::Timestamp() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAlarmNotificationTriggerDetails)->get_Timestamp(put_abi(value))); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::ReminderState) consume_Windows_Phone_Notification_Management_IAlarmNotificationTriggerDetails::ReminderState() const { winrt::Windows::Phone::Notification::Management::ReminderState value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAlarmNotificationTriggerDetails)->get_ReminderState(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IAlarmNotificationTriggerDetails2::InstanceId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAlarmNotificationTriggerDetails2)->get_InstanceId(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IAppNotificationInfo::Id() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAppNotificationInfo)->get_Id(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IAppNotificationInfo::Name() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IAppNotificationInfo)->get_Name(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(uint8_t) consume_Windows_Phone_Notification_Management_IBinaryId::Id() const { uint8_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IBinaryId)->get_Id(&value)); return value; } template WINRT_IMPL_AUTO(uint32_t) consume_Windows_Phone_Notification_Management_IBinaryId::Length() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IBinaryId)->get_Length(&value)); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::CalendarChangedEvent) consume_Windows_Phone_Notification_Management_ICalendarChangedNotificationTriggerDetails::EventType() const { winrt::Windows::Phone::Notification::Management::CalendarChangedEvent value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICalendarChangedNotificationTriggerDetails)->get_EventType(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ICalendarChangedNotificationTriggerDetails::ItemId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICalendarChangedNotificationTriggerDetails)->get_ItemId(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ICortanaTileNotificationTriggerDetails::TileId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICortanaTileNotificationTriggerDetails)->get_TileId(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ICortanaTileNotificationTriggerDetails::Content() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICortanaTileNotificationTriggerDetails)->get_Content(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ICortanaTileNotificationTriggerDetails::LargeContent1() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICortanaTileNotificationTriggerDetails)->get_LargeContent1(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ICortanaTileNotificationTriggerDetails::LargeContent2() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICortanaTileNotificationTriggerDetails)->get_LargeContent2(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ICortanaTileNotificationTriggerDetails::EmphasizedText() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICortanaTileNotificationTriggerDetails)->get_EmphasizedText(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ICortanaTileNotificationTriggerDetails::NonWrappedSmallContent1() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICortanaTileNotificationTriggerDetails)->get_NonWrappedSmallContent1(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ICortanaTileNotificationTriggerDetails::NonWrappedSmallContent2() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICortanaTileNotificationTriggerDetails)->get_NonWrappedSmallContent2(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ICortanaTileNotificationTriggerDetails::NonWrappedSmallContent3() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICortanaTileNotificationTriggerDetails)->get_NonWrappedSmallContent3(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ICortanaTileNotificationTriggerDetails::NonWrappedSmallContent4() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICortanaTileNotificationTriggerDetails)->get_NonWrappedSmallContent4(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ICortanaTileNotificationTriggerDetails::Source() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ICortanaTileNotificationTriggerDetails)->get_Source(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IEmailAccountInfo::DisplayName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailAccountInfo)->get_DisplayName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IEmailAccountInfo::IsNotificationEnabled() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailAccountInfo)->get_IsNotificationEnabled(&value)); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IEmailFolderInfo::DisplayName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailFolderInfo)->get_DisplayName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IEmailFolderInfo::IsNotificationEnabled() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailFolderInfo)->get_IsNotificationEnabled(&value)); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IEmailNotificationTriggerDetails::AccountName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailNotificationTriggerDetails)->get_AccountName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IEmailNotificationTriggerDetails::ParentFolderName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailNotificationTriggerDetails)->get_ParentFolderName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IEmailNotificationTriggerDetails::SenderName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailNotificationTriggerDetails)->get_SenderName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IEmailNotificationTriggerDetails::SenderAddress() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailNotificationTriggerDetails)->get_SenderAddress(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::ApplicationModel::Email::EmailMessage) consume_Windows_Phone_Notification_Management_IEmailNotificationTriggerDetails::EmailMessage() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailNotificationTriggerDetails)->get_EmailMessage(&value)); return winrt::Windows::ApplicationModel::Email::EmailMessage{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::DateTime) consume_Windows_Phone_Notification_Management_IEmailNotificationTriggerDetails::Timestamp() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailNotificationTriggerDetails)->get_Timestamp(put_abi(value))); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::BinaryId) consume_Windows_Phone_Notification_Management_IEmailNotificationTriggerDetails2::MessageEntryId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailNotificationTriggerDetails2)->get_MessageEntryId(&value)); return winrt::Windows::Phone::Notification::Management::BinaryId{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IEmailReadNotificationTriggerDetails::AccountName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailReadNotificationTriggerDetails)->get_AccountName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IEmailReadNotificationTriggerDetails::ParentFolderName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailReadNotificationTriggerDetails)->get_ParentFolderName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::BinaryId) consume_Windows_Phone_Notification_Management_IEmailReadNotificationTriggerDetails::MessageEntryId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailReadNotificationTriggerDetails)->get_MessageEntryId(&value)); return winrt::Windows::Phone::Notification::Management::BinaryId{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IEmailReadNotificationTriggerDetails::IsRead() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IEmailReadNotificationTriggerDetails)->get_IsRead(&value)); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PlaybackStatus) consume_Windows_Phone_Notification_Management_IMediaControlsTriggerDetails::PlaybackStatus() const { winrt::Windows::Phone::Notification::Management::PlaybackStatus value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IMediaControlsTriggerDetails)->get_PlaybackStatus(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::MediaMetadata) consume_Windows_Phone_Notification_Management_IMediaControlsTriggerDetails::MediaMetadata() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IMediaControlsTriggerDetails)->get_MediaMetadata(&value)); return winrt::Windows::Phone::Notification::Management::MediaMetadata{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IMediaMetadata::Title() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IMediaMetadata)->get_Title(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IMediaMetadata::Subtitle() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IMediaMetadata)->get_Subtitle(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IMediaMetadata::Artist() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IMediaMetadata)->get_Artist(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IMediaMetadata::Album() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IMediaMetadata)->get_Album(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(uint32_t) consume_Windows_Phone_Notification_Management_IMediaMetadata::Track() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IMediaMetadata)->get_Track(&value)); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::TimeSpan) consume_Windows_Phone_Notification_Management_IMediaMetadata::Duration() const { winrt::Windows::Foundation::TimeSpan value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IMediaMetadata)->get_Duration(put_abi(value))); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Storage::Streams::IRandomAccessStreamReference) consume_Windows_Phone_Notification_Management_IMediaMetadata::Thumbnail() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IMediaMetadata)->get_Thumbnail(&value)); return winrt::Windows::Storage::Streams::IRandomAccessStreamReference{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::guid) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::PhoneLine() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_PhoneLine(put_abi(value))); return value; } template WINRT_IMPL_AUTO(uint32_t) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::CallId() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_CallId(&value)); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PhoneCallTransport) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::CallTransport() const { winrt::Windows::Phone::Notification::Management::PhoneCallTransport value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_CallTransport(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PhoneMediaType) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::CallMediaType() const { winrt::Windows::Phone::Notification::Management::PhoneMediaType value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_CallMediaType(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PhoneCallDirection) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::CallDirection() const { winrt::Windows::Phone::Notification::Management::PhoneCallDirection value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_CallDirection(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PhoneCallState) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::State() const { winrt::Windows::Phone::Notification::Management::PhoneCallState value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_State(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(uint32_t) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::ConferenceCallId() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_ConferenceCallId(&value)); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::DateTime) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::StartTime() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_StartTime(put_abi(value))); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::DateTime) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::EndTime() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_EndTime(put_abi(value))); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::PhoneNumber() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_PhoneNumber(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::ContactName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_ContactName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::Collections::IVectorView) consume_Windows_Phone_Notification_Management_IPhoneCallDetails::PresetTextResponses() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneCallDetails)->get_PresetTextResponses(&value)); return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::guid) consume_Windows_Phone_Notification_Management_IPhoneLineDetails::LineId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneLineDetails)->get_LineId(put_abi(value))); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IPhoneLineDetails::DisplayName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneLineDetails)->get_DisplayName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IPhoneLineDetails::LineNumber() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneLineDetails)->get_LineNumber(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IPhoneLineDetails::DefaultOutgoingLine() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneLineDetails)->get_DefaultOutgoingLine(&value)); return value; } template WINRT_IMPL_AUTO(uint32_t) consume_Windows_Phone_Notification_Management_IPhoneLineDetails::VoicemailCount() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneLineDetails)->get_VoicemailCount(&value)); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PhoneLineRegistrationState) consume_Windows_Phone_Notification_Management_IPhoneLineDetails::RegistrationState() const { winrt::Windows::Phone::Notification::Management::PhoneLineRegistrationState value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneLineDetails)->get_RegistrationState(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(uint32_t) consume_Windows_Phone_Notification_Management_IPhoneLineDetails2::MissedCallCount() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneLineDetails2)->get_MissedCallCount(&value)); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PhoneNotificationType) consume_Windows_Phone_Notification_Management_IPhoneNotificationTriggerDetails::PhoneNotificationType() const { winrt::Windows::Phone::Notification::Management::PhoneNotificationType value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneNotificationTriggerDetails)->get_PhoneNotificationType(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::PhoneCallDetails) consume_Windows_Phone_Notification_Management_IPhoneNotificationTriggerDetails::CallDetails() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneNotificationTriggerDetails)->get_CallDetails(&value)); return winrt::Windows::Phone::Notification::Management::PhoneCallDetails{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::guid) consume_Windows_Phone_Notification_Management_IPhoneNotificationTriggerDetails::PhoneLineChangedId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IPhoneNotificationTriggerDetails)->get_PhoneLineChangedId(put_abi(value))); return value; } template WINRT_IMPL_AUTO(winrt::guid) consume_Windows_Phone_Notification_Management_IReminderNotificationTriggerDetails::ReminderId() const { winrt::guid value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IReminderNotificationTriggerDetails)->get_ReminderId(put_abi(value))); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IReminderNotificationTriggerDetails::Title() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IReminderNotificationTriggerDetails)->get_Title(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IReminderNotificationTriggerDetails::Description() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IReminderNotificationTriggerDetails)->get_Description(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IReminderNotificationTriggerDetails::Details() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IReminderNotificationTriggerDetails)->get_Details(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Foundation::DateTime) consume_Windows_Phone_Notification_Management_IReminderNotificationTriggerDetails::Timestamp() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IReminderNotificationTriggerDetails)->get_Timestamp(put_abi(value))); return value; } template WINRT_IMPL_AUTO(winrt::Windows::ApplicationModel::Appointments::Appointment) consume_Windows_Phone_Notification_Management_IReminderNotificationTriggerDetails::Appointment() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IReminderNotificationTriggerDetails)->get_Appointment(&value)); return winrt::Windows::ApplicationModel::Appointments::Appointment{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::ReminderState) consume_Windows_Phone_Notification_Management_IReminderNotificationTriggerDetails::ReminderState() const { winrt::Windows::Phone::Notification::Management::ReminderState value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IReminderNotificationTriggerDetails)->get_ReminderState(reinterpret_cast(&value))); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IReminderNotificationTriggerDetails2::InstanceId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IReminderNotificationTriggerDetails2)->get_InstanceId(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ISpeedDialEntry::PhoneNumber() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ISpeedDialEntry)->get_PhoneNumber(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ISpeedDialEntry::NumberType() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ISpeedDialEntry)->get_NumberType(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ISpeedDialEntry::ContactName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ISpeedDialEntry)->get_ContactName(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(uint32_t) consume_Windows_Phone_Notification_Management_ITextResponse::Id() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ITextResponse)->get_Id(&value)); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_ITextResponse::Content() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::ITextResponse)->get_Content(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IToastNotificationTriggerDetails::Text1() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IToastNotificationTriggerDetails)->get_Text1(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IToastNotificationTriggerDetails::Text2() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IToastNotificationTriggerDetails)->get_Text2(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IToastNotificationTriggerDetails::Text3() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IToastNotificationTriggerDetails)->get_Text3(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IToastNotificationTriggerDetails::Text4() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IToastNotificationTriggerDetails)->get_Text4(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IToastNotificationTriggerDetails::SuppressPopup() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IToastNotificationTriggerDetails)->get_SuppressPopup(&value)); return value; } template WINRT_IMPL_AUTO(hstring) consume_Windows_Phone_Notification_Management_IToastNotificationTriggerDetails2::InstanceId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IToastNotificationTriggerDetails2)->get_InstanceId(&value)); return hstring{ value, take_ownership_from_abi }; } template WINRT_IMPL_AUTO(uint32_t) consume_Windows_Phone_Notification_Management_IVolumeInfo::SystemVolume() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IVolumeInfo)->get_SystemVolume(&value)); return value; } template WINRT_IMPL_AUTO(uint32_t) consume_Windows_Phone_Notification_Management_IVolumeInfo::CallVolume() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IVolumeInfo)->get_CallVolume(&value)); return value; } template WINRT_IMPL_AUTO(uint32_t) consume_Windows_Phone_Notification_Management_IVolumeInfo::MediaVolume() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IVolumeInfo)->get_MediaVolume(&value)); return value; } template WINRT_IMPL_AUTO(bool) consume_Windows_Phone_Notification_Management_IVolumeInfo::IsMuted() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IVolumeInfo)->get_IsMuted(&value)); return value; } template WINRT_IMPL_AUTO(winrt::Windows::Phone::Notification::Management::VibrateState) consume_Windows_Phone_Notification_Management_IVolumeInfo::IsVibrateEnabled() const { winrt::Windows::Phone::Notification::Management::VibrateState value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::Phone::Notification::Management::IVolumeInfo)->get_IsVibrateEnabled(reinterpret_cast(&value))); return value; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall RegisterAccessoryApp(void** triggerId) noexcept final try { clear_abi(triggerId); typename D::abi_guard guard(this->shim()); *triggerId = detach_from(this->shim().RegisterAccessoryApp()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetNextTriggerDetails(void** pDetails) noexcept final try { clear_abi(pDetails); typename D::abi_guard guard(this->shim()); *pDetails = detach_from(this->shim().GetNextTriggerDetails()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ProcessTriggerDetails(void* pDetails) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ProcessTriggerDetails(*reinterpret_cast(&pDetails)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PhoneLineDetails(void** ppvalue) noexcept final try { clear_abi(ppvalue); typename D::abi_guard guard(this->shim()); *ppvalue = detach_from>(this->shim().PhoneLineDetails()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetPhoneLineDetails(winrt::guid phoneLine, void** ppdetails) noexcept final try { clear_abi(ppdetails); typename D::abi_guard guard(this->shim()); *ppdetails = detach_from(this->shim().GetPhoneLineDetails(*reinterpret_cast(&phoneLine))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AcceptPhoneCall(uint32_t phoneCallId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AcceptPhoneCall(phoneCallId); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AcceptPhoneCallOnEndpoint(uint32_t phoneCallId, int32_t endPoint) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AcceptPhoneCall(phoneCallId, *reinterpret_cast(&endPoint)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AcceptPhoneCallWithVideo(uint32_t phoneCallId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AcceptPhoneCallWithVideo(phoneCallId); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AcceptPhoneCallWithVideoOnAudioEndpoint(uint32_t phoneCallId, int32_t endPoint) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AcceptPhoneCallWithVideo(phoneCallId, *reinterpret_cast(&endPoint)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RejectPhoneCall(uint32_t phoneCallId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RejectPhoneCall(phoneCallId); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RejectPhoneCallWithText(uint32_t phoneCallId, uint32_t textResponseID) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RejectPhoneCall(phoneCallId, textResponseID); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MakePhoneCall(winrt::guid phoneLine, void* phoneNumber) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MakePhoneCall(*reinterpret_cast(&phoneLine), *reinterpret_cast(&phoneNumber)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MakePhoneCallOnAudioEndpoint(winrt::guid phoneLine, void* phoneNumber, int32_t endPoint) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MakePhoneCall(*reinterpret_cast(&phoneLine), *reinterpret_cast(&phoneNumber), *reinterpret_cast(&endPoint)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MakePhoneCallWithVideo(winrt::guid phoneLine, void* phoneNumber) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MakePhoneCallWithVideo(*reinterpret_cast(&phoneLine), *reinterpret_cast(&phoneNumber)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MakePhoneCallWithVideoOnAudioEndpoint(winrt::guid phoneLine, void* phoneNumber, int32_t endPoint) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MakePhoneCallWithVideo(*reinterpret_cast(&phoneLine), *reinterpret_cast(&phoneNumber), *reinterpret_cast(&endPoint)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SwapPhoneCalls(uint32_t phoneCallIdToHold, uint32_t phoneCallIdOnHold) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SwapPhoneCalls(phoneCallIdToHold, phoneCallIdOnHold); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall HoldPhoneCall(uint32_t phoneCallId, bool holdCall) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().HoldPhoneCall(phoneCallId, holdCall); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall EndPhoneCall(uint32_t phoneCallId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EndPhoneCall(phoneCallId); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PhoneMute(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PhoneMute(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PhoneMute(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PhoneMute()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PhoneCallAudioEndpoint(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PhoneCallAudioEndpoint(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PhoneCallAudioEndpoint(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PhoneCallAudioEndpoint()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SnoozeAlarm(winrt::guid alarmId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SnoozeAlarm(*reinterpret_cast(&alarmId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SnoozeAlarmForSpecifiedTime(winrt::guid alarmId, int64_t timeSpan) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SnoozeAlarm(*reinterpret_cast(&alarmId), *reinterpret_cast(&timeSpan)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DismissAlarm(winrt::guid alarmId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DismissAlarm(*reinterpret_cast(&alarmId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SnoozeReminder(winrt::guid reminderId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SnoozeReminder(*reinterpret_cast(&reminderId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SnoozeReminderForSpecifiedTime(winrt::guid reminderId, int64_t timeSpan) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SnoozeReminder(*reinterpret_cast(&reminderId), *reinterpret_cast(&timeSpan)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DismissReminder(winrt::guid reminderId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DismissReminder(*reinterpret_cast(&reminderId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetMediaMetadata(void** ppMetadata) noexcept final try { clear_abi(ppMetadata); typename D::abi_guard guard(this->shim()); *ppMetadata = detach_from(this->shim().GetMediaMetadata()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MediaPlaybackCapabilities(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MediaPlaybackCapabilities()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MediaPlaybackStatus(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MediaPlaybackStatus()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall PerformMediaPlaybackCommand(int32_t command) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PerformMediaPlaybackCommand(*reinterpret_cast(&command)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DoNotDisturbEnabled(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DoNotDisturbEnabled()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DrivingModeEnabled(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DrivingModeEnabled()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BatterySaverState(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BatterySaverState()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetApps(void** returnValue) noexcept final try { clear_abi(returnValue); typename D::abi_guard guard(this->shim()); *returnValue = detach_from>(this->shim().GetApps()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall EnableNotificationsForApplication(void* appId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EnableNotificationsForApplication(*reinterpret_cast(&appId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DisableNotificationsForApplication(void* appId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DisableNotificationsForApplication(*reinterpret_cast(&appId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsNotificationEnabledForApplication(void* appId, bool* enabled) noexcept final try { typename D::abi_guard guard(this->shim()); *enabled = detach_from(this->shim().IsNotificationEnabledForApplication(*reinterpret_cast(&appId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetEnabledAccessoryNotificationTypes(int32_t* enabledAccessoryNotificationTypes) noexcept final try { typename D::abi_guard guard(this->shim()); *enabledAccessoryNotificationTypes = detach_from(this->shim().GetEnabledAccessoryNotificationTypes()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall EnableAccessoryNotificationTypes(int32_t accessoryNotificationTypes) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EnableAccessoryNotificationTypes(accessoryNotificationTypes); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DisableAllAccessoryNotificationTypes() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DisableAllAccessoryNotificationTypes(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetUserConsent(bool* enabled) noexcept final try { typename D::abi_guard guard(this->shim()); *enabled = detach_from(this->shim().GetUserConsent()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetAppIcon(void* appId, void** returnValue) noexcept final try { clear_abi(returnValue); typename D::abi_guard guard(this->shim()); *returnValue = detach_from(this->shim().GetAppIcon(*reinterpret_cast(&appId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall RingDevice() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RingDevice(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SpeedDialList(void** ppvalue) noexcept final try { clear_abi(ppvalue); typename D::abi_guard guard(this->shim()); *ppvalue = detach_from>(this->shim().SpeedDialList()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ClearToast(void* instanceId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ClearToast(*reinterpret_cast(&instanceId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsPhonePinLocked(bool* pinLocked) noexcept final try { typename D::abi_guard guard(this->shim()); *pinLocked = detach_from(this->shim().IsPhonePinLocked()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IncreaseVolume(int32_t step) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IncreaseVolume(step); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DecreaseVolume(int32_t step) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DecreaseVolume(step); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetMute(bool mute) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetMute(mute); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetRingerVibrate(bool ringer, bool vibrate) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetRingerVibrate(ringer, vibrate); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_VolumeInfo(void** ppVolume) noexcept final try { clear_abi(ppVolume); typename D::abi_guard guard(this->shim()); *ppVolume = detach_from(this->shim().VolumeInfo()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetAllEmailAccounts(void** emailAccounts) noexcept final try { clear_abi(emailAccounts); typename D::abi_guard guard(this->shim()); *emailAccounts = detach_from>(this->shim().GetAllEmailAccounts()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetFolders(void* emailAccount, void** folders) noexcept final try { clear_abi(folders); typename D::abi_guard guard(this->shim()); *folders = detach_from>(this->shim().GetFolders(*reinterpret_cast(&emailAccount))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall EnableEmailNotificationEmailAccount(void* emailAccount) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EnableEmailNotificationEmailAccount(*reinterpret_cast(&emailAccount)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DisableEmailNotificationEmailAccount(void* emailAccount) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DisableEmailNotificationEmailAccount(*reinterpret_cast(&emailAccount)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall EnableEmailNotificationFolderFilter(void* emailAccount, void* folders) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EnableEmailNotificationFolderFilter(*reinterpret_cast(&emailAccount), *reinterpret_cast const*>(&folders)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall UpdateEmailReadStatus(void* messageEntryId, bool isRead) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().UpdateEmailReadStatus(*reinterpret_cast(&messageEntryId), isRead); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall SnoozeAlarmByInstanceId(void* instanceId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SnoozeAlarmByInstanceId(*reinterpret_cast(&instanceId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DismissAlarmByInstanceId(void* instanceId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DismissAlarmByInstanceId(*reinterpret_cast(&instanceId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SnoozeReminderByInstanceId(void* instanceId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SnoozeReminderByInstanceId(*reinterpret_cast(&instanceId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DismissReminderByInstanceId(void* instanceId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DismissReminderByInstanceId(*reinterpret_cast(&instanceId)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_TimeCreated(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TimeCreated()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AppDisplayName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AppDisplayName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AppId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AppId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AccessoryNotificationType(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AccessoryNotificationType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_StartedProcessing(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().StartedProcessing()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_StartedProcessing(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().StartedProcessing(value); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_AlarmId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AlarmId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Title(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Title()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Timestamp(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Timestamp()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ReminderState(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ReminderState()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InstanceId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InstanceId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { 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_Name(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Name()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Id(uint8_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Length(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Length()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_EventType(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EventType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ItemId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ItemId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_TileId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TileId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Content(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Content()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LargeContent1(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LargeContent1()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LargeContent2(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LargeContent2()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EmphasizedText(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EmphasizedText()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NonWrappedSmallContent1(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NonWrappedSmallContent1()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NonWrappedSmallContent2(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NonWrappedSmallContent2()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NonWrappedSmallContent3(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NonWrappedSmallContent3()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NonWrappedSmallContent4(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NonWrappedSmallContent4()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Source(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Source()); 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_IsNotificationEnabled(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsNotificationEnabled()); 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_IsNotificationEnabled(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsNotificationEnabled()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_AccountName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AccountName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ParentFolderName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ParentFolderName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SenderName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SenderName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SenderAddress(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SenderAddress()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EmailMessage(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EmailMessage()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Timestamp(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Timestamp()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_MessageEntryId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MessageEntryId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_AccountName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AccountName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ParentFolderName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ParentFolderName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MessageEntryId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MessageEntryId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsRead(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsRead()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PlaybackStatus(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PlaybackStatus()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MediaMetadata(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MediaMetadata()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Title(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Title()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Subtitle(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Subtitle()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Artist(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Artist()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Album(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Album()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Track(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Track()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Duration(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Duration()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Thumbnail(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Thumbnail()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PhoneLine(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PhoneLine()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CallId(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CallId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CallTransport(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CallTransport()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CallMediaType(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CallMediaType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CallDirection(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CallDirection()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_State(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().State()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ConferenceCallId(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ConferenceCallId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_StartTime(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().StartTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EndTime(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EndTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PhoneNumber(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PhoneNumber()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ContactName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ContactName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PresetTextResponses(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().PresetTextResponses()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_LineId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LineId()); return 0; } catch (...) { return to_hresult(); } 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_LineNumber(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LineNumber()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DefaultOutgoingLine(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DefaultOutgoingLine()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_VoicemailCount(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().VoicemailCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RegistrationState(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RegistrationState()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_MissedCallCount(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MissedCallCount()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PhoneNotificationType(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PhoneNotificationType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CallDetails(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CallDetails()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PhoneLineChangedId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PhoneLineChangedId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ReminderId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ReminderId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Title(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Title()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Description(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Description()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Details(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Details()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Timestamp(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Timestamp()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Appointment(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Appointment()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ReminderState(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ReminderState()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InstanceId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InstanceId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_PhoneNumber(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().PhoneNumber()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NumberType(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NumberType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ContactName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ContactName()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Id(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Content(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Content()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Text1(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Text1()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Text2(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Text2()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Text3(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Text3()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Text4(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Text4()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SuppressPopup(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SuppressPopup()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_InstanceId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InstanceId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_SystemVolume(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SystemVolume()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CallVolume(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CallVolume()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MediaVolume(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MediaVolume()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsMuted(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsMuted()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsVibrateEnabled(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsVibrateEnabled()); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::Phone::Notification::Management { constexpr auto operator|(AccessoryNotificationType const left, AccessoryNotificationType const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(AccessoryNotificationType& left, AccessoryNotificationType const right) noexcept { left = left | right; return left; } constexpr auto operator&(AccessoryNotificationType const left, AccessoryNotificationType const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(AccessoryNotificationType& left, AccessoryNotificationType const right) noexcept { left = left & right; return left; } constexpr auto operator~(AccessoryNotificationType const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(AccessoryNotificationType const left, AccessoryNotificationType const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(AccessoryNotificationType& left, AccessoryNotificationType const right) noexcept { left = left ^ right; return left; } constexpr auto operator|(PlaybackCapability const left, PlaybackCapability const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(PlaybackCapability& left, PlaybackCapability const right) noexcept { left = left | right; return left; } constexpr auto operator&(PlaybackCapability const left, PlaybackCapability const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(PlaybackCapability& left, PlaybackCapability const right) noexcept { left = left & right; return left; } constexpr auto operator~(PlaybackCapability const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(PlaybackCapability const left, PlaybackCapability const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(PlaybackCapability& left, PlaybackCapability const right) noexcept { left = left ^ right; return left; } inline auto AccessoryManager::RegisterAccessoryApp() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.RegisterAccessoryApp(); }); } inline auto AccessoryManager::GetNextTriggerDetails() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.GetNextTriggerDetails(); }); } inline auto AccessoryManager::ProcessTriggerDetails(winrt::Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails const& pDetails) { impl::call_factory([&](IAccessoryManager const& f) { return f.ProcessTriggerDetails(pDetails); }); } inline auto AccessoryManager::PhoneLineDetails() { return impl::call_factory_cast(*)(IAccessoryManager const&), AccessoryManager, IAccessoryManager>([](IAccessoryManager const& f) { return f.PhoneLineDetails(); }); } inline auto AccessoryManager::GetPhoneLineDetails(winrt::guid const& phoneLine) { return impl::call_factory([&](IAccessoryManager const& f) { return f.GetPhoneLineDetails(phoneLine); }); } inline auto AccessoryManager::AcceptPhoneCall(uint32_t phoneCallId) { impl::call_factory([&](IAccessoryManager const& f) { return f.AcceptPhoneCall(phoneCallId); }); } inline auto AccessoryManager::AcceptPhoneCall(uint32_t phoneCallId, winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint const& endPoint) { impl::call_factory([&](IAccessoryManager const& f) { return f.AcceptPhoneCall(phoneCallId, endPoint); }); } inline auto AccessoryManager::AcceptPhoneCallWithVideo(uint32_t phoneCallId) { impl::call_factory([&](IAccessoryManager const& f) { return f.AcceptPhoneCallWithVideo(phoneCallId); }); } inline auto AccessoryManager::AcceptPhoneCallWithVideo(uint32_t phoneCallId, winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint const& endPoint) { impl::call_factory([&](IAccessoryManager const& f) { return f.AcceptPhoneCallWithVideo(phoneCallId, endPoint); }); } inline auto AccessoryManager::RejectPhoneCall(uint32_t phoneCallId) { impl::call_factory([&](IAccessoryManager const& f) { return f.RejectPhoneCall(phoneCallId); }); } inline auto AccessoryManager::RejectPhoneCall(uint32_t phoneCallId, uint32_t textResponseID) { impl::call_factory([&](IAccessoryManager const& f) { return f.RejectPhoneCall(phoneCallId, textResponseID); }); } inline auto AccessoryManager::MakePhoneCall(winrt::guid const& phoneLine, param::hstring const& phoneNumber) { impl::call_factory([&](IAccessoryManager const& f) { return f.MakePhoneCall(phoneLine, phoneNumber); }); } inline auto AccessoryManager::MakePhoneCall(winrt::guid const& phoneLine, param::hstring const& phoneNumber, winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint const& endPoint) { impl::call_factory([&](IAccessoryManager const& f) { return f.MakePhoneCall(phoneLine, phoneNumber, endPoint); }); } inline auto AccessoryManager::MakePhoneCallWithVideo(winrt::guid const& phoneLine, param::hstring const& phoneNumber) { impl::call_factory([&](IAccessoryManager const& f) { return f.MakePhoneCallWithVideo(phoneLine, phoneNumber); }); } inline auto AccessoryManager::MakePhoneCallWithVideo(winrt::guid const& phoneLine, param::hstring const& phoneNumber, winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint const& endPoint) { impl::call_factory([&](IAccessoryManager const& f) { return f.MakePhoneCallWithVideo(phoneLine, phoneNumber, endPoint); }); } inline auto AccessoryManager::SwapPhoneCalls(uint32_t phoneCallIdToHold, uint32_t phoneCallIdOnHold) { impl::call_factory([&](IAccessoryManager const& f) { return f.SwapPhoneCalls(phoneCallIdToHold, phoneCallIdOnHold); }); } inline auto AccessoryManager::HoldPhoneCall(uint32_t phoneCallId, bool holdCall) { impl::call_factory([&](IAccessoryManager const& f) { return f.HoldPhoneCall(phoneCallId, holdCall); }); } inline auto AccessoryManager::EndPhoneCall(uint32_t phoneCallId) { impl::call_factory([&](IAccessoryManager const& f) { return f.EndPhoneCall(phoneCallId); }); } inline auto AccessoryManager::PhoneMute(bool value) { impl::call_factory([&](IAccessoryManager const& f) { return f.PhoneMute(value); }); } inline auto AccessoryManager::PhoneMute() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.PhoneMute(); }); } inline auto AccessoryManager::PhoneCallAudioEndpoint(winrt::Windows::Phone::Notification::Management::PhoneCallAudioEndpoint const& value) { impl::call_factory([&](IAccessoryManager const& f) { return f.PhoneCallAudioEndpoint(value); }); } inline auto AccessoryManager::PhoneCallAudioEndpoint() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.PhoneCallAudioEndpoint(); }); } inline auto AccessoryManager::SnoozeAlarm(winrt::guid const& alarmId) { impl::call_factory([&](IAccessoryManager const& f) { return f.SnoozeAlarm(alarmId); }); } inline auto AccessoryManager::SnoozeAlarm(winrt::guid const& alarmId, winrt::Windows::Foundation::TimeSpan const& timeSpan) { impl::call_factory([&](IAccessoryManager const& f) { return f.SnoozeAlarm(alarmId, timeSpan); }); } inline auto AccessoryManager::DismissAlarm(winrt::guid const& alarmId) { impl::call_factory([&](IAccessoryManager const& f) { return f.DismissAlarm(alarmId); }); } inline auto AccessoryManager::SnoozeReminder(winrt::guid const& reminderId) { impl::call_factory([&](IAccessoryManager const& f) { return f.SnoozeReminder(reminderId); }); } inline auto AccessoryManager::SnoozeReminder(winrt::guid const& reminderId, winrt::Windows::Foundation::TimeSpan const& timeSpan) { impl::call_factory([&](IAccessoryManager const& f) { return f.SnoozeReminder(reminderId, timeSpan); }); } inline auto AccessoryManager::DismissReminder(winrt::guid const& reminderId) { impl::call_factory([&](IAccessoryManager const& f) { return f.DismissReminder(reminderId); }); } inline auto AccessoryManager::GetMediaMetadata() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.GetMediaMetadata(); }); } inline auto AccessoryManager::MediaPlaybackCapabilities() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.MediaPlaybackCapabilities(); }); } inline auto AccessoryManager::MediaPlaybackStatus() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.MediaPlaybackStatus(); }); } inline auto AccessoryManager::PerformMediaPlaybackCommand(winrt::Windows::Phone::Notification::Management::PlaybackCommand const& command) { impl::call_factory([&](IAccessoryManager const& f) { return f.PerformMediaPlaybackCommand(command); }); } inline auto AccessoryManager::DoNotDisturbEnabled() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.DoNotDisturbEnabled(); }); } inline auto AccessoryManager::DrivingModeEnabled() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.DrivingModeEnabled(); }); } inline auto AccessoryManager::BatterySaverState() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.BatterySaverState(); }); } inline auto AccessoryManager::GetApps() { return impl::call_factory_cast(*)(IAccessoryManager const&), AccessoryManager, IAccessoryManager>([](IAccessoryManager const& f) { return f.GetApps(); }); } inline auto AccessoryManager::EnableNotificationsForApplication(param::hstring const& appId) { impl::call_factory([&](IAccessoryManager const& f) { return f.EnableNotificationsForApplication(appId); }); } inline auto AccessoryManager::DisableNotificationsForApplication(param::hstring const& appId) { impl::call_factory([&](IAccessoryManager const& f) { return f.DisableNotificationsForApplication(appId); }); } inline auto AccessoryManager::IsNotificationEnabledForApplication(param::hstring const& appId) { return impl::call_factory([&](IAccessoryManager const& f) { return f.IsNotificationEnabledForApplication(appId); }); } inline auto AccessoryManager::GetEnabledAccessoryNotificationTypes() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.GetEnabledAccessoryNotificationTypes(); }); } inline auto AccessoryManager::EnableAccessoryNotificationTypes(int32_t accessoryNotificationTypes) { impl::call_factory([&](IAccessoryManager const& f) { return f.EnableAccessoryNotificationTypes(accessoryNotificationTypes); }); } inline auto AccessoryManager::DisableAllAccessoryNotificationTypes() { impl::call_factory_cast([](IAccessoryManager const& f) { return f.DisableAllAccessoryNotificationTypes(); }); } inline auto AccessoryManager::GetUserConsent() { return impl::call_factory_cast([](IAccessoryManager const& f) { return f.GetUserConsent(); }); } inline auto AccessoryManager::GetAppIcon(param::hstring const& appId) { return impl::call_factory([&](IAccessoryManager const& f) { return f.GetAppIcon(appId); }); } inline auto AccessoryManager::RingDevice() { impl::call_factory_cast([](IAccessoryManager2 const& f) { return f.RingDevice(); }); } inline auto AccessoryManager::SpeedDialList() { return impl::call_factory_cast(*)(IAccessoryManager2 const&), AccessoryManager, IAccessoryManager2>([](IAccessoryManager2 const& f) { return f.SpeedDialList(); }); } inline auto AccessoryManager::ClearToast(param::hstring const& instanceId) { impl::call_factory([&](IAccessoryManager2 const& f) { return f.ClearToast(instanceId); }); } inline auto AccessoryManager::IsPhonePinLocked() { return impl::call_factory_cast([](IAccessoryManager2 const& f) { return f.IsPhonePinLocked(); }); } inline auto AccessoryManager::IncreaseVolume(int32_t step) { impl::call_factory([&](IAccessoryManager2 const& f) { return f.IncreaseVolume(step); }); } inline auto AccessoryManager::DecreaseVolume(int32_t step) { impl::call_factory([&](IAccessoryManager2 const& f) { return f.DecreaseVolume(step); }); } inline auto AccessoryManager::SetMute(bool mute) { impl::call_factory([&](IAccessoryManager2 const& f) { return f.SetMute(mute); }); } inline auto AccessoryManager::SetRingerVibrate(bool ringer, bool vibrate) { impl::call_factory([&](IAccessoryManager2 const& f) { return f.SetRingerVibrate(ringer, vibrate); }); } inline auto AccessoryManager::VolumeInfo() { return impl::call_factory_cast([](IAccessoryManager2 const& f) { return f.VolumeInfo(); }); } inline auto AccessoryManager::GetAllEmailAccounts() { return impl::call_factory_cast(*)(IAccessoryManager2 const&), AccessoryManager, IAccessoryManager2>([](IAccessoryManager2 const& f) { return f.GetAllEmailAccounts(); }); } inline auto AccessoryManager::GetFolders(param::hstring const& emailAccount) { return impl::call_factory([&](IAccessoryManager2 const& f) { return f.GetFolders(emailAccount); }); } inline auto AccessoryManager::EnableEmailNotificationEmailAccount(param::hstring const& emailAccount) { impl::call_factory([&](IAccessoryManager2 const& f) { return f.EnableEmailNotificationEmailAccount(emailAccount); }); } inline auto AccessoryManager::DisableEmailNotificationEmailAccount(param::hstring const& emailAccount) { impl::call_factory([&](IAccessoryManager2 const& f) { return f.DisableEmailNotificationEmailAccount(emailAccount); }); } inline auto AccessoryManager::EnableEmailNotificationFolderFilter(param::hstring const& emailAccount, param::vector_view const& folders) { impl::call_factory([&](IAccessoryManager2 const& f) { return f.EnableEmailNotificationFolderFilter(emailAccount, folders); }); } inline auto AccessoryManager::UpdateEmailReadStatus(winrt::Windows::Phone::Notification::Management::BinaryId const& messageEntryId, bool isRead) { impl::call_factory([&](IAccessoryManager2 const& f) { return f.UpdateEmailReadStatus(messageEntryId, isRead); }); } inline auto AccessoryManager::SnoozeAlarmByInstanceId(param::hstring const& instanceId) { impl::call_factory([&](IAccessoryManager3 const& f) { return f.SnoozeAlarmByInstanceId(instanceId); }); } inline auto AccessoryManager::DismissAlarmByInstanceId(param::hstring const& instanceId) { impl::call_factory([&](IAccessoryManager3 const& f) { return f.DismissAlarmByInstanceId(instanceId); }); } inline auto AccessoryManager::SnoozeReminderByInstanceId(param::hstring const& instanceId) { impl::call_factory([&](IAccessoryManager3 const& f) { return f.SnoozeReminderByInstanceId(instanceId); }); } inline auto AccessoryManager::DismissReminderByInstanceId(param::hstring const& instanceId) { impl::call_factory([&](IAccessoryManager3 const& f) { return f.DismissReminderByInstanceId(instanceId); }); } } 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 {}; 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 {}; 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