IDXGISurface2::GetResource Что передается, или отдается вторым параметром?

69
24 марта 2021, 19:50

Я уже посмотрел заголовочный файл, и сайт с документацией, но так и не понял что передавать вторым параметром в метод GetResource?

MIDL_INTERFACE("aba496dd-b617-4cb8-a866-bc44d7eb1fa2")
IDXGISurface2 : public IDXGISurface1
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetResource( 
        /* [annotation][in] */ 
        _In_  REFIID riid,
        /* [annotation][out] */ 
        _COM_Outptr_  void **ppParentResource,
        /* [annotation][out] */ 
        _Out_  UINT *pSubresourceIndex) = 0;
};
Answer 1

Вторым параметром необходимо передавать указатель на указатель на void, в который после успешного выполнения функции будет записано значение указателя на интерфейс (с глобальным идентификатором, переданным в качестве первого параметра) объекта, который был использован для создания объекта, через интерфейс IDXGISurface2 которого вызывается этот метод.

 void * p_naked_interface;
 UINT index;
 HRESULT hr{p_surface->GetResource(::IID_IDXGIResource1, &p_naked_interface, &index};
 if(SUCCEEDED(hr))
 {
      ::IDXGIResource1 * p_resource{static_cast<::IDXGIResource1 *>(p_naked_interface));
      // делаем что-то с ресурсом...
      p_resource->Release();
 }
READ ALSO
Вопрос по строковым литералам

Вопрос по строковым литералам

Почему вот это приводит к ошибке времени исполнения:

134
Конфликт jquery и bootstrap 4

Конфликт jquery и bootstrap 4

Я совсем не силён в js, поэтому пользуюсь готовыми решениями

116
Как такое реализовать?

Как такое реализовать?

Подскажите, пожалуйста, как реализовать такой динамический скролл:

103
Folium создание круглых маркеров

Folium создание круглых маркеров

Вопрос глупый, однако не могу понять почему не выходит создать круглый маркер нужного цвета Мой код:

132