функция обратного вызова PFND3DDDI_CREATEDEVICE (d3dumddi.h)
Функция CreateDevice создает графический контекст, на который ссылается последующие вызовы.
Синтаксис
PFND3DDDI_CREATEDEVICE Pfnd3dddiCreatedevice;
HRESULT Pfnd3dddiCreatedevice(
HANDLE hAdapter,
D3DDDIARG_CREATEDEVICE *unnamedParam2
)
{...}
Параметры
hAdapter
Дескриптор, определяющий графический адаптер.
unnamedParam2
pCreateData [in, out]
Указатель на структуру D3DDDIARG_CREATEDEVICE. Во входных данных эта структура содержит сведения, которые может использовать драйвер. В выходных данных драйвер указывает сведения в структуре, которую может использовать среда выполнения Microsoft Direct3D.
Возвращаемое значение
CreateDevice возвращает одно из следующих значений:
код возврата | описание |
---|---|
S_OK | Контекст графики успешно создан. |
E_OUTOFMEMORY | CreateDevice не удалось выделить память, необходимую для завершения. |
Замечания
Устройство отображения — это графический контекст, используемый для хранения коллекции состояния отрисовки. Несколько устройств можно создать с помощью одного процесса на заданном адаптере. Обратите внимание, что количество устройств отображения, которые могут одновременно существовать, ограничено только доступной системной памятью. То есть драйвер не может жестко закодировать максимальное ограничение устройства.
Как правило, устройства не зависят друг от друга, поэтому ресурсы, созданные на одном устройстве, не могут ссылаться на ресурсы, созданные в другом. Однако межпроцессные ресурсы являются исключением из этого правила.
Когда среда выполнения Direct3D вызывает CreateDevice для создания устройства, среда выполнения не создает поток контекста графической обработки по умолчанию (GPU) для устройства. Драйвер должен явно вызвать функцию pfnCreateContextCb, чтобы создать один или несколько контекстов по мере необходимости.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
целевая платформа | Настольный |
заголовка | d3dumddi.h (include D3dumddi.h) |