// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_ApplicationModel_Chat_H #define WINRT_Windows_ApplicationModel_Chat_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.240405.15"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.240405.15" #include "winrt/Windows.ApplicationModel.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Media.MediaProperties.2.h" #include "winrt/impl/Windows.Security.Credentials.2.h" #include "winrt/impl/Windows.Storage.Streams.2.h" #include "winrt/impl/Windows.ApplicationModel.Chat.2.h" namespace winrt::impl { template auto consume_Windows_ApplicationModel_Chat_IChatCapabilities::IsOnline() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatCapabilities)->get_IsOnline(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatCapabilities::IsChatCapable() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatCapabilities)->get_IsChatCapable(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatCapabilities::IsFileTransferCapable() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatCapabilities)->get_IsFileTransferCapable(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatCapabilities::IsGeoLocationPushCapable() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatCapabilities)->get_IsGeoLocationPushCapable(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatCapabilities::IsIntegratedMessagingCapable() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatCapabilities)->get_IsIntegratedMessagingCapable(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatCapabilitiesManagerStatics::GetCachedCapabilitiesAsync(param::hstring const& address) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatCapabilitiesManagerStatics)->GetCachedCapabilitiesAsync(*(void**)(&address), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatCapabilitiesManagerStatics::GetCapabilitiesFromNetworkAsync(param::hstring const& address) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatCapabilitiesManagerStatics)->GetCapabilitiesFromNetworkAsync(*(void**)(&address), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatCapabilitiesManagerStatics2::GetCachedCapabilitiesAsync(param::hstring const& address, param::hstring const& transportId) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatCapabilitiesManagerStatics2)->GetCachedCapabilitiesForTransportAsync(*(void**)(&address), *(void**)(&transportId), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatCapabilitiesManagerStatics2::GetCapabilitiesFromNetworkAsync(param::hstring const& address, param::hstring const& transportId) const { void* operation{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatCapabilitiesManagerStatics2)->GetCapabilitiesFromNetworkForTransportAsync(*(void**)(&address), *(void**)(&transportId), &operation)); return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::HasUnreadMessages() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->get_HasUnreadMessages(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::Id() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->get_Id(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::Subject() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->get_Subject(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::Subject(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->put_Subject(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::IsConversationMuted() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->get_IsConversationMuted(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::IsConversationMuted(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->put_IsConversationMuted(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::MostRecentMessageId() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->get_MostRecentMessageId(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::Participants() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->get_Participants(&result)); return winrt::Windows::Foundation::Collections::IVector{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::ThreadingInfo() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->get_ThreadingInfo(&result)); return winrt::Windows::ApplicationModel::Chat::ChatConversationThreadingInfo{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::DeleteAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->DeleteAsync(&result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::GetMessageReader() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->GetMessageReader(&result)); return winrt::Windows::ApplicationModel::Chat::ChatMessageReader{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::MarkMessagesAsReadAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->MarkAllMessagesAsReadAsync(&result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::MarkMessagesAsReadAsync(winrt::Windows::Foundation::DateTime const& value) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->MarkMessagesAsReadAsync(impl::bind_in(value), &result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::SaveAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->SaveAsync(&result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::NotifyLocalParticipantComposing(param::hstring const& transportId, param::hstring const& participantAddress, bool isComposing) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->NotifyLocalParticipantComposing(*(void**)(&transportId), *(void**)(&participantAddress), isComposing)); } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::NotifyRemoteParticipantComposing(param::hstring const& transportId, param::hstring const& participantAddress, bool isComposing) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->NotifyRemoteParticipantComposing(*(void**)(&transportId), *(void**)(&participantAddress), isComposing)); } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::RemoteParticipantComposingChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->add_RemoteParticipantComposingChanged(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::RemoteParticipantComposingChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, RemoteParticipantComposingChanged(handler)); } template auto consume_Windows_ApplicationModel_Chat_IChatConversation::RemoteParticipantComposingChanged(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation)->remove_RemoteParticipantComposingChanged(impl::bind_in(token)); } template auto consume_Windows_ApplicationModel_Chat_IChatConversation2::CanModifyParticipants() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation2)->get_CanModifyParticipants(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatConversation2::CanModifyParticipants(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversation2)->put_CanModifyParticipants(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatConversationReader::ReadBatchAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversationReader)->ReadBatchAsync(&result)); return winrt::Windows::Foundation::IAsyncOperation>{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversationReader::ReadBatchAsync(int32_t count) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversationReader)->ReadBatchWithCountAsync(count, &result)); return winrt::Windows::Foundation::IAsyncOperation>{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversationThreadingInfo::ContactId() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversationThreadingInfo)->get_ContactId(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversationThreadingInfo::ContactId(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversationThreadingInfo)->put_ContactId(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatConversationThreadingInfo::Custom() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversationThreadingInfo)->get_Custom(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversationThreadingInfo::Custom(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversationThreadingInfo)->put_Custom(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatConversationThreadingInfo::ConversationId() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversationThreadingInfo)->get_ConversationId(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversationThreadingInfo::ConversationId(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversationThreadingInfo)->put_ConversationId(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatConversationThreadingInfo::Participants() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversationThreadingInfo)->get_Participants(&result)); return winrt::Windows::Foundation::Collections::IVector{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatConversationThreadingInfo::Kind() const { winrt::Windows::ApplicationModel::Chat::ChatConversationThreadingKind result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversationThreadingInfo)->get_Kind(reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatConversationThreadingInfo::Kind(winrt::Windows::ApplicationModel::Chat::ChatConversationThreadingKind const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatConversationThreadingInfo)->put_Kind(static_cast(value))); } template auto consume_Windows_ApplicationModel_Chat_IChatItem::ItemKind() const { winrt::Windows::ApplicationModel::Chat::ChatItemKind result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatItem)->get_ItemKind(reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::Attachments() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_Attachments(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::Body() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_Body(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::Body(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->put_Body(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::From() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_From(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::Id() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_Id(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::IsForwardingDisabled() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_IsForwardingDisabled(&value)); return value; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::IsIncoming() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_IsIncoming(&value)); return value; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::IsRead() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_IsRead(&value)); return value; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::LocalTimestamp() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_LocalTimestamp(put_abi(value))); return value; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::NetworkTimestamp() const { winrt::Windows::Foundation::DateTime value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_NetworkTimestamp(put_abi(value))); return value; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::Recipients() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_Recipients(&value)); return winrt::Windows::Foundation::Collections::IVector{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::RecipientSendStatuses() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_RecipientSendStatuses(&value)); return winrt::Windows::Foundation::Collections::IMapView{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::Status() const { winrt::Windows::ApplicationModel::Chat::ChatMessageStatus value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_Status(reinterpret_cast(&value))); return value; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::Subject() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_Subject(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::TransportFriendlyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_TransportFriendlyName(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::TransportId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->get_TransportId(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage::TransportId(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage)->put_TransportId(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::EstimatedDownloadSize() const { uint64_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->get_EstimatedDownloadSize(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::EstimatedDownloadSize(uint64_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_EstimatedDownloadSize(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::From(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_From(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::IsAutoReply() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->get_IsAutoReply(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::IsAutoReply(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_IsAutoReply(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::IsForwardingDisabled(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_IsForwardingDisabled(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::IsReplyDisabled() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->get_IsReplyDisabled(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::IsIncoming(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_IsIncoming(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::IsRead(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_IsRead(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::IsSeen() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->get_IsSeen(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::IsSeen(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_IsSeen(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::IsSimMessage() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->get_IsSimMessage(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::LocalTimestamp(winrt::Windows::Foundation::DateTime const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_LocalTimestamp(impl::bind_in(value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::MessageKind() const { winrt::Windows::ApplicationModel::Chat::ChatMessageKind result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->get_MessageKind(reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::MessageKind(winrt::Windows::ApplicationModel::Chat::ChatMessageKind const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_MessageKind(static_cast(value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::MessageOperatorKind() const { winrt::Windows::ApplicationModel::Chat::ChatMessageOperatorKind result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->get_MessageOperatorKind(reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::MessageOperatorKind(winrt::Windows::ApplicationModel::Chat::ChatMessageOperatorKind const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_MessageOperatorKind(static_cast(value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::NetworkTimestamp(winrt::Windows::Foundation::DateTime const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_NetworkTimestamp(impl::bind_in(value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::IsReceivedDuringQuietHours() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->get_IsReceivedDuringQuietHours(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::IsReceivedDuringQuietHours(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_IsReceivedDuringQuietHours(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::RemoteId(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_RemoteId(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::Status(winrt::Windows::ApplicationModel::Chat::ChatMessageStatus const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_Status(static_cast(value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::Subject(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_Subject(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::ShouldSuppressNotification() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->get_ShouldSuppressNotification(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::ShouldSuppressNotification(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_ShouldSuppressNotification(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::ThreadingInfo() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->get_ThreadingInfo(&result)); return winrt::Windows::ApplicationModel::Chat::ChatConversationThreadingInfo{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::ThreadingInfo(winrt::Windows::ApplicationModel::Chat::ChatConversationThreadingInfo const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->put_ThreadingInfo(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessage2::RecipientsDeliveryInfos() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage2)->get_RecipientsDeliveryInfos(&result)); return winrt::Windows::Foundation::Collections::IVector{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage3::RemoteId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage3)->get_RemoteId(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage4::SyncId() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage4)->get_SyncId(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessage4::SyncId(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessage4)->put_SyncId(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment::DataStreamReference() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment)->get_DataStreamReference(&value)); return winrt::Windows::Storage::Streams::IRandomAccessStreamReference{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment::DataStreamReference(winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment)->put_DataStreamReference(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment::GroupId() const { uint32_t value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment)->get_GroupId(&value)); return value; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment::GroupId(uint32_t value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment)->put_GroupId(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment::MimeType() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment)->get_MimeType(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment::MimeType(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment)->put_MimeType(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment::Text() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment)->get_Text(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment::Text(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment)->put_Text(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment2::Thumbnail() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment2)->get_Thumbnail(&result)); return winrt::Windows::Storage::Streams::IRandomAccessStreamReference{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment2::Thumbnail(winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment2)->put_Thumbnail(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment2::TransferProgress() const { double result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment2)->get_TransferProgress(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment2::TransferProgress(double value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment2)->put_TransferProgress(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment2::OriginalFileName() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment2)->get_OriginalFileName(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachment2::OriginalFileName(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment2)->put_OriginalFileName(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageAttachmentFactory::CreateChatMessageAttachment(param::hstring const& mimeType, winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& dataStreamReference) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageAttachmentFactory)->CreateChatMessageAttachment(*(void**)(&mimeType), *(void**)(&dataStreamReference), &value)); return winrt::Windows::ApplicationModel::Chat::ChatMessageAttachment{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageBlockingStatic::MarkMessageAsBlockedAsync(param::hstring const& localChatMessageId, bool blocked) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageBlockingStatic)->MarkMessageAsBlockedAsync(*(void**)(&localChatMessageId), blocked, &value)); return winrt::Windows::Foundation::IAsyncAction{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageChange::ChangeType() const { winrt::Windows::ApplicationModel::Chat::ChatMessageChangeType value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageChange)->get_ChangeType(reinterpret_cast(&value))); return value; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageChange::Message() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageChange)->get_Message(&value)); return winrt::Windows::ApplicationModel::Chat::ChatMessage{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageChangeReader::AcceptChanges() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageChangeReader)->AcceptChanges()); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageChangeReader::AcceptChangesThrough(winrt::Windows::ApplicationModel::Chat::ChatMessageChange const& lastChangeToAcknowledge) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageChangeReader)->AcceptChangesThrough(*(void**)(&lastChangeToAcknowledge))); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageChangeReader::ReadBatchAsync() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageChangeReader)->ReadBatchAsync(&value)); return winrt::Windows::Foundation::IAsyncOperation>{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageChangeTracker::Enable() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageChangeTracker)->Enable()); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageChangeTracker::GetChangeReader() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageChangeTracker)->GetChangeReader(&value)); return winrt::Windows::ApplicationModel::Chat::ChatMessageChangeReader{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageChangeTracker::Reset() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageChangeTracker)->Reset()); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageChangedDeferral::Complete() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageChangedDeferral)->Complete()); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageChangedEventArgs::GetDeferral() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageChangedEventArgs)->GetDeferral(&result)); return winrt::Windows::ApplicationModel::Chat::ChatMessageChangedDeferral{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageManager2Statics::RegisterTransportAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageManager2Statics)->RegisterTransportAsync(&result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageManager2Statics::GetTransportAsync(param::hstring const& transportId) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageManager2Statics)->GetTransportAsync(*(void**)(&transportId), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageManagerStatic::GetTransportsAsync() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageManagerStatic)->GetTransportsAsync(&value)); return winrt::Windows::Foundation::IAsyncOperation>{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageManagerStatic::RequestStoreAsync() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageManagerStatic)->RequestStoreAsync(&value)); return winrt::Windows::Foundation::IAsyncOperation{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageManagerStatic::ShowComposeSmsMessageAsync(winrt::Windows::ApplicationModel::Chat::ChatMessage const& message) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageManagerStatic)->ShowComposeSmsMessageAsync(*(void**)(&message), &value)); return winrt::Windows::Foundation::IAsyncAction{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageManagerStatic::ShowSmsSettings() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageManagerStatic)->ShowSmsSettings()); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageManagerStatics3::RequestSyncManagerAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageManagerStatics3)->RequestSyncManagerAsync(&result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageNotificationTriggerDetails::ChatMessage() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageNotificationTriggerDetails)->get_ChatMessage(&value)); return winrt::Windows::ApplicationModel::Chat::ChatMessage{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageNotificationTriggerDetails2::ShouldDisplayToast() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageNotificationTriggerDetails2)->get_ShouldDisplayToast(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageNotificationTriggerDetails2::ShouldUpdateDetailText() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageNotificationTriggerDetails2)->get_ShouldUpdateDetailText(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageNotificationTriggerDetails2::ShouldUpdateBadge() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageNotificationTriggerDetails2)->get_ShouldUpdateBadge(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageNotificationTriggerDetails2::ShouldUpdateActionCenter() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageNotificationTriggerDetails2)->get_ShouldUpdateActionCenter(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageReader::ReadBatchAsync() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageReader)->ReadBatchAsync(&value)); return winrt::Windows::Foundation::IAsyncOperation>{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageReader2::ReadBatchAsync(int32_t count) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageReader2)->ReadBatchWithCountAsync(count, &result)); return winrt::Windows::Foundation::IAsyncOperation>{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::ChangeTracker() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->get_ChangeTracker(&value)); return winrt::Windows::ApplicationModel::Chat::ChatMessageChangeTracker{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::DeleteMessageAsync(param::hstring const& localMessageId) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->DeleteMessageAsync(*(void**)(&localMessageId), &value)); return winrt::Windows::Foundation::IAsyncAction{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::DownloadMessageAsync(param::hstring const& localChatMessageId) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->DownloadMessageAsync(*(void**)(&localChatMessageId), &value)); return winrt::Windows::Foundation::IAsyncAction{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::GetMessageAsync(param::hstring const& localChatMessageId) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->GetMessageAsync(*(void**)(&localChatMessageId), &value)); return winrt::Windows::Foundation::IAsyncOperation{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::GetMessageReader() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->GetMessageReader1(&value)); return winrt::Windows::ApplicationModel::Chat::ChatMessageReader{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::GetMessageReader(winrt::Windows::Foundation::TimeSpan const& recentTimeLimit) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->GetMessageReader2(impl::bind_in(recentTimeLimit), &value)); return winrt::Windows::ApplicationModel::Chat::ChatMessageReader{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::MarkMessageReadAsync(param::hstring const& localChatMessageId) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->MarkMessageReadAsync(*(void**)(&localChatMessageId), &value)); return winrt::Windows::Foundation::IAsyncAction{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::RetrySendMessageAsync(param::hstring const& localChatMessageId) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->RetrySendMessageAsync(*(void**)(&localChatMessageId), &value)); return winrt::Windows::Foundation::IAsyncAction{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::SendMessageAsync(winrt::Windows::ApplicationModel::Chat::ChatMessage const& chatMessage) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->SendMessageAsync(*(void**)(&chatMessage), &value)); return winrt::Windows::Foundation::IAsyncAction{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::ValidateMessage(winrt::Windows::ApplicationModel::Chat::ChatMessage const& chatMessage) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->ValidateMessage(*(void**)(&chatMessage), &value)); return winrt::Windows::ApplicationModel::Chat::ChatMessageValidationResult{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::MessageChanged(winrt::Windows::Foundation::TypedEventHandler const& value) const { winrt::event_token returnValue{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->add_MessageChanged(*(void**)(&value), put_abi(returnValue))); return returnValue; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::MessageChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& value) const { return impl::make_event_revoker(this, MessageChanged(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore::MessageChanged(winrt::event_token const& value) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore)->remove_MessageChanged(impl::bind_in(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::ForwardMessageAsync(param::hstring const& localChatMessageId, param::async_iterable const& addresses) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->ForwardMessageAsync(*(void**)(&localChatMessageId), *(void**)(&addresses), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::GetConversationAsync(param::hstring const& conversationId) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->GetConversationAsync(*(void**)(&conversationId), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::GetConversationAsync(param::hstring const& conversationId, param::async_iterable const& transportIds) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->GetConversationForTransportsAsync(*(void**)(&conversationId), *(void**)(&transportIds), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::GetConversationFromThreadingInfoAsync(winrt::Windows::ApplicationModel::Chat::ChatConversationThreadingInfo const& threadingInfo) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->GetConversationFromThreadingInfoAsync(*(void**)(&threadingInfo), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::GetConversationReader() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->GetConversationReader(&result)); return winrt::Windows::ApplicationModel::Chat::ChatConversationReader{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::GetConversationReader(param::iterable const& transportIds) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->GetConversationForTransportsReader(*(void**)(&transportIds), &result)); return winrt::Windows::ApplicationModel::Chat::ChatConversationReader{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::GetMessageByRemoteIdAsync(param::hstring const& transportId, param::hstring const& remoteId) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->GetMessageByRemoteIdAsync(*(void**)(&transportId), *(void**)(&remoteId), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::GetUnseenCountAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->GetUnseenCountAsync(&result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::GetUnseenCountAsync(param::async_iterable const& transportIds) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->GetUnseenCountForTransportsReaderAsync(*(void**)(&transportIds), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::MarkAsSeenAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->MarkAsSeenAsync(&result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::MarkAsSeenAsync(param::async_iterable const& transportIds) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->MarkAsSeenForTransportsAsync(*(void**)(&transportIds), &result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::GetSearchReader(winrt::Windows::ApplicationModel::Chat::ChatQueryOptions const& value) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->GetSearchReader(*(void**)(&value), &result)); return winrt::Windows::ApplicationModel::Chat::ChatSearchReader{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::SaveMessageAsync(winrt::Windows::ApplicationModel::Chat::ChatMessage const& chatMessage) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->SaveMessageAsync(*(void**)(&chatMessage), &result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::TryCancelDownloadMessageAsync(param::hstring const& localChatMessageId) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->TryCancelDownloadMessageAsync(*(void**)(&localChatMessageId), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::TryCancelSendMessageAsync(param::hstring const& localChatMessageId) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->TryCancelSendMessageAsync(*(void**)(&localChatMessageId), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::StoreChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->add_StoreChanged(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::StoreChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, StoreChanged(handler)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore2::StoreChanged(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore2)->remove_StoreChanged(impl::bind_in(token)); } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStore3::GetMessageBySyncIdAsync(param::hstring const& syncId) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStore3)->GetMessageBySyncIdAsync(*(void**)(&syncId), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStoreChangedEventArgs::Id() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStoreChangedEventArgs)->get_Id(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageStoreChangedEventArgs::Kind() const { winrt::Windows::ApplicationModel::Chat::ChatStoreChangedEventKind result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageStoreChangedEventArgs)->get_Kind(reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransport::IsAppSetAsNotificationProvider() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransport)->get_IsAppSetAsNotificationProvider(&value)); return value; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransport::IsActive() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransport)->get_IsActive(&value)); return value; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransport::TransportFriendlyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransport)->get_TransportFriendlyName(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransport::TransportId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransport)->get_TransportId(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransport::RequestSetAsNotificationProviderAsync() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransport)->RequestSetAsNotificationProviderAsync(&value)); return winrt::Windows::Foundation::IAsyncAction{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransport2::Configuration() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransport2)->get_Configuration(&result)); return winrt::Windows::ApplicationModel::Chat::ChatMessageTransportConfiguration{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransport2::TransportKind() const { winrt::Windows::ApplicationModel::Chat::ChatMessageTransportKind result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransport2)->get_TransportKind(reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransportConfiguration::MaxAttachmentCount() const { int32_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransportConfiguration)->get_MaxAttachmentCount(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransportConfiguration::MaxMessageSizeInKilobytes() const { int32_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransportConfiguration)->get_MaxMessageSizeInKilobytes(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransportConfiguration::MaxRecipientCount() const { int32_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransportConfiguration)->get_MaxRecipientCount(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransportConfiguration::SupportedVideoFormat() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransportConfiguration)->get_SupportedVideoFormat(&result)); return winrt::Windows::Media::MediaProperties::MediaEncodingProfile{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageTransportConfiguration::ExtendedProperties() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageTransportConfiguration)->get_ExtendedProperties(&result)); return winrt::Windows::Foundation::Collections::IMapView{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageValidationResult::MaxPartCount() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageValidationResult)->get_MaxPartCount(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageValidationResult::PartCount() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageValidationResult)->get_PartCount(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageValidationResult::RemainingCharacterCountInPart() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageValidationResult)->get_RemainingCharacterCountInPart(&value)); return winrt::Windows::Foundation::IReference{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatMessageValidationResult::Status() const { winrt::Windows::ApplicationModel::Chat::ChatMessageValidationStatus value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatMessageValidationResult)->get_Status(reinterpret_cast(&value))); return value; } template auto consume_Windows_ApplicationModel_Chat_IChatQueryOptions::SearchString() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatQueryOptions)->get_SearchString(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatQueryOptions::SearchString(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatQueryOptions)->put_SearchString(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatRecipientDeliveryInfo::TransportAddress() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo)->get_TransportAddress(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatRecipientDeliveryInfo::TransportAddress(param::hstring const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo)->put_TransportAddress(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatRecipientDeliveryInfo::DeliveryTime() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo)->get_DeliveryTime(&result)); return winrt::Windows::Foundation::IReference{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatRecipientDeliveryInfo::DeliveryTime(winrt::Windows::Foundation::IReference const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo)->put_DeliveryTime(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatRecipientDeliveryInfo::ReadTime() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo)->get_ReadTime(&result)); return winrt::Windows::Foundation::IReference{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatRecipientDeliveryInfo::ReadTime(winrt::Windows::Foundation::IReference const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo)->put_ReadTime(*(void**)(&value))); } template auto consume_Windows_ApplicationModel_Chat_IChatRecipientDeliveryInfo::TransportErrorCodeCategory() const { winrt::Windows::ApplicationModel::Chat::ChatTransportErrorCodeCategory result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo)->get_TransportErrorCodeCategory(reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatRecipientDeliveryInfo::TransportInterpretedErrorCode() const { winrt::Windows::ApplicationModel::Chat::ChatTransportInterpretedErrorCode result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo)->get_TransportInterpretedErrorCode(reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatRecipientDeliveryInfo::TransportErrorCode() const { int32_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo)->get_TransportErrorCode(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatRecipientDeliveryInfo::IsErrorPermanent() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo)->get_IsErrorPermanent(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatRecipientDeliveryInfo::Status() const { winrt::Windows::ApplicationModel::Chat::ChatMessageStatus result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo)->get_Status(reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatSearchReader::ReadBatchAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSearchReader)->ReadBatchAsync(&result)); return winrt::Windows::Foundation::IAsyncOperation>{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatSearchReader::ReadBatchAsync(int32_t count) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSearchReader)->ReadBatchWithCountAsync(count, &result)); return winrt::Windows::Foundation::IAsyncOperation>{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatSyncConfiguration::IsSyncEnabled() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSyncConfiguration)->get_IsSyncEnabled(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatSyncConfiguration::IsSyncEnabled(bool value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSyncConfiguration)->put_IsSyncEnabled(value)); } template auto consume_Windows_ApplicationModel_Chat_IChatSyncConfiguration::RestoreHistorySpan() const { winrt::Windows::ApplicationModel::Chat::ChatRestoreHistorySpan result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSyncConfiguration)->get_RestoreHistorySpan(reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatSyncConfiguration::RestoreHistorySpan(winrt::Windows::ApplicationModel::Chat::ChatRestoreHistorySpan const& value) const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSyncConfiguration)->put_RestoreHistorySpan(static_cast(value))); } template auto consume_Windows_ApplicationModel_Chat_IChatSyncManager::Configuration() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSyncManager)->get_Configuration(&result)); return winrt::Windows::ApplicationModel::Chat::ChatSyncConfiguration{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatSyncManager::AssociateAccountAsync(winrt::Windows::Security::Credentials::WebAccount const& webAccount) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSyncManager)->AssociateAccountAsync(*(void**)(&webAccount), &result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatSyncManager::UnassociateAccountAsync() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSyncManager)->UnassociateAccountAsync(&result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IChatSyncManager::IsAccountAssociated(winrt::Windows::Security::Credentials::WebAccount const& webAccount) const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSyncManager)->IsAccountAssociated(*(void**)(&webAccount), &result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IChatSyncManager::StartSync() const { check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSyncManager)->StartSync()); } template auto consume_Windows_ApplicationModel_Chat_IChatSyncManager::SetConfigurationAsync(winrt::Windows::ApplicationModel::Chat::ChatSyncConfiguration const& configuration) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IChatSyncManager)->SetConfigurationAsync(*(void**)(&configuration), &result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessage::TransportId() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessage)->get_TransportId(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessage::Title() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessage)->get_Title(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessage::Text() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessage)->get_Text(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessage::IsPinRequired() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessage)->get_IsPinRequired(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessage::Actions() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessage)->get_Actions(&result)); return winrt::Windows::Foundation::Collections::IVectorView{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessage::SendResponseAsync(winrt::Windows::ApplicationModel::Chat::RcsEndUserMessageAction const& action) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessage)->SendResponseAsync(*(void**)(&action), &result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessage::SendResponseWithPinAsync(winrt::Windows::ApplicationModel::Chat::RcsEndUserMessageAction const& action, param::hstring const& pin) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessage)->SendResponseWithPinAsync(*(void**)(&action), *(void**)(&pin), &result)); return winrt::Windows::Foundation::IAsyncAction{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessageAction::Label() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessageAction)->get_Label(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessageAvailableEventArgs::IsMessageAvailable() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessageAvailableEventArgs)->get_IsMessageAvailable(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessageAvailableEventArgs::Message() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessageAvailableEventArgs)->get_Message(&result)); return winrt::Windows::ApplicationModel::Chat::RcsEndUserMessage{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessageAvailableTriggerDetails::Title() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessageAvailableTriggerDetails)->get_Title(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessageAvailableTriggerDetails::Text() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessageAvailableTriggerDetails)->get_Text(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessageManager::MessageAvailableChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessageManager)->add_MessageAvailableChanged(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessageManager::MessageAvailableChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, MessageAvailableChanged(handler)); } template auto consume_Windows_ApplicationModel_Chat_IRcsEndUserMessageManager::MessageAvailableChanged(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessageManager)->remove_MessageAvailableChanged(impl::bind_in(token)); } template auto consume_Windows_ApplicationModel_Chat_IRcsManagerStatics::GetEndUserMessageManager() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsManagerStatics)->GetEndUserMessageManager(&result)); return winrt::Windows::ApplicationModel::Chat::RcsEndUserMessageManager{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsManagerStatics::GetTransportsAsync() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsManagerStatics)->GetTransportsAsync(&value)); return winrt::Windows::Foundation::IAsyncOperation>{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsManagerStatics::GetTransportAsync(param::hstring const& transportId) const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsManagerStatics)->GetTransportAsync(*(void**)(&transportId), &result)); return winrt::Windows::Foundation::IAsyncOperation{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsManagerStatics::LeaveConversationAsync(winrt::Windows::ApplicationModel::Chat::ChatConversation const& conversation) const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsManagerStatics)->LeaveConversationAsync(*(void**)(&conversation), &value)); return winrt::Windows::Foundation::IAsyncAction{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsManagerStatics2::TransportListChanged(winrt::Windows::Foundation::EventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsManagerStatics2)->add_TransportListChanged(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_ApplicationModel_Chat_IRcsManagerStatics2::TransportListChanged(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& handler) const { return impl::make_event_revoker(this, TransportListChanged(handler)); } template auto consume_Windows_ApplicationModel_Chat_IRcsManagerStatics2::TransportListChanged(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsManagerStatics2)->remove_TransportListChanged(impl::bind_in(token)); } template auto consume_Windows_ApplicationModel_Chat_IRcsServiceKindSupportedChangedEventArgs::ServiceKind() const { winrt::Windows::ApplicationModel::Chat::RcsServiceKind result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsServiceKindSupportedChangedEventArgs)->get_ServiceKind(reinterpret_cast(&result))); return result; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransport::ExtendedProperties() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransport)->get_ExtendedProperties(&value)); return winrt::Windows::Foundation::Collections::IMapView{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransport::IsActive() const { bool value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransport)->get_IsActive(&value)); return value; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransport::TransportFriendlyName() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransport)->get_TransportFriendlyName(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransport::TransportId() const { void* value{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransport)->get_TransportId(&value)); return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransport::Configuration() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransport)->get_Configuration(&result)); return winrt::Windows::ApplicationModel::Chat::RcsTransportConfiguration{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransport::IsStoreAndForwardEnabled(winrt::Windows::ApplicationModel::Chat::RcsServiceKind const& serviceKind) const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransport)->IsStoreAndForwardEnabled(static_cast(serviceKind), &result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransport::IsServiceKindSupported(winrt::Windows::ApplicationModel::Chat::RcsServiceKind const& serviceKind) const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransport)->IsServiceKindSupported(static_cast(serviceKind), &result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransport::ServiceKindSupportedChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransport)->add_ServiceKindSupportedChanged(*(void**)(&handler), put_abi(token))); return token; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransport::ServiceKindSupportedChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, ServiceKindSupportedChanged(handler)); } template auto consume_Windows_ApplicationModel_Chat_IRcsTransport::ServiceKindSupportedChanged(winrt::event_token const& token) const noexcept { WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransport)->remove_ServiceKindSupportedChanged(impl::bind_in(token)); } template auto consume_Windows_ApplicationModel_Chat_IRcsTransportConfiguration::MaxAttachmentCount() const { int32_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransportConfiguration)->get_MaxAttachmentCount(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransportConfiguration::MaxMessageSizeInKilobytes() const { int32_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransportConfiguration)->get_MaxMessageSizeInKilobytes(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransportConfiguration::MaxGroupMessageSizeInKilobytes() const { int32_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransportConfiguration)->get_MaxGroupMessageSizeInKilobytes(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransportConfiguration::MaxRecipientCount() const { int32_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransportConfiguration)->get_MaxRecipientCount(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransportConfiguration::MaxFileSizeInKilobytes() const { int32_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransportConfiguration)->get_MaxFileSizeInKilobytes(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IRcsTransportConfiguration::WarningFileSizeInKilobytes() const { int32_t result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRcsTransportConfiguration)->get_WarningFileSizeInKilobytes(&result)); return result; } template auto consume_Windows_ApplicationModel_Chat_IRemoteParticipantComposingChangedEventArgs::TransportId() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRemoteParticipantComposingChangedEventArgs)->get_TransportId(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRemoteParticipantComposingChangedEventArgs::ParticipantAddress() const { void* result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRemoteParticipantComposingChangedEventArgs)->get_ParticipantAddress(&result)); return hstring{ result, take_ownership_from_abi }; } template auto consume_Windows_ApplicationModel_Chat_IRemoteParticipantComposingChangedEventArgs::IsComposing() const { bool result{}; check_hresult(WINRT_IMPL_SHIM(winrt::Windows::ApplicationModel::Chat::IRemoteParticipantComposingChangedEventArgs)->get_IsComposing(&result)); return result; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsOnline(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsOnline()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsChatCapable(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsChatCapable()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsFileTransferCapable(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsFileTransferCapable()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsGeoLocationPushCapable(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsGeoLocationPushCapable()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsIntegratedMessagingCapable(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsIntegratedMessagingCapable()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetCachedCapabilitiesAsync(void* address, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetCachedCapabilitiesAsync(*reinterpret_cast(&address))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetCapabilitiesFromNetworkAsync(void* address, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetCapabilitiesFromNetworkAsync(*reinterpret_cast(&address))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetCachedCapabilitiesForTransportAsync(void* address, void* transportId, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetCachedCapabilitiesAsync(*reinterpret_cast(&address), *reinterpret_cast(&transportId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetCapabilitiesFromNetworkForTransportAsync(void* address, void* transportId, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>(this->shim().GetCapabilitiesFromNetworkAsync(*reinterpret_cast(&address), *reinterpret_cast(&transportId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_HasUnreadMessages(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().HasUnreadMessages()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Id(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Subject(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Subject()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Subject(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Subject(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsConversationMuted(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsConversationMuted()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsConversationMuted(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsConversationMuted(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MostRecentMessageId(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MostRecentMessageId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Participants(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().Participants()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ThreadingInfo(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ThreadingInfo()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DeleteAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().DeleteAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetMessageReader(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetMessageReader()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MarkAllMessagesAsReadAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MarkMessagesAsReadAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MarkMessagesAsReadAsync(int64_t value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MarkMessagesAsReadAsync(*reinterpret_cast(&value))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SaveAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().SaveAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall NotifyLocalParticipantComposing(void* transportId, void* participantAddress, bool isComposing) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NotifyLocalParticipantComposing(*reinterpret_cast(&transportId), *reinterpret_cast(&participantAddress), isComposing); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall NotifyRemoteParticipantComposing(void* transportId, void* participantAddress, bool isComposing) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NotifyRemoteParticipantComposing(*reinterpret_cast(&transportId), *reinterpret_cast(&participantAddress), isComposing); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_RemoteParticipantComposingChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().RemoteParticipantComposingChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_RemoteParticipantComposingChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().RemoteParticipantComposingChanged(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_CanModifyParticipants(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CanModifyParticipants()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_CanModifyParticipants(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CanModifyParticipants(value); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ReadBatchAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>>(this->shim().ReadBatchAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReadBatchWithCountAsync(int32_t count, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>>(this->shim().ReadBatchAsync(count)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ContactId(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ContactId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ContactId(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ContactId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Custom(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Custom()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Custom(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Custom(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ConversationId(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ConversationId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ConversationId(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConversationId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Participants(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().Participants()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Kind(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Kind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Kind(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Kind(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_ItemKind(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ItemKind()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Attachments(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Attachments()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Body(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Body()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Body(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Body(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_From(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().From()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Id(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsForwardingDisabled(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsForwardingDisabled()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsIncoming(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsIncoming()); 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(); } int32_t __stdcall get_LocalTimestamp(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LocalTimestamp()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NetworkTimestamp(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NetworkTimestamp()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Recipients(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Recipients()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RecipientSendStatuses(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().RecipientSendStatuses()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Subject(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Subject()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransportFriendlyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TransportFriendlyName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransportId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TransportId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_TransportId(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().TransportId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_EstimatedDownloadSize(uint64_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().EstimatedDownloadSize()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_EstimatedDownloadSize(uint64_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EstimatedDownloadSize(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_From(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().From(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsAutoReply(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsAutoReply()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsAutoReply(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsAutoReply(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsForwardingDisabled(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsForwardingDisabled(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsReplyDisabled(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsReplyDisabled()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsIncoming(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsIncoming(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsRead(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsRead(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsSeen(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsSeen()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsSeen(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsSeen(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsSimMessage(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsSimMessage()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_LocalTimestamp(int64_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().LocalTimestamp(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MessageKind(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MessageKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MessageKind(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MessageKind(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MessageOperatorKind(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MessageOperatorKind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MessageOperatorKind(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MessageOperatorKind(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_NetworkTimestamp(int64_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NetworkTimestamp(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsReceivedDuringQuietHours(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsReceivedDuringQuietHours()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsReceivedDuringQuietHours(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsReceivedDuringQuietHours(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RemoteId(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RemoteId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Status(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Status(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Subject(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Subject(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ShouldSuppressNotification(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ShouldSuppressNotification()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ShouldSuppressNotification(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ShouldSuppressNotification(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ThreadingInfo(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ThreadingInfo()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ThreadingInfo(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ThreadingInfo(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RecipientsDeliveryInfos(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().RecipientsDeliveryInfos()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_RemoteId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RemoteId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_SyncId(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().SyncId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_SyncId(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SyncId(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_DataStreamReference(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DataStreamReference()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DataStreamReference(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DataStreamReference(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_GroupId(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GroupId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_GroupId(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().GroupId(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MimeType(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MimeType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MimeType(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MimeType(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Text(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Text()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Text(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Text(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Thumbnail(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Thumbnail()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Thumbnail(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Thumbnail(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransferProgress(double* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TransferProgress()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_TransferProgress(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().TransferProgress(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OriginalFileName(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().OriginalFileName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_OriginalFileName(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OriginalFileName(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CreateChatMessageAttachment(void* mimeType, void* dataStreamReference, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CreateChatMessageAttachment(*reinterpret_cast(&mimeType), *reinterpret_cast(&dataStreamReference))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall MarkMessageAsBlockedAsync(void* localChatMessageId, bool blocked, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MarkMessageAsBlockedAsync(*reinterpret_cast(&localChatMessageId), blocked)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ChangeType(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ChangeType()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Message(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Message()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall AcceptChanges() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AcceptChanges(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AcceptChangesThrough(void* lastChangeToAcknowledge) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AcceptChangesThrough(*reinterpret_cast(&lastChangeToAcknowledge)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReadBatchAsync(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>>(this->shim().ReadBatchAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Enable() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Enable(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetChangeReader(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetChangeReader()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Reset() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Reset(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Complete() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Complete(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetDeferral(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetDeferral()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall RegisterTransportAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().RegisterTransportAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetTransportAsync(void* transportId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetTransportAsync(*reinterpret_cast(&transportId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetTransportsAsync(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>>(this->shim().GetTransportsAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RequestStoreAsync(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().RequestStoreAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ShowComposeSmsMessageAsync(void* message, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ShowComposeSmsMessageAsync(*reinterpret_cast(&message))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ShowSmsSettings() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ShowSmsSettings(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall RequestSyncManagerAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().RequestSyncManagerAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ChatMessage(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ChatMessage()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ShouldDisplayToast(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ShouldDisplayToast()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ShouldUpdateDetailText(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ShouldUpdateDetailText()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ShouldUpdateBadge(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ShouldUpdateBadge()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ShouldUpdateActionCenter(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ShouldUpdateActionCenter()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ReadBatchAsync(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>>(this->shim().ReadBatchAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ReadBatchWithCountAsync(int32_t count, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>>(this->shim().ReadBatchAsync(count)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ChangeTracker(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ChangeTracker()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DeleteMessageAsync(void* localMessageId, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DeleteMessageAsync(*reinterpret_cast(&localMessageId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall DownloadMessageAsync(void* localChatMessageId, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DownloadMessageAsync(*reinterpret_cast(&localChatMessageId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetMessageAsync(void* localChatMessageId, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().GetMessageAsync(*reinterpret_cast(&localChatMessageId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetMessageReader1(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetMessageReader()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetMessageReader2(int64_t recentTimeLimit, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().GetMessageReader(*reinterpret_cast(&recentTimeLimit))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MarkMessageReadAsync(void* localChatMessageId, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MarkMessageReadAsync(*reinterpret_cast(&localChatMessageId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RetrySendMessageAsync(void* localChatMessageId, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RetrySendMessageAsync(*reinterpret_cast(&localChatMessageId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SendMessageAsync(void* chatMessage, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SendMessageAsync(*reinterpret_cast(&chatMessage))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ValidateMessage(void* chatMessage, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ValidateMessage(*reinterpret_cast(&chatMessage))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_MessageChanged(void* value, winrt::event_token* returnValue) noexcept final try { zero_abi(returnValue); typename D::abi_guard guard(this->shim()); *returnValue = detach_from(this->shim().MessageChanged(*reinterpret_cast const*>(&value))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_MessageChanged(winrt::event_token value) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().MessageChanged(*reinterpret_cast(&value)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ForwardMessageAsync(void* localChatMessageId, void* addresses, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().ForwardMessageAsync(*reinterpret_cast(&localChatMessageId), *reinterpret_cast const*>(&addresses))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetConversationAsync(void* conversationId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetConversationAsync(*reinterpret_cast(&conversationId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetConversationForTransportsAsync(void* conversationId, void* transportIds, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetConversationAsync(*reinterpret_cast(&conversationId), *reinterpret_cast const*>(&transportIds))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetConversationFromThreadingInfoAsync(void* threadingInfo, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetConversationFromThreadingInfoAsync(*reinterpret_cast(&threadingInfo))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetConversationReader(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetConversationReader()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetConversationForTransportsReader(void* transportIds, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetConversationReader(*reinterpret_cast const*>(&transportIds))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetMessageByRemoteIdAsync(void* transportId, void* remoteId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetMessageByRemoteIdAsync(*reinterpret_cast(&transportId), *reinterpret_cast(&remoteId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetUnseenCountAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetUnseenCountAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetUnseenCountForTransportsReaderAsync(void* transportIds, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetUnseenCountAsync(*reinterpret_cast const*>(&transportIds))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MarkAsSeenAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MarkAsSeenAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall MarkAsSeenForTransportsAsync(void* transportIds, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MarkAsSeenAsync(*reinterpret_cast const*>(&transportIds))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSearchReader(void* value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetSearchReader(*reinterpret_cast(&value))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SaveMessageAsync(void* chatMessage, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().SaveMessageAsync(*reinterpret_cast(&chatMessage))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryCancelDownloadMessageAsync(void* localChatMessageId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().TryCancelDownloadMessageAsync(*reinterpret_cast(&localChatMessageId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryCancelSendMessageAsync(void* localChatMessageId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().TryCancelSendMessageAsync(*reinterpret_cast(&localChatMessageId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_StoreChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().StoreChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_StoreChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().StoreChanged(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetMessageBySyncIdAsync(void* syncId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetMessageBySyncIdAsync(*reinterpret_cast(&syncId))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Id(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Kind(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Kind()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsAppSetAsNotificationProvider(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsAppSetAsNotificationProvider()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsActive(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsActive()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransportFriendlyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TransportFriendlyName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransportId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TransportId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RequestSetAsNotificationProviderAsync(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RequestSetAsNotificationProviderAsync()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Configuration(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Configuration()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransportKind(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TransportKind()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_MaxAttachmentCount(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MaxAttachmentCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MaxMessageSizeInKilobytes(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MaxMessageSizeInKilobytes()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MaxRecipientCount(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MaxRecipientCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SupportedVideoFormat(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().SupportedVideoFormat()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ExtendedProperties(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().ExtendedProperties()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_MaxPartCount(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().MaxPartCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PartCount(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().PartCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RemainingCharacterCountInPart(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().RemainingCharacterCountInPart()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Status(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_SearchString(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().SearchString()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_SearchString(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SearchString(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_TransportAddress(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TransportAddress()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_TransportAddress(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().TransportAddress(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DeliveryTime(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().DeliveryTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_DeliveryTime(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().DeliveryTime(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ReadTime(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().ReadTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ReadTime(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ReadTime(*reinterpret_cast const*>(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransportErrorCodeCategory(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TransportErrorCodeCategory()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransportInterpretedErrorCode(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TransportInterpretedErrorCode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransportErrorCode(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TransportErrorCode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsErrorPermanent(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsErrorPermanent()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Status(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Status()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ReadBatchAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>>(this->shim().ReadBatchAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ReadBatchWithCountAsync(int32_t count, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>>(this->shim().ReadBatchAsync(count)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsSyncEnabled(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsSyncEnabled()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsSyncEnabled(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsSyncEnabled(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RestoreHistorySpan(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().RestoreHistorySpan()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RestoreHistorySpan(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RestoreHistorySpan(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Configuration(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Configuration()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AssociateAccountAsync(void* webAccount, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().AssociateAccountAsync(*reinterpret_cast(&webAccount))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall UnassociateAccountAsync(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().UnassociateAccountAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsAccountAssociated(void* webAccount, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsAccountAssociated(*reinterpret_cast(&webAccount))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall StartSync() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().StartSync(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetConfigurationAsync(void* configuration, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().SetConfigurationAsync(*reinterpret_cast(&configuration))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_TransportId(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TransportId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Title(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Title()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Text(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Text()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsPinRequired(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsPinRequired()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Actions(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().Actions()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SendResponseAsync(void* action, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().SendResponseAsync(*reinterpret_cast(&action))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SendResponseWithPinAsync(void* action, void* pin, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().SendResponseWithPinAsync(*reinterpret_cast(&action), *reinterpret_cast(&pin))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Label(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Label()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsMessageAvailable(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsMessageAvailable()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Message(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Message()); 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_Text(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Text()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall add_MessageAvailableChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().MessageAvailableChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_MessageAvailableChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().MessageAvailableChanged(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetEndUserMessageManager(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetEndUserMessageManager()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetTransportsAsync(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>>(this->shim().GetTransportsAsync()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetTransportAsync(void* transportId, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetTransportAsync(*reinterpret_cast(&transportId))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall LeaveConversationAsync(void* conversation, void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LeaveConversationAsync(*reinterpret_cast(&conversation))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall add_TransportListChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().TransportListChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_TransportListChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().TransportListChanged(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ServiceKind(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ServiceKind()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ExtendedProperties(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().ExtendedProperties()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsActive(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsActive()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransportFriendlyName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TransportFriendlyName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TransportId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TransportId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Configuration(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Configuration()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsStoreAndForwardEnabled(int32_t serviceKind, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsStoreAndForwardEnabled(*reinterpret_cast(&serviceKind))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsServiceKindSupported(int32_t serviceKind, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsServiceKindSupported(*reinterpret_cast(&serviceKind))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_ServiceKindSupportedChanged(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ServiceKindSupportedChanged(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ServiceKindSupportedChanged(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ServiceKindSupportedChanged(*reinterpret_cast(&token)); return 0; } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_MaxAttachmentCount(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MaxAttachmentCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MaxMessageSizeInKilobytes(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MaxMessageSizeInKilobytes()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MaxGroupMessageSizeInKilobytes(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MaxGroupMessageSizeInKilobytes()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MaxRecipientCount(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MaxRecipientCount()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MaxFileSizeInKilobytes(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().MaxFileSizeInKilobytes()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WarningFileSizeInKilobytes(int32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().WarningFileSizeInKilobytes()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_TransportId(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TransportId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ParticipantAddress(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ParticipantAddress()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsComposing(bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsComposing()); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::ApplicationModel::Chat { inline auto ChatCapabilitiesManager::GetCachedCapabilitiesAsync(param::hstring const& address) { return impl::call_factory([&](IChatCapabilitiesManagerStatics const& f) { return f.GetCachedCapabilitiesAsync(address); }); } inline auto ChatCapabilitiesManager::GetCapabilitiesFromNetworkAsync(param::hstring const& address) { return impl::call_factory([&](IChatCapabilitiesManagerStatics const& f) { return f.GetCapabilitiesFromNetworkAsync(address); }); } inline auto ChatCapabilitiesManager::GetCachedCapabilitiesAsync(param::hstring const& address, param::hstring const& transportId) { return impl::call_factory([&](IChatCapabilitiesManagerStatics2 const& f) { return f.GetCachedCapabilitiesAsync(address, transportId); }); } inline auto ChatCapabilitiesManager::GetCapabilitiesFromNetworkAsync(param::hstring const& address, param::hstring const& transportId) { return impl::call_factory([&](IChatCapabilitiesManagerStatics2 const& f) { return f.GetCapabilitiesFromNetworkAsync(address, transportId); }); } inline ChatConversationThreadingInfo::ChatConversationThreadingInfo() : ChatConversationThreadingInfo(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline ChatMessage::ChatMessage() : ChatMessage(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline ChatMessageAttachment::ChatMessageAttachment(param::hstring const& mimeType, winrt::Windows::Storage::Streams::IRandomAccessStreamReference const& dataStreamReference) : ChatMessageAttachment(impl::call_factory([&](IChatMessageAttachmentFactory const& f) { return f.CreateChatMessageAttachment(mimeType, dataStreamReference); })) { } inline auto ChatMessageBlocking::MarkMessageAsBlockedAsync(param::hstring const& localChatMessageId, bool blocked) { return impl::call_factory([&](IChatMessageBlockingStatic const& f) { return f.MarkMessageAsBlockedAsync(localChatMessageId, blocked); }); } inline auto ChatMessageManager::RegisterTransportAsync() { return impl::call_factory_cast(*)(IChatMessageManager2Statics const&), ChatMessageManager, IChatMessageManager2Statics>([](IChatMessageManager2Statics const& f) { return f.RegisterTransportAsync(); }); } inline auto ChatMessageManager::GetTransportAsync(param::hstring const& transportId) { return impl::call_factory([&](IChatMessageManager2Statics const& f) { return f.GetTransportAsync(transportId); }); } inline auto ChatMessageManager::GetTransportsAsync() { return impl::call_factory_cast>(*)(IChatMessageManagerStatic const&), ChatMessageManager, IChatMessageManagerStatic>([](IChatMessageManagerStatic const& f) { return f.GetTransportsAsync(); }); } inline auto ChatMessageManager::RequestStoreAsync() { return impl::call_factory_cast(*)(IChatMessageManagerStatic const&), ChatMessageManager, IChatMessageManagerStatic>([](IChatMessageManagerStatic const& f) { return f.RequestStoreAsync(); }); } inline auto ChatMessageManager::ShowComposeSmsMessageAsync(winrt::Windows::ApplicationModel::Chat::ChatMessage const& message) { return impl::call_factory([&](IChatMessageManagerStatic const& f) { return f.ShowComposeSmsMessageAsync(message); }); } inline auto ChatMessageManager::ShowSmsSettings() { impl::call_factory_cast([](IChatMessageManagerStatic const& f) { return f.ShowSmsSettings(); }); } inline auto ChatMessageManager::RequestSyncManagerAsync() { return impl::call_factory_cast(*)(IChatMessageManagerStatics3 const&), ChatMessageManager, IChatMessageManagerStatics3>([](IChatMessageManagerStatics3 const& f) { return f.RequestSyncManagerAsync(); }); } inline ChatQueryOptions::ChatQueryOptions() : ChatQueryOptions(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline ChatRecipientDeliveryInfo::ChatRecipientDeliveryInfo() : ChatRecipientDeliveryInfo(impl::call_factory_cast([](winrt::Windows::Foundation::IActivationFactory const& f) { return f.template ActivateInstance(); })) { } inline auto RcsManager::GetEndUserMessageManager() { return impl::call_factory_cast([](IRcsManagerStatics const& f) { return f.GetEndUserMessageManager(); }); } inline auto RcsManager::GetTransportsAsync() { return impl::call_factory_cast>(*)(IRcsManagerStatics const&), RcsManager, IRcsManagerStatics>([](IRcsManagerStatics const& f) { return f.GetTransportsAsync(); }); } inline auto RcsManager::GetTransportAsync(param::hstring const& transportId) { return impl::call_factory([&](IRcsManagerStatics const& f) { return f.GetTransportAsync(transportId); }); } inline auto RcsManager::LeaveConversationAsync(winrt::Windows::ApplicationModel::Chat::ChatConversation const& conversation) { return impl::call_factory([&](IRcsManagerStatics const& f) { return f.LeaveConversationAsync(conversation); }); } inline auto RcsManager::TransportListChanged(winrt::Windows::Foundation::EventHandler const& handler) { return impl::call_factory([&](IRcsManagerStatics2 const& f) { return f.TransportListChanged(handler); }); } inline auto RcsManager::TransportListChanged(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& handler) { auto f = get_activation_factory(); return RcsManager::TransportListChanged_revoker{ f, f.TransportListChanged(handler) }; } inline auto RcsManager::TransportListChanged(winrt::event_token const& token) { impl::call_factory([&](IRcsManagerStatics2 const& f) { return f.TransportListChanged(token); }); } } 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 {}; 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 #ifdef __cpp_lib_format #endif } #endif