Шаблон структуры маркера winrt::cloaked (C++/WinRT)
Шаблон маркера, используемый для указания шаблону структуры winrt::implements , что реализованный интерфейс не должен включаться в список интерфейсов, возвращаемых методом IInspectable::GetIids (т. е. реализованный интерфейс должен быть "маскирован").
template<typename T>
struct cloaked;
По умолчанию реализация IInspectable::GetIids сообщает обо всех интерфейсах, производных от IInspectable. Используйте шаблон маркера сокрытием , чтобы указать, что из этого списка должен быть удален определенный интерфейс.
Этот первый пример применяется, если вы наследуете непосредственно от реализации.
struct MyImplementation : implementation<MyImplementation, IFrameworkViewSource, cloaked<IStringable>>
{
...
};
Следующий пример предназначен для при создании класса среды выполнения.
struct BookSku : BookSkuT<BookSku, cloaked<IStringable>>
{
...
};
Минимальный поддерживаемый пакет SDK: Windows SDK версии 10.0.17134.0 (Windows 10 версии 1803)
Пространство имен: winrt
Заголовок: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (включен по умолчанию)