// WARNING: Please don't edit this file. It was generated by C++/WinRT // v2.0.250303.1 #pragma once #ifndef WINRT_Microsoft_Windows_AI_ContentModerationInternal_0_H #define WINRT_Microsoft_Windows_AI_ContentModerationInternal_0_H WINRT_EXPORT namespace winrt::Microsoft::Windows::PrivateCommon { struct ImageBufferResource; } WINRT_EXPORT namespace winrt::Microsoft::Windows::AI:: ContentModerationInternal { struct IImageContentModerationSession; struct ITextBlockListSession; struct ITextContentModerationSession; struct ImageContentAnalysisScores; struct TextContentAnalysisScores; struct ContentModerationSessionContract; struct ImageContentModerationSessionContract; struct TextBlockListContract; } namespace winrt::impl { template <> struct category { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category { using type = struct_category; }; template <> struct category { using type = struct_category; }; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.ContentModerationInternal." L"ImageContentAnalysisScores"; template <> inline constexpr auto& name_v< winrt::Microsoft::Windows::AI::ContentModerationInternal:: TextContentAnalysisScores> = L"Microsoft.Windows.AI.ContentModerationInternal.TextContentAnalysisScores"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.ContentModerationInternal." L"IImageContentModerationSession"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.ContentModerationInternal.ITextBlockListSession"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.ContentModerationInternal." L"ITextContentModerationSession"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.ContentModerationInternal." L"ContentModerationSessionContract"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.ContentModerationInternal." L"ImageContentModerationSessionContract"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.AI.ContentModerationInternal.TextBlockListContract"; template <> inline constexpr guid guid_v{ 0x1AFCEA00, 0xB9DF, 0x454A, {0xB0, 0xE0, 0x9C, 0x36, 0xB7, 0xA6, 0xFA, 0x2C}}; // 1AFCEA00-B9DF-454A-B0E0-9C36B7A6FA2C template <> inline constexpr guid guid_v{ 0xE82A4CB1, 0xA91E, 0x5841, {0xAB, 0x2F, 0x8B, 0xA8, 0xFE, 0x24, 0x1B, 0x5A}}; // E82A4CB1-A91E-5841-AB2F-8BA8FE241B5A template <> inline constexpr guid guid_v{ 0x367F2388, 0x6261, 0x427E, {0xB4, 0x01, 0x62, 0x89, 0xAD, 0xAB, 0x2F, 0x7D}}; // 367F2388-6261-427E-B401-6289ADAB2F7D template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall ValidateImage(void*, uint32_t, uint32_t, bool*) noexcept = 0; virtual int32_t __stdcall AnalyzeImage( void*, uint32_t, uint32_t, struct struct_Microsoft_Windows_AI_ContentModerationInternal_ImageContentAnalysisScores*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall IsTextBlocked(void*, void*, bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall AnalyzeText( void*, uint32_t, uint32_t, struct struct_Microsoft_Windows_AI_ContentModerationInternal_TextContentAnalysisScores*) noexcept = 0; }; }; template struct consume_Microsoft_Windows_AI_ContentModerationInternal_IImageContentModerationSession { auto ValidateImage( winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& inputImageBufferResource, uint32_t priority, uint32_t frequency) const; auto AnalyzeImage( winrt::Microsoft::Windows::PrivateCommon::ImageBufferResource const& inputImageBufferResource, uint32_t priority, uint32_t frequency) const; }; template <> struct consume { template using type = consume_Microsoft_Windows_AI_ContentModerationInternal_IImageContentModerationSession< D>; }; template struct consume_Microsoft_Windows_AI_ContentModerationInternal_ITextBlockListSession { auto IsTextBlocked(param::hstring const& query, param::hstring const& inputLanguage) const; }; template <> struct consume { template using type = consume_Microsoft_Windows_AI_ContentModerationInternal_ITextBlockListSession< D>; }; template struct consume_Microsoft_Windows_AI_ContentModerationInternal_ITextContentModerationSession { auto AnalyzeText(param::hstring const& text, uint32_t priority, uint32_t frequency) const; }; template <> struct consume { template using type = consume_Microsoft_Windows_AI_ContentModerationInternal_ITextContentModerationSession< D>; }; struct struct_Microsoft_Windows_AI_ContentModerationInternal_ImageContentAnalysisScores { uint32_t numCategoryLevels; float normalContentLevel; float adultHarmContentLevel; float racyContentLevel; float goryContentLevel; float violenceContentLevel; }; template <> struct abi { using type = struct_Microsoft_Windows_AI_ContentModerationInternal_ImageContentAnalysisScores; }; struct struct_Microsoft_Windows_AI_ContentModerationInternal_TextContentAnalysisScores { uint32_t numCategoryLevels; uint32_t selfHarmContentLevel; uint32_t violentContentLevel; uint32_t hateContentLevel; uint32_t sexualContentLevel; }; template <> struct abi { using type = struct_Microsoft_Windows_AI_ContentModerationInternal_TextContentAnalysisScores; }; } // namespace winrt::impl #endif