Вопросы по теме 'iunknown'

Ошибка компоновщика с DXGI при передаче IID_IDXGIDevice в IUnknown::QueryDevice
Я пытаюсь отделить создание Swapchain и Window от создания устройства D3D10 в своей структуре рендеринга, что означает, что я не могу использовать D3D10CreateDeviceAndSwapChain. Я сталкиваюсь с неожиданной ошибкой компоновщика при попытке создать...
551 просмотров

Проблема с D3D и COM
все интерфейсы D3D являются производными от интерфейса COM IUnknown, поэтому я бы выбрал простой путь для выпуска объектов D3D и использовал что-то вроде этого: __inline BOOL SafeRelease(IUnknown*& pUnknown) { if(pUnknown != NULL...
292 просмотров
schedule 02.09.2022

Каков правильный способ приведения при использовании ATL и IUnknownPtr?
Во время модификации существующего COM-объекта ATL я наткнулся на статью из блога «The Old New Thing» под названием «Как люди путают IUnknown::QueryInterface», и в разделе комментариев было обсуждение, которое началось, когда один из респонденты...
2006 просмотров
schedule 03.02.2023

ConnectEx возвращает false, а WSAGetLastError возвращает 0
этот фрагмент является частью функции, которая должна возвращать true, когда сокет подключен (или подключается), или false, если что-то не удается. if(bind(socket_, reinterpret_cast<sockaddr*>(&any), sizeof any) < 0) {...
376 просмотров
schedule 30.07.2023

Почему аргументы указателя COM приводятся к типу void, а не IUnknown?
Извините, если это глупый вопрос, но мне было непонятно, почему аргументы указателя COM обычно приводятся как (void**) вместо (IUnknown**) . И затем иногда действительно используются указатели IUnknown , например, с IObjectWithSite::SetSite ....
397 просмотров
schedule 31.12.2022

Перегрузить методы COM-класса методами из стандартного модуля с помощью взлома VTable
Быстрый вопрос - я только что тестировал методы перезаписи класса, изменяя записи в его VTable, используя низкоуровневый api памяти для копирования. Задний план У меня был некоторый успех, и я могу поменять местами 2 записи в VTable класса, если...
123 просмотров
schedule 13.05.2022

почему моя функция выпуска IUnknown блокирует мой дочерний поток?
В моем приложении C у меня есть дочерний поток, который извлекает интерфейс IUnknown в начале его жизни: static struct IUnknown* punk = NULL; void DispatcherStart(){ CoInitialize(NULL);...
51 просмотров
schedule 01.05.2022