Direct3D 9 функций возвращаемое значение

Поскольку возвращаемое значение функции используется для сообщения об ошибке, как функции возвращают необходимую информацию вызывающей стороне?

Например:
IDirect3D9 :: CreateDevice метод

0

Решение

Так что, если вы посмотрите на эту ссылку, вы заметите, что она имеет некоторые параметры помечены Out это важно, потому что это означает, что будет возвращено вызывающей стороне.

HRESULT CreateDevice(
[in]           UINT Adapter,
[in]           D3DDEVTYPE DeviceType,
[in]           HWND hFocusWindow,
[in]           DWORD BehaviorFlags,
[in, out]      D3DPRESENT_PARAMETERS *pPresentationParameters,
[out, retval]  IDirect3DDevice9 **ppReturnedDeviceInterface
);

В приведенном выше примере (скопирован и вставлен из ссылки MSDN), вы заметите параметр ppReturnedDeviceInterface помечен как ** или указатель на указатель, вызывающая сторона передаст адрес своего указателя и вернет указатель на этот адрес. Так же D3DPRESENT_PARAMETERS структура передана в pPresentationParameters будет обновляться по возвращении, как отмечено out аннотаций.
Пример:

IDirect3DDevice9 *pDevice = NULL;

HRESULT hr = pD3D->CreateDevice(
D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
hwnd,
pPresentationParams,
&pDevice);
if(SUCCEEDED(hr))
{
//pDevice should be non null at this point
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]