// WARNING: Please don't edit this file. It was generated by C++/WinRT // v2.0.250303.1 #pragma once #ifndef WINRT_Microsoft_Windows_AI_GenerativeInternal_H #define WINRT_Microsoft_Windows_AI_GenerativeInternal_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.250303.1"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.250303.1" #include "winrt/Microsoft.Windows.AI.h" #include "winrt/impl/Microsoft.Windows.AI.FoundationInternal.2.h" #include "winrt/impl/Microsoft.Windows.AI.GenerativeInternal.2.h" #include "winrt/impl/Microsoft.Windows.PrivateCommon.2.h" #include "winrt/impl/Microsoft.Windows.SemanticSearch.2.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" namespace winrt::impl { template auto consume_Microsoft_Windows_AI_GenerativeInternal_IImageDescriptionSession< D>::DescribeAsync(winrt::Microsoft::Windows::PrivateCommon:: ImageBufferResource const& imageBufferResource, winrt::Microsoft::Windows::AI::GenerativeInternal:: ImageDescriptionKindInternal const& kind, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageDescriptionSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageDescriptionSession, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->DescribeAsync( *(void**)(&imageBufferResource), static_cast(kind), impl::bind_in(contentFilterOptions), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->DescribeAsync( *(void**)(&imageBufferResource), static_cast(kind), impl::bind_in(contentFilterOptions), &result)); } return winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageDescriptionSessionResult{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_IImageDescriptionSession< D>::GetPartialResult() const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageDescriptionSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageDescriptionSession, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetPartialResult(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetPartialResult(&result)); } return winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageDescriptionSessionResult{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_IImageDescriptionSessionResult< D>::Description() const { void* value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageDescriptionSessionResult>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageDescriptionSessionResult, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Description(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Description(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_IImageDescriptionSessionResult< D>::Status() const { winrt::Microsoft::Windows::AI::GenerativeInternal:: ImageDescriptionResultStatusInternal value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageDescriptionSessionResult>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageDescriptionSessionResult, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->get_Status(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->get_Status(reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_IImageLLMAdapterSession< D>::GetImageLLMEmbeddings(array_view data, uint32_t priority) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageLLMAdapterSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageLLMAdapterSession, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetImageLLMEmbeddings( data.size(), get_abi(data), priority, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetImageLLMEmbeddings( data.size(), get_abi(data), priority, &result)); } return winrt::Windows::Foundation::Collections::IVectorView{ result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_IImageLLMAdapterSession< D>::GetModelInputSize(uint32_t priority) const { uint32_t result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageLLMAdapterSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageLLMAdapterSession, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetModelInputSize(priority, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetModelInputSize(priority, &result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_IImageLLMAdapterSession< D>::GetModelOutputSize(uint32_t priority) const { uint32_t result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageLLMAdapterSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageLLMAdapterSession, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetModelOutputSize(priority, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetModelOutputSize(priority, &result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession< D>::GenerateResponseAsync(param::hstring const& prompt) const { void* operation{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->GenerateResponseAsync(*(void**)(&prompt), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->GenerateResponseAsync(*(void**)(&prompt), &operation)); } return winrt::Windows::Foundation::IAsyncOperation{ operation, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession< D>::GetContextLength() const { uint32_t result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetContextLength(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetContextLength(&result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession< D>::GenerateEmbeddings(param::hstring const& prompt) const { void* operation{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->GenerateEmbeddings(*(void**)(&prompt), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->GenerateEmbeddings(*(void**)(&prompt), &operation)); } return winrt::Windows::Foundation::IAsyncOperation< winrt::Windows::Foundation::Collections::IVectorView< winrt::Microsoft::Windows::SemanticSearch::EmbeddingVector>>{ operation, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession< D>::GetTokensAsync(param::hstring const& prompt) const { void* operation{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->GetTokensAsync(*(void**)(&prompt), &operation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->GetTokensAsync(*(void**)(&prompt), &operation)); } return winrt::Windows::Foundation::IAsyncOperation< winrt::Windows::Foundation::Collections::IVectorView>{ operation, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession< D>::ModelVersion() const { void* value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ModelVersion(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ModelVersion(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession< D>::VectorSpaceId() const { winrt::guid value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_VectorSpaceId(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_VectorSpaceId(put_abi(value))); } return value; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession2< D>::IsPromptLargerThanContext(param::hstring const& prompt) const { bool result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession2>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->IsPromptLargerThanContext(*(void**)(&prompt), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->IsPromptLargerThanContext(*(void**)(&prompt), &result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession2< D>::GenerateResponseWithProgressEvent(param::hstring const& prompt, winrt::guid const& eventToken) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession2>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( *(void**)(&prompt), impl::bind_in(eventToken), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( *(void**)(&prompt), impl::bind_in(eventToken), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession2< D>::GenerateResponseWithProgressEvent(param::vector_view const& promptTokens, winrt::guid const& eventToken) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession2>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent2( *(void**)(&promptTokens), impl::bind_in(eventToken), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent2( *(void**)(&promptTokens), impl::bind_in(eventToken), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession2:: GenerateResponseWithProgressEvent( param::vector_view< winrt::Microsoft::Windows::SemanticSearch::EmbeddingVector> const& promptEmbedding, winrt::guid const& eventToken) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession2>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent3( *(void**)(&promptEmbedding), impl::bind_in(eventToken), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent3( *(void**)(&promptEmbedding), impl::bind_in(eventToken), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession2< D>::GetPartialResult() const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession2>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetPartialResult(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetPartialResult(&result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession3< D>::GetTokens(param::hstring const& prompt) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession3>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetTokens(*(void**)(&prompt), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetTokens(*(void**)(&prompt), &result)); } return winrt::Windows::Foundation::Collections::IVectorView{ result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession3< D>::GetEmbeddings(param::hstring const& prompt) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession3>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetEmbeddings(*(void**)(&prompt), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetEmbeddings(*(void**)(&prompt), &result)); } return winrt::Windows::Foundation::Collections::IVectorView< winrt::Microsoft::Windows::SemanticSearch::EmbeddingVector>{ result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession3< D>::GenerateResponse(winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::hstring const& prompt, uint32_t priority, uint32_t frequency) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession3>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponse( impl::bind_in(options), *(void**)(&prompt), priority, frequency, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponse( impl::bind_in(options), *(void**)(&prompt), priority, frequency, &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession3:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::hstring const& prompt, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession3>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( impl::bind_in(options), *(void**)(&prompt), impl::bind_in(eventToken), priority, frequency, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( impl::bind_in(options), *(void**)(&prompt), impl::bind_in(eventToken), priority, frequency, &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession3:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::vector_view< winrt::Microsoft::Windows::SemanticSearch::EmbeddingVector> const& promptEmbedding, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession3>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent2( impl::bind_in(options), *(void**)(&promptEmbedding), impl::bind_in(eventToken), priority, frequency, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent2( impl::bind_in(options), *(void**)(&promptEmbedding), impl::bind_in(eventToken), priority, frequency, &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession3:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::vector_view const& promptTokens, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession3>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent3( impl::bind_in(options), *(void**)(&promptTokens), impl::bind_in(eventToken), priority, frequency, &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent3( impl::bind_in(options), *(void**)(&promptTokens), impl::bind_in(eventToken), priority, frequency, &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession4< D>::GetEmbeddingSize() const { uint32_t result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession4>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetEmbeddingSize(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetEmbeddingSize(&result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession4:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelInitialContextParam const& contextParam, array_view embedding, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession4>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( impl::bind_in(options), impl::bind_in(contextParam), embedding.size(), get_abi(embedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( impl::bind_in(options), impl::bind_in(contextParam), embedding.size(), get_abi(embedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession4< D>::GetTokens(param::hstring const& prompt, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession4>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetTokens( *(void**)(&prompt), impl::bind_in(contentFilterOptions), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetTokens( *(void**)(&prompt), impl::bind_in(contentFilterOptions), &result)); } return winrt::Windows::Foundation::Collections::IVectorView{ result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession4< D>::GetEmbeddings(param::hstring const& prompt, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession4>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetEmbeddings( *(void**)(&prompt), impl::bind_in(contentFilterOptions), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetEmbeddings( *(void**)(&prompt), impl::bind_in(contentFilterOptions), &result)); } return winrt::Windows::Foundation::Collections::IVectorView< winrt::Microsoft::Windows::SemanticSearch::EmbeddingVector>{ result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession4:: GenerateResponse( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::hstring const& prompt, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession4>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponse( impl::bind_in(options), *(void**)(&prompt), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponse( impl::bind_in(options), *(void**)(&prompt), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession4:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::hstring const& prompt, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession4>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent2( impl::bind_in(options), *(void**)(&prompt), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent2( impl::bind_in(options), *(void**)(&prompt), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession4:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::vector_view< winrt::Microsoft::Windows::SemanticSearch::EmbeddingVector> const& promptEmbedding, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession4>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent3( impl::bind_in(options), *(void**)(&promptEmbedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent3( impl::bind_in(options), *(void**)(&promptEmbedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession4:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::vector_view const& promptTokens, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession4>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent4( impl::bind_in(options), *(void**)(&promptTokens), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent4( impl::bind_in(options), *(void**)(&promptTokens), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession4< D>::CreateContext(winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelInitialContextParam const& contextParam, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession4>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateContext( impl::bind_in(contextParam), impl::bind_in(contentFilterOptions), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateContext( impl::bind_in(contextParam), impl::bind_in(contentFilterOptions), &result)); } return winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession4:: IsPromptLargerThanContext( winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context, param::hstring const& prompt) const { bool result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession4>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->IsPromptLargerThanContext( *(void**)(&context), *(void**)(&prompt), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->IsPromptLargerThanContext( *(void**)(&context), *(void**)(&prompt), &result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession5< D>::GetContextPromptCutoffIndex(param::hstring const& prompt) const { uint64_t result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession5>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetContextPromptCutoffIndex( *(void**)(&prompt), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetContextPromptCutoffIndex( *(void**)(&prompt), &result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession5:: GetContextPromptCutoffIndex( winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context, param::hstring const& prompt) const { uint64_t result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession5>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetContextPromptCutoffIndex2( *(void**)(&context), *(void**)(&prompt), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetContextPromptCutoffIndex2( *(void**)(&context), *(void**)(&prompt), &result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSession6:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::iterable< winrt::Microsoft::Windows::SemanticSearch::EmbeddingVector> const& promptEmbedding, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSession6>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( impl::bind_in(options), *(void**)(&promptEmbedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( impl::bind_in(options), *(void**)(&promptEmbedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>::GetContextLength() const { uint32_t result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetContextLength(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetContextLength(&result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>::GetEmbeddingSize() const { uint32_t result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetEmbeddingSize(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetEmbeddingSize(&result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>::ModelVersion() const { void* value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ModelVersion(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ModelVersion(&value)); } return hstring{value, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>::VectorSpaceId() const { winrt::guid value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_VectorSpaceId(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_VectorSpaceId(put_abi(value))); } return value; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>::GetPartialResult() const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetPartialResult(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetPartialResult(&result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>::GetTokens(param::hstring const& prompt, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetTokens( *(void**)(&prompt), impl::bind_in(contentFilterOptions), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetTokens( *(void**)(&prompt), impl::bind_in(contentFilterOptions), &result)); } return winrt::Windows::Foundation::Collections::IVectorView{ result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>::GetEmbeddingsCore(param::hstring const& prompt, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetEmbeddingsCore( *(void**)(&prompt), impl::bind_in(contentFilterOptions), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetEmbeddingsCore( *(void**)(&prompt), impl::bind_in(contentFilterOptions), &result)); } return winrt::Windows::Foundation::Collections::IVectorView< winrt::Microsoft::Windows::AI::FoundationInternal::EmbeddingVector>{ result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelInitialContextParam const& contextParam, array_view embedding, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( impl::bind_in(options), impl::bind_in(contextParam), embedding.size(), get_abi(embedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( impl::bind_in(options), impl::bind_in(contextParam), embedding.size(), get_abi(embedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::vector_view const& promptTokens, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent2( impl::bind_in(options), *(void**)(&promptTokens), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent2( impl::bind_in(options), *(void**)(&promptTokens), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>::CreateContext(winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelInitialContextParam const& contextParam, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CreateContext( impl::bind_in(contextParam), impl::bind_in(contentFilterOptions), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CreateContext( impl::bind_in(contextParam), impl::bind_in(contentFilterOptions), &result)); } return winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>:: IsPromptLargerThanContext( winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context, param::hstring const& prompt) const { bool result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->IsPromptLargerThanContext( *(void**)(&context), *(void**)(&prompt), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->IsPromptLargerThanContext( *(void**)(&context), *(void**)(&prompt), &result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>:: GetContextPromptCutoffIndex( winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context, param::hstring const& prompt) const { uint64_t result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetContextPromptCutoffIndex( *(void**)(&context), *(void**)(&prompt), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetContextPromptCutoffIndex( *(void**)(&context), *(void**)(&prompt), &result)); } return result; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, array_view promptEmbedding, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent3( impl::bind_in(options), promptEmbedding.size(), get_abi(promptEmbedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent3( impl::bind_in(options), promptEmbedding.size(), get_abi(promptEmbedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::hstring const& prompt, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context, param::hstring const& skillOptions) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent4( impl::bind_in(options), *(void**)(&prompt), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), *(void**)(&skillOptions), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent4( impl::bind_in(options), *(void**)(&prompt), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), *(void**)(&skillOptions), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore< D>::GetSessionBoundEmbedding(array_view data, winrt::guid const& vectorSpaceID) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetSessionBoundEmbedding( data.size(), get_abi(data), impl::bind_in(vectorSpaceID), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetSessionBoundEmbedding( data.size(), get_abi(data), impl::bind_in(vectorSpaceID), &result)); } return winrt::Microsoft::Windows::AI::FoundationInternal::EmbeddingVector{ result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore2< D>:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, array_view promptEmbedding, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionAdapter const& adapter) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore2>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( impl::bind_in(options), promptEmbedding.size(), get_abi(promptEmbedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), *(void**)(&adapter), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent( impl::bind_in(options), promptEmbedding.size(), get_abi(promptEmbedding), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), *(void**)(&adapter), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ILanguageModelSessionCore2< D>:: GenerateResponseWithProgressEvent( winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelOptionsInternal const& options, param::hstring const& prompt, winrt::guid const& eventToken, uint32_t priority, uint32_t frequency, winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const& contentFilterOptions, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context, param::hstring const& skillOptions, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionAdapter const& adapter) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore2>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionCore2, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent2( impl::bind_in(options), *(void**)(&prompt), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), *(void**)(&skillOptions), *(void**)(&adapter), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GenerateResponseWithProgressEvent2( impl::bind_in(options), *(void**)(&prompt), impl::bind_in(eventToken), priority, frequency, impl::bind_in(contentFilterOptions), *(void**)(&context), *(void**)(&skillOptions), *(void**)(&adapter), &result)); } return hstring{result, take_ownership_from_abi}; } template auto consume_Microsoft_Windows_AI_GenerativeInternal_ITextIntelligenceSession< D>:: GetTIContextPromptCutoffIndex( param::hstring const& prompt, winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext const& context, winrt::Microsoft::Windows::AI::GenerativeInternal:: LanguageModelSkill const& skill, param::hstring const& skillOptions) const { uint64_t result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::Windows::AI::GenerativeInternal:: ITextIntelligenceSession>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::Windows::AI::GenerativeInternal:: ITextIntelligenceSession, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetTIContextPromptCutoffIndex( *(void**)(&prompt), *(void**)(&context), static_cast(skill), *(void**)(&skillOptions), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetTIContextPromptCutoffIndex( *(void**)(&prompt), *(void**)(&context), static_cast(skill), *(void**)(&skillOptions), &result)); } return result; } template struct produce< D, winrt::Microsoft::Windows::AI::GenerativeInternal::IImageDescriptionSession> : produce_base { int32_t __stdcall DescribeAsync( void* imageBufferResource, int32_t kind, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::Windows::AI::GenerativeInternal:: IImageDescriptionSessionResult>(this->shim().DescribeAsync( *reinterpret_cast(&imageBufferResource), *reinterpret_cast(&kind), *reinterpret_cast( &contentFilterOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetPartialResult(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from( this->shim().GetPartialResult()); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall get_Description(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Description()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_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(); } }; template struct produce< D, winrt::Microsoft::Windows::AI::GenerativeInternal::IImageLLMAdapterSession> : produce_base { int32_t __stdcall GetImageLLMEmbeddings(uint32_t __dataSize, float* data, uint32_t priority, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Windows::Foundation::Collections::IVectorView>( this->shim().GetImageLLMEmbeddings( array_view( reinterpret_cast(data), reinterpret_cast(data) + __dataSize), priority)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetModelInputSize(uint32_t priority, uint32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetModelInputSize(priority)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetModelOutputSize(uint32_t priority, uint32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetModelOutputSize(priority)); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession> : produce_base { int32_t __stdcall GenerateResponseAsync(void* prompt, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>( this->shim().GenerateResponseAsync( *reinterpret_cast(&prompt))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetContextLength(uint32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetContextLength()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateEmbeddings(void* prompt, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>( this->shim().GenerateEmbeddings( *reinterpret_cast(&prompt))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetTokensAsync(void* prompt, void** operation) noexcept final try { clear_abi(operation); typename D::abi_guard guard(this->shim()); *operation = detach_from>>( this->shim().GetTokensAsync( *reinterpret_cast(&prompt))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ModelVersion(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ModelVersion()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_VectorSpaceId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().VectorSpaceId()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession2> : produce_base { int32_t __stdcall IsPromptLargerThanContext(void* prompt, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsPromptLargerThanContext( *reinterpret_cast(&prompt))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent( void* prompt, winrt::guid eventToken, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&prompt), *reinterpret_cast(&eventToken))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent2( void* promptTokens, winrt::guid eventToken, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast const*>(&promptTokens), *reinterpret_cast(&eventToken))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent3( void* promptEmbedding, winrt::guid eventToken, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast const*>( &promptEmbedding), *reinterpret_cast(&eventToken))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetPartialResult(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetPartialResult()); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession3> : produce_base { int32_t __stdcall GetTokens(void* prompt, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Windows::Foundation::Collections::IVectorView>( this->shim().GetTokens(*reinterpret_cast(&prompt))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetEmbeddings(void* prompt, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>( this->shim().GetEmbeddings(*reinterpret_cast(&prompt))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponse( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* prompt, uint32_t priority, uint32_t frequency, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GenerateResponse( *reinterpret_cast(&options), *reinterpret_cast(&prompt), priority, frequency)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* prompt, winrt::guid eventToken, uint32_t priority, uint32_t frequency, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast(&prompt), *reinterpret_cast(&eventToken), priority, frequency)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent2( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* promptEmbedding, winrt::guid eventToken, uint32_t priority, uint32_t frequency, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast const*>( &promptEmbedding), *reinterpret_cast(&eventToken), priority, frequency)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent3( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* promptTokens, winrt::guid eventToken, uint32_t priority, uint32_t frequency, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast const*>(&promptTokens), *reinterpret_cast(&eventToken), priority, frequency)); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession4> : produce_base { int32_t __stdcall GetEmbeddingSize(uint32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetEmbeddingSize()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelInitialContextParam contextParam, uint32_t __embeddingSize, float* embedding, winrt::guid eventToken, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast( &contextParam), array_view( reinterpret_cast(embedding), reinterpret_cast(embedding) + __embeddingSize), *reinterpret_cast(&eventToken), priority, frequency, *reinterpret_cast( &contentFilterOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetTokens( void* prompt, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetTokens( *reinterpret_cast(&prompt), *reinterpret_cast( &contentFilterOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetEmbeddings( void* prompt, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>( this->shim().GetEmbeddings( *reinterpret_cast(&prompt), *reinterpret_cast< winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const*>( &contentFilterOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponse( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* prompt, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void* context, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GenerateResponse( *reinterpret_cast(&options), *reinterpret_cast(&prompt), priority, frequency, *reinterpret_cast( &contentFilterOptions), *reinterpret_cast(&context))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent2( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* prompt, winrt::guid eventToken, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void* context, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast(&prompt), *reinterpret_cast(&eventToken), priority, frequency, *reinterpret_cast( &contentFilterOptions), *reinterpret_cast(&context))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent3( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* promptEmbedding, winrt::guid eventToken, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void* context, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast const*>( &promptEmbedding), *reinterpret_cast(&eventToken), priority, frequency, *reinterpret_cast( &contentFilterOptions), *reinterpret_cast(&context))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent4( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* promptTokens, winrt::guid eventToken, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void* context, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast const*>(&promptTokens), *reinterpret_cast(&eventToken), priority, frequency, *reinterpret_cast( &contentFilterOptions), *reinterpret_cast(&context))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateContext( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelInitialContextParam contextParam, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext>(this->shim().CreateContext( *reinterpret_cast( &contextParam), *reinterpret_cast( &contentFilterOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsPromptLargerThanContext(void* context, void* prompt, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsPromptLargerThanContext( *reinterpret_cast(&context), *reinterpret_cast(&prompt))); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession5> : produce_base { int32_t __stdcall GetContextPromptCutoffIndex(void* prompt, uint64_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetContextPromptCutoffIndex( *reinterpret_cast(&prompt))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetContextPromptCutoffIndex2( void* context, void* prompt, uint64_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetContextPromptCutoffIndex( *reinterpret_cast(&context), *reinterpret_cast(&prompt))); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession6> : produce_base { int32_t __stdcall GenerateResponseWithProgressEvent( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* promptEmbedding, winrt::guid eventToken, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void* context, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast const*>( &promptEmbedding), *reinterpret_cast(&eventToken), priority, frequency, *reinterpret_cast( &contentFilterOptions), *reinterpret_cast(&context))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base {}; template struct produce : produce_base {}; template struct produce : produce_base { int32_t __stdcall GetContextLength(uint32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetContextLength()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetEmbeddingSize(uint32_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetEmbeddingSize()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ModelVersion(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ModelVersion()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_VectorSpaceId(winrt::guid* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().VectorSpaceId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetPartialResult(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetPartialResult()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetTokens( void* prompt, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetTokens( *reinterpret_cast(&prompt), *reinterpret_cast( &contentFilterOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetEmbeddingsCore( void* prompt, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>( this->shim().GetEmbeddingsCore( *reinterpret_cast(&prompt), *reinterpret_cast< winrt::Microsoft::Windows::AI::GenerativeInternal:: ContentFilterOptionsInternal const*>( &contentFilterOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelInitialContextParam contextParam, uint32_t __embeddingSize, float* embedding, winrt::guid eventToken, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast( &contextParam), array_view( reinterpret_cast(embedding), reinterpret_cast(embedding) + __embeddingSize), *reinterpret_cast(&eventToken), priority, frequency, *reinterpret_cast( &contentFilterOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent2( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* promptTokens, winrt::guid eventToken, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void* context, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast const*>(&promptTokens), *reinterpret_cast(&eventToken), priority, frequency, *reinterpret_cast( &contentFilterOptions), *reinterpret_cast(&context))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CreateContext( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelInitialContextParam contextParam, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::Windows::AI::GenerativeInternal:: ILanguageModelSessionContext>(this->shim().CreateContext( *reinterpret_cast( &contextParam), *reinterpret_cast( &contentFilterOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall IsPromptLargerThanContext(void* context, void* prompt, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().IsPromptLargerThanContext( *reinterpret_cast(&context), *reinterpret_cast(&prompt))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetContextPromptCutoffIndex(void* context, void* prompt, uint64_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetContextPromptCutoffIndex( *reinterpret_cast(&context), *reinterpret_cast(&prompt))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent3( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, uint32_t __promptEmbeddingSize, void** promptEmbedding, winrt::guid eventToken, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void* context, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), array_view( reinterpret_cast(promptEmbedding), reinterpret_cast(promptEmbedding) + __promptEmbeddingSize), *reinterpret_cast(&eventToken), priority, frequency, *reinterpret_cast( &contentFilterOptions), *reinterpret_cast(&context))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent4( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* prompt, winrt::guid eventToken, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void* context, void* skillOptions, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast(&prompt), *reinterpret_cast(&eventToken), priority, frequency, *reinterpret_cast( &contentFilterOptions), *reinterpret_cast(&context), *reinterpret_cast(&skillOptions))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetSessionBoundEmbedding(uint32_t __dataSize, float* data, winrt::guid vectorSpaceID, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::Windows::AI::FoundationInternal::EmbeddingVector>( this->shim().GetSessionBoundEmbedding( array_view( reinterpret_cast(data), reinterpret_cast(data) + __dataSize), *reinterpret_cast(&vectorSpaceID))); return 0; } catch (...) { return to_hresult(); } }; template struct produce : produce_base { int32_t __stdcall GenerateResponseWithProgressEvent( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, uint32_t __promptEmbeddingSize, void** promptEmbedding, winrt::guid eventToken, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void* context, void* adapter, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), array_view( reinterpret_cast(promptEmbedding), reinterpret_cast(promptEmbedding) + __promptEmbeddingSize), *reinterpret_cast(&eventToken), priority, frequency, *reinterpret_cast( &contentFilterOptions), *reinterpret_cast(&context), *reinterpret_cast(&adapter))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GenerateResponseWithProgressEvent2( struct struct_Microsoft_Windows_AI_GenerativeInternal_LanguageModelOptionsInternal options, void* prompt, winrt::guid eventToken, uint32_t priority, uint32_t frequency, struct struct_Microsoft_Windows_AI_GenerativeInternal_ContentFilterOptionsInternal contentFilterOptions, void* context, void* skillOptions, void* adapter, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< hstring>(this->shim().GenerateResponseWithProgressEvent( *reinterpret_cast(&options), *reinterpret_cast(&prompt), *reinterpret_cast(&eventToken), priority, frequency, *reinterpret_cast( &contentFilterOptions), *reinterpret_cast(&context), *reinterpret_cast(&skillOptions), *reinterpret_cast(&adapter))); return 0; } catch (...) { return to_hresult(); } }; template struct produce< D, winrt::Microsoft::Windows::AI::GenerativeInternal::ITextIntelligenceSession> : produce_base { int32_t __stdcall GetTIContextPromptCutoffIndex( void* prompt, void* context, int32_t skill, void* skillOptions, uint64_t* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetTIContextPromptCutoffIndex( *reinterpret_cast(&prompt), *reinterpret_cast(&context), *reinterpret_cast(&skill), *reinterpret_cast(&skillOptions))); return 0; } catch (...) { return to_hresult(); } }; } // namespace winrt::impl WINRT_EXPORT namespace winrt::Microsoft::Windows::AI::GenerativeInternal {} namespace std { #ifndef WINRT_LEAN_AND_MEAN template <> struct hash< winrt::Microsoft::Windows::AI::GenerativeInternal::IImageDescriptionSession> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Windows::AI::GenerativeInternal::IImageLLMAdapterSession> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession2> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession3> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession4> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession5> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::Windows::AI::GenerativeInternal::ILanguageModelSession6> : 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::Microsoft::Windows::AI::GenerativeInternal::ITextIntelligenceSession> : winrt::impl::hash_base {}; #endif #ifdef __cpp_lib_format #endif } // namespace std #endif