COM-интерфейс как параметр класса WinRT ref, как это возможно?
Как я могу правильно определить этот класс:
public ref class WICBMP sealed
{
void Load(IWICBitmapSource ^wicBitmapSource);
};
1 ответ
Это невозможно. При объявлении членов интерфейса среды выполнения Windows могут использоваться только типы среды выполнения Windows (в этом конкретном случае компилятору потребуется создать интерфейс, который объявляет ваш Load
функция-член). Вы даже не сможете сделать это, если попытаетесь определить интерфейс в IDL.
Класс среды выполнения может реализовывать интерфейсы COM, которые не являются интерфейсами среды выполнения Windows. Например, см. IBufferByteAccess
(интерфейс COM), который все IBuffer
(интерфейс Windows Runtime) реализации должны реализовывать.