структура D3DDDI_DEVICEFUNCS (d3dumddi.h)
Структура D3DDDI_DEVICEFUNCS содержит функции, которые драйвер отображения пользовательского режима может реализовать для отрисовки примитивов графики и изменения состояния процесса.
Синтаксис
typedef struct _D3DDDI_DEVICEFUNCS {
PFND3DDDI_SETRENDERSTATE pfnSetRenderState;
PFND3DDDI_UPDATEWINFO pfnUpdateWInfo;
PFND3DDDI_VALIDATEDEVICE pfnValidateDevice;
PFND3DDDI_SETTEXTURESTAGESTATE pfnSetTextureStageState;
PFND3DDDI_SETTEXTURE pfnSetTexture;
PFND3DDDI_SETPIXELSHADER pfnSetPixelShader;
PFND3DDDI_SETPIXELSHADERCONST pfnSetPixelShaderConst;
PFND3DDDI_SETSTREAMSOURCEUM pfnSetStreamSourceUm;
PFND3DDDI_SETINDICES pfnSetIndices;
PFND3DDDI_SETINDICESUM pfnSetIndicesUm;
PFND3DDDI_DRAWPRIMITIVE pfnDrawPrimitive;
PFND3DDDI_DRAWINDEXEDPRIMITIVE pfnDrawIndexedPrimitive;
PFND3DDDI_DRAWRECTPATCH pfnDrawRectPatch;
PFND3DDDI_DRAWTRIPATCH pfnDrawTriPatch;
PFND3DDDI_DRAWPRIMITIVE2 pfnDrawPrimitive2;
PFND3DDDI_DRAWINDEXEDPRIMITIVE2 pfnDrawIndexedPrimitive2;
PFND3DDDI_VOLBLT pfnVolBlt;
PFND3DDDI_BUFBLT pfnBufBlt;
PFND3DDDI_TEXBLT pfnTexBlt;
PFND3DDDI_STATESET pfnStateSet;
PFND3DDDI_SETPRIORITY pfnSetPriority;
PFND3DDDI_CLEAR pfnClear;
PFND3DDDI_UPDATEPALETTE pfnUpdatePalette;
PFND3DDDI_SETPALETTE pfnSetPalette;
PFND3DDDI_SETVERTEXSHADERCONST pfnSetVertexShaderConst;
PFND3DDDI_MULTIPLYTRANSFORM pfnMultiplyTransform;
PFND3DDDI_SETTRANSFORM pfnSetTransform;
PFND3DDDI_SETVIEWPORT pfnSetViewport;
PFND3DDDI_SETZRANGE pfnSetZRange;
PFND3DDDI_SETMATERIAL pfnSetMaterial;
PFND3DDDI_SETLIGHT pfnSetLight;
PFND3DDDI_CREATELIGHT pfnCreateLight;
PFND3DDDI_DESTROYLIGHT pfnDestroyLight;
PFND3DDDI_SETCLIPPLANE pfnSetClipPlane;
PFND3DDDI_GETINFO pfnGetInfo;
PFND3DDDI_LOCK pfnLock;
PFND3DDDI_UNLOCK pfnUnlock;
PFND3DDDI_CREATERESOURCE pfnCreateResource;
PFND3DDDI_DESTROYRESOURCE pfnDestroyResource;
PFND3DDDI_SETDISPLAYMODE pfnSetDisplayMode;
PFND3DDDI_PRESENT pfnPresent;
PFND3DDDI_FLUSH pfnFlush;
PFND3DDDI_CREATEVERTEXSHADERFUNC pfnCreateVertexShaderFunc;
PFND3DDDI_DELETEVERTEXSHADERFUNC pfnDeleteVertexShaderFunc;
PFND3DDDI_SETVERTEXSHADERFUNC pfnSetVertexShaderFunc;
PFND3DDDI_CREATEVERTEXSHADERDECL pfnCreateVertexShaderDecl;
PFND3DDDI_DELETEVERTEXSHADERDECL pfnDeleteVertexShaderDecl;
PFND3DDDI_SETVERTEXSHADERDECL pfnSetVertexShaderDecl;
PFND3DDDI_SETVERTEXSHADERCONSTI pfnSetVertexShaderConstI;
PFND3DDDI_SETVERTEXSHADERCONSTB pfnSetVertexShaderConstB;
PFND3DDDI_SETSCISSORRECT pfnSetScissorRect;
PFND3DDDI_SETSTREAMSOURCE pfnSetStreamSource;
PFND3DDDI_SETSTREAMSOURCEFREQ pfnSetStreamSourceFreq;
PFND3DDDI_SETCONVOLUTIONKERNELMONO pfnSetConvolutionKernelMono;
PFND3DDDI_COMPOSERECTS pfnComposeRects;
PFND3DDDI_BLT pfnBlt;
PFND3DDDI_COLORFILL pfnColorFill;
PFND3DDDI_DEPTHFILL pfnDepthFill;
PFND3DDDI_CREATEQUERY pfnCreateQuery;
PFND3DDDI_DESTROYQUERY pfnDestroyQuery;
PFND3DDDI_ISSUEQUERY pfnIssueQuery;
PFND3DDDI_GETQUERYDATA pfnGetQueryData;
PFND3DDDI_SETRENDERTARGET pfnSetRenderTarget;
PFND3DDDI_SETDEPTHSTENCIL pfnSetDepthStencil;
PFND3DDDI_GENERATEMIPSUBLEVELS pfnGenerateMipSubLevels;
PFND3DDDI_SETPIXELSHADERCONSTI pfnSetPixelShaderConstI;
PFND3DDDI_SETPIXELSHADERCONSTB pfnSetPixelShaderConstB;
PFND3DDDI_CREATEPIXELSHADER pfnCreatePixelShader;
PFND3DDDI_DELETEPIXELSHADER pfnDeletePixelShader;
PFND3DDDI_CREATEDECODEDEVICE pfnCreateDecodeDevice;
PFND3DDDI_DESTROYDECODEDEVICE pfnDestroyDecodeDevice;
PFND3DDDI_SETDECODERENDERTARGET pfnSetDecodeRenderTarget;
PFND3DDDI_DECODEBEGINFRAME pfnDecodeBeginFrame;
PFND3DDDI_DECODEENDFRAME pfnDecodeEndFrame;
PFND3DDDI_DECODEEXECUTE pfnDecodeExecute;
PFND3DDDI_DECODEEXTENSIONEXECUTE pfnDecodeExtensionExecute;
PFND3DDDI_CREATEVIDEOPROCESSDEVICE pfnCreateVideoProcessDevice;
PFND3DDDI_DESTROYVIDEOPROCESSDEVICE pfnDestroyVideoProcessDevice;
PFND3DDDI_VIDEOPROCESSBEGINFRAME pfnVideoProcessBeginFrame;
PFND3DDDI_VIDEOPROCESSENDFRAME pfnVideoProcessEndFrame;
PFND3DDDI_SETVIDEOPROCESSRENDERTARGET pfnSetVideoProcessRenderTarget;
PFND3DDDI_VIDEOPROCESSBLT pfnVideoProcessBlt;
PFND3DDDI_CREATEEXTENSIONDEVICE pfnCreateExtensionDevice;
PFND3DDDI_DESTROYEXTENSIONDEVICE pfnDestroyExtensionDevice;
PFND3DDDI_EXTENSIONEXECUTE pfnExtensionExecute;
PFND3DDDI_CREATEOVERLAY pfnCreateOverlay;
PFND3DDDI_UPDATEOVERLAY pfnUpdateOverlay;
PFND3DDDI_FLIPOVERLAY pfnFlipOverlay;
PFND3DDDI_GETOVERLAYCOLORCONTROLS pfnGetOverlayColorControls;
PFND3DDDI_SETOVERLAYCOLORCONTROLS pfnSetOverlayColorControls;
PFND3DDDI_DESTROYOVERLAY pfnDestroyOverlay;
PFND3DDDI_DESTROYDEVICE pfnDestroyDevice;
PFND3DDDI_QUERYRESOURCERESIDENCY pfnQueryResourceResidency;
PFND3DDDI_OPENRESOURCE pfnOpenResource;
PFND3DDDI_GETCAPTUREALLOCATIONHANDLE pfnGetCaptureAllocationHandle;
PFND3DDDI_CAPTURETOSYSMEM pfnCaptureToSysMem;
PFND3DDDI_LOCKASYNC pfnLockAsync;
PFND3DDDI_UNLOCKASYNC pfnUnlockAsync;
PFND3DDDI_RENAME pfnRename;
PFND3DDDI_DXVAHD_CREATEVIDEOPROCESSOR pfnCreateVideoProcessor;
PFND3DDDI_DXVAHD_SETVIDEOPROCESSBLTSTATE pfnSetVideoProcessBltState;
PFND3DDDI_DXVAHD_GETVIDEOPROCESSBLTSTATEPRIVATE pfnGetVideoProcessBltStatePrivate;
PFND3DDDI_DXVAHD_SETVIDEOPROCESSSTREAMSTATE pfnSetVideoProcessStreamState;
PFND3DDDI_DXVAHD_GETVIDEOPROCESSSTREAMSTATEPRIVATE pfnGetVideoProcessStreamStatePrivate;
PFND3DDDI_DXVAHD_VIDEOPROCESSBLTHD pfnVideoProcessBltHD;
PFND3DDDI_DXVAHD_DESTROYVIDEOPROCESSOR pfnDestroyVideoProcessor;
PFND3DDDI_CREATEAUTHENTICATEDCHANNEL pfnCreateAuthenticatedChannel;
PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE pfnAuthenticatedChannelKeyExchange;
PFND3DDDI_QUERYAUTHENTICATEDCHANNEL pfnQueryAuthenticatedChannel;
PFND3DDDI_CONFIGUREAUTHENICATEDCHANNEL pfnConfigureAuthenticatedChannel;
PFND3DDDI_DESTROYAUTHENTICATEDCHANNEL pfnDestroyAuthenticatedChannel;
PFND3DDDI_CREATECRYPTOSESSION pfnCreateCryptoSession;
PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE pfnCryptoSessionKeyExchange;
PFND3DDDI_DESTROYCRYPTOSESSION pfnDestroyCryptoSession;
PFND3DDDI_ENCRYPTIONBLT pfnEncryptionBlt;
PFND3DDDI_GETPITCH pfnGetPitch;
PFND3DDDI_STARTSESSIONKEYREFRESH pfnStartSessionKeyRefresh;
PFND3DDDI_FINISHSESSIONKEYREFRESH pfnFinishSessionKeyRefresh;
PFND3DDDI_GETENCRYPTIONBLTKEY pfnGetEncryptionBltKey;
PFND3DDDI_DECRYPTIONBLT pfnDecryptionBlt;
PFND3DDDI_RESOLVESHAREDRESOURCE pfnResolveSharedResource;
PFND3DDDI_VOLBLT1 pfnVolBlt1;
PFND3DDDI_BUFBLT1 pfnBufBlt1;
PFND3DDDI_TEXBLT1 pfnTexBlt1;
PFND3DDDI_DISCARD pfnDiscard;
PFND3DDDI_OFFERRESOURCES pfnOfferResources;
PFND3DDDI_RECLAIMRESOURCES pfnReclaimResources;
PFND3DDDI_CHECKDIRECTFLIPSUPPORT pfnCheckDirectFlipSupport;
PFND3DDDI_CREATERESOURCE2 pfnCreateResource2;
PFND3DDDI_CHECKMULTIPLANEOVERLAYSUPPORT pfnCheckMultiPlaneOverlaySupport;
PFND3DDDI_PRESENTMULTIPLANEOVERLAY pfnPresentMultiPlaneOverlay;
void *pfnReserved1;
PFND3DDDI_FLUSH1 pfnFlush1;
PFND3DDDI_CHECKCOUNTERINFO pfnCheckCounterInfo;
PFND3DDDI_CHECKCOUNTER pfnCheckCounter;
PFND3DDDI_UPDATESUBRESOURCEUP pfnUpdateSubresourceUP;
PFND3DDDI_PRESENT1 pfnPresent1;
PFND3DDDI_CHECKPRESENTDURATIONSUPPORT pfnCheckPresentDurationSupport;
PFND3DDDI_SETMARKER pfnSetMarker;
PFND3DDDI_SETMARKERMODE pfnSetMarkerMode;
PFND3DDDI_TRIMRESIDENCYSET pfnTrimResidencySet;
PFND3DDDI_SYNCTOKEN pfnAcquireResource;
PFND3DDDI_SYNCTOKEN pfnReleaseResource;
} D3DDDI_DEVICEFUNCS;
Члены
pfnSetRenderState
Указатель на функцию Драйвера SetRenderState , которая обновляет состояние отрисовки.
pfnUpdateWInfo
Указатель на функцию UpdateWInfo драйвера, которая обновляет диапазон w для буферизации w.
pfnValidateDevice
Указатель на функцию Driver ValidateDevice , которая возвращает количество проходов, в которых оборудование может выполнять операции смешивания, указанные в текущем состоянии.
pfnSetTextureStageState
Указатель на функцию Драйвера SetTextureStageState , которая обновляет состояние текстуры на определенном этапе в группе с несколькими текстурами.
pfnSetTexture
Указатель на функцию Драйвера SetTexture , которая задает текстуру для определенного этапа в группе с несколькими текстурами.
pfnSetPixelShader
Указатель на функцию SetPixelShader драйвера, которая задает текущий пиксельный шейдер.
pfnSetPixelShaderConst
Указатель на функцию SetPixelShaderConst драйвера, которая задает один или несколько регистров констант пиксельного шейдера со значениями с плавающей точкой.
pfnSetStreamSourceUm
Указатель на функцию SetStreamSourceUM драйвера, которая привязывает источник потока вершин к буферу памяти пользователя.
pfnSetIndices
Указатель на функцию SetIndices драйвера, которая задает текущий буфер индекса.
pfnSetIndicesUm
Указатель на функцию драйвера SetIndicesUM , которая привязывает буфер индекса к буферу памяти пользователя.
pfnDrawPrimitive
Указатель на функцию DrawPrimitive драйвера, которая рисует неиндексированные примитивы, в которых среда выполнения Microsoft Direct3D не преобразовала данные вершин.
pfnDrawIndexedPrimitive
Указатель на функцию Драйвера DrawIndexedPrimitive , которая рисует индексированные примитивы, в которых среда выполнения Direct3D не преобразовала данные вершин.
pfnDrawRectPatch
Указатель на функцию DrawRectPatch драйвера, которая рисует новое или кэшированное прямоугольное исправление или обновляет спецификацию ранее определенного исправления.
pfnDrawTriPatch
Указатель на функцию DrawTriPatch драйвера, которая рисует новое или кэшированное треугольное исправление или обновляет спецификацию ранее определенного исправления.
pfnDrawPrimitive2
Указатель на функцию DrawPrimitive2 драйвера, которая рисует неиндексированные примитивы, в которых среда выполнения Direct3D преобразовала данные вершин.
pfnDrawIndexedPrimitive2
Указатель на функцию драйвера DrawIndexedPrimitive2 , которая рисует индексированные примитивы, в которых среда выполнения Direct3D преобразовала данные вершин.
pfnVolBlt
Указатель на функцию Драйвера VolBlt , которая выполняет передачу битового блока (bitblt) из исходной текстуры тома в текстуру конечного тома.
pfnBufBlt
Указатель на функцию BufBlt драйвера, которая выполняет bitblt из исходного буфера вершины или индекса в буфер конечной вершины или индекса.
pfnTexBlt
Указатель на функцию TexBlt драйвера, которая выполняет bitblt из исходной текстуры в текстуру назначения.
pfnStateSet
Указатель на функцию driver StateSet , которая выполняет операцию установки состояния.
pfnSetPriority
Указатель на функцию SetPriority драйвера, которая задает приоритет вытеснения из памяти для управляемой текстуры.
pfnClear
Указатель на функцию Driver Clear , которая выполняет аппаратную очистку целевого объекта отрисовки, буфера глубины или буфера трафарета.
pfnUpdatePalette
Указатель на функцию UpdatePalette драйвера, которая обновляет палитру текстур.
pfnSetPalette
Указатель на функцию SetPalette драйвера, которая задает палитру для текстуры.
pfnSetVertexShaderConst
Указатель на функцию Драйвера SetVertexShaderConst , которая задает один или несколько регистров констант вершинного шейдера со значениями с плавающей точкой.
pfnMultiplyTransform
Указатель на функцию MultiplyTransform драйвера, которая умножает текущее преобразование.
pfnSetTransform
Указатель на функцию SetTransform драйвера, которая настраивает преобразование.
pfnSetViewport
Указатель на функцию SetViewport драйвера, которая сообщает драйверам, поддерживающим полосу защиты, о прямоугольнике обрезки представления.
pfnSetZRange
Указатель на функцию SetZRange драйвера, которая информирует драйвер о диапазоне значений z.
pfnSetMaterial
Указатель на функцию SetMaterial драйвера, которая задает свойства материала, которые устройства в системе используют для создания требуемого эффекта во время отрисовки.
pfnSetLight
Указатель на функцию SetLight драйвера, которая задает свойства для источника света.
pfnCreateLight
Указатель на функцию Драйвера CreateLight , которая создает источник света.
pfnDestroyLight
Указатель на функцию driver DestroyLight , которая деактивирует источник света.
pfnSetClipPlane
Указатель на функцию SetClipPlane драйвера, которая задает плоскость клипа.
pfnGetInfo
Указатель на функцию GetInfo драйвера, которая извлекает сведения об устройстве.
pfnLock
Указатель на функцию driver Lock , которая блокирует ресурс или поверхность в ресурсе.
pfnUnlock
Указатель на функцию driver Unlock , которая разблокирует ресурс или поверхность в ресурсе, который ранее заблокирован функцией Lock .
pfnCreateResource
Указатель на функцию Driver CreateResource , которая создает ресурс.
pfnDestroyResource
Указатель на функцию driver DestroyResource , которая освобождает ресурс, созданный функцией CreateResource .
pfnSetDisplayMode
Указатель на функцию SetDisplayMode драйвера, которая задает поверхность для отображения.
pfnPresent
Указатель на функцию driver Present , которая запрашивает отображение исходной поверхности путем копирования или перелистывания.
pfnFlush
Указатель на функцию flush драйвера дисплея в пользовательском режиме, которая отправляет невыполненные аппаратные команды, находящиеся в аппаратном буфере команд, в драйвер минипорта дисплея.
pfnCreateVertexShaderFunc
Указатель на функцию Драйвера CreateVertexShaderFunc , которая преобразует код вершинного шейдера в формат, зависящий от оборудования, и связывает этот код с заданным дескриптором шейдера.
pfnDeleteVertexShaderFunc
Указатель на функцию Driver DeleteVertexShaderFunc , которая очищает ресурсы на стороне драйвера, связанные с кодом вершинного шейдера.
pfnSetVertexShaderFunc
Указатель на функцию Драйвера SetVertexShaderFunc , которая задает код вершинного шейдера таким образом, чтобы все последующие операции рисования использовали этот код.
pfnCreateVertexShaderDecl
Указатель на функцию Драйвера CreateVertexShaderDecl , которая преобразует объявление вершинного шейдера в формат, зависящий от оборудования, и связывает это объявление с заданным дескриптором шейдера.
pfnDeleteVertexShaderDecl
Указатель на функцию Driver DeleteVertexShaderDecl , которая очищает ресурсы на стороне драйвера, связанные с объявлением вершинного шейдера.
pfnSetVertexShaderDecl
Указатель на функцию Драйвера SetVertexShaderDecl , которая задает объявление вершинного шейдера таким образом, чтобы все последующие операции рисования использовали это объявление.
pfnSetVertexShaderConstI
Указатель на функцию Драйвера SetVertexShaderConstI , которая задает один или несколько регистров констант вершинного шейдера с целыми значениями.
pfnSetVertexShaderConstB
Указатель на функцию драйвера SetVertexShaderConstB , которая задает один или несколько регистров констант вершинного шейдера с логическими значениями.
pfnSetScissorRect
Указатель на функцию Драйвера SetScissorRect , которая помечает часть целевого объекта отрисовки, для которой ограничена отрисовка.
pfnSetStreamSource
Указатель на функцию SetStreamSource драйвера, которая привязывает часть источника потока вершин к буферу вершин.
pfnSetStreamSourceFreq
Указатель на функцию SetStreamSourceFreq драйвера, которая задает делитель частоты источника потока, привязанного к буферу вершин.
pfnSetConvolutionKernelMono
Указатель на функцию драйвера SetConvolutionKernelMono , которая задает ядро свертки monochrome.
pfnComposeRects
Указатель на функцию Драйвера ComposeRects , которая составляет прямоугольные области.
pfnBlt
Указатель на функцию Blt драйвера, которая копирует содержимое исходной поверхности в целевую поверхность.
pfnColorFill
Указатель на функцию ColorFill драйвера, которая заполняет прямоугольную область на поверхности определенным цветом A8R8G8B8.
pfnDepthFill
Указатель на функцию DepthFill драйвера, которая заполняет буфер глубины значением пикселя, указанным в собственном формате.
pfnCreateQuery
Указатель на функцию Driver CreateQuery , которая создает ресурсы на стороне драйвера для запроса, который среда выполнения Direct3D впоследствии выдает для обработки.
pfnDestroyQuery
Указатель на функцию Driver DestroyQuery , которая освобождает ресурсы для запроса, созданного функцией CreateQuery .
pfnIssueQuery
Указатель на функцию driver IssueQuery , которая обрабатывает запрос, созданный функцией CreateQuery .
pfnGetQueryData
Указатель на функцию GetQueryData драйвера, которая извлекает сведения о запросе.
pfnSetRenderTarget
Указатель на функцию SetRenderTarget драйвера, которая задает целевую поверхность отрисовки в контексте драйвера.
pfnSetDepthStencil
Указатель на функцию SetDepthStencil драйвера, которая задает буфер глубины в контексте драйвера.
pfnGenerateMipSubLevels
Указатель на функцию Драйвера GenerateMipSubLevels , которая повторно создает вложенные значения текстуры MIP-карты.
pfnSetPixelShaderConstI
Указатель на функцию Драйвера SetPixelShaderConstI , которая задает один или несколько регистров констант пиксельного шейдера с целочисленными значениями.
pfnSetPixelShaderConstB
Указатель на функцию SetPixelShaderConstB драйвера, которая задает один или несколько регистров констант пиксельного шейдера с логическими значениями.
pfnCreatePixelShader
Указатель на функцию CreatePixelShader драйвера, которая преобразует код пиксельного шейдера в формат, зависящий от оборудования, и связывает этот код с дескриптором шейдера.
pfnDeletePixelShader
Указатель на функцию DeletePixelShader драйвера, которая очищает ресурсы на стороне драйвера, связанные с кодом пиксельного шейдера.
pfnCreateDecodeDevice
Указатель на функцию Driver CreateDecodeDevice , которая создает представление устройства декодирования Microsoft DirectX Video Acceleration (VA) на основе предоставленных параметров.
pfnDestroyDecodeDevice
Указатель на функцию Driver DestroyDecodeDevice , которая освобождает ресурсы для устройства декодирования DirectX VA.
pfnSetDecodeRenderTarget
Указатель на функцию Драйвера SetDecodeRenderTarget , которая задает целевой объект отрисовки для декодирования. Метод SetDecodeRenderTarget можно вызывать только за пределами блока DecodeBeginFrame/DecodeEndFrame .
pfnDecodeBeginFrame
Указатель на функцию Драйвера DecodeBeginFrame , которая указывает, что может начаться декодирование кадра.
pfnDecodeEndFrame
Указатель на функцию DecodeEndFrame драйвера, которая указывает, что операции декодирования кадров должны быть завершены.
pfnDecodeExecute
Указатель на функцию DecodeExecute драйвера, которая выполняет операцию декодирования DirectX VA. DecodeExecute должен вызываться внутри блока DecodeBeginFrame/DecodeEndFrame .
pfnDecodeExtensionExecute
Указатель на функцию Драйвера DecodeExtensionExecute , которая выполняет нестандартную операцию декодирования DirectX VA. DecodeExtensionExecute должен вызываться внутри блока DecodeBeginFrame/DecodeEndFrame .
pfnCreateVideoProcessDevice
Указатель на функцию Драйвера CreateVideoProcessDevice , которая создает представление устройства обработки видео DirectX VA на основе предоставленных параметров.
pfnDestroyVideoProcessDevice
Указатель на функцию Драйвера DestroyVideoProcessDevice , которая освобождает ресурсы для устройства обработки видео DirectX VA.
pfnVideoProcessBeginFrame
Указатель на функцию VideoProcessBeginFrame драйвера, которая указывает, что может начаться обработка видео кадра.
pfnVideoProcessEndFrame
Указатель на функцию VideoProcessEndFrame драйвера, которая указывает, что операции обработки видео должны быть завершены.
pfnSetVideoProcessRenderTarget
Указатель на функцию SetVideoProcessRenderTarget драйвера, которая задает целевой объект отрисовки для обработки видео. Метод SetVideoProcessRenderTarget можно вызывать только за пределами блока VideoProcessBeginFrame/VideoProcessEndFrame .
pfnVideoProcessBlt
Указатель на функцию VideoProcessBlt драйвера, которая обрабатывает видео DirectX VA. VideoProcessBlt должен вызываться внутри блока VideoProcessBeginFrame/VideoProcessEndFrame .
pfnCreateExtensionDevice
Указатель на функцию драйвера CreateExtensionDevice , которая создает представление устройства расширения DirectX VA на основе предоставленных параметров.
pfnDestroyExtensionDevice
Указатель на функцию драйвера DestroyExtensionDevice , которая освобождает ресурсы для устройства расширения DirectX VA.
pfnExtensionExecute
Указатель на функцию ExtensionExecute драйвера, которая выполняет операцию, относяющуюся к данному устройству расширения DirectX VA.
pfnCreateOverlay
Указатель на функцию CreateOverlay драйвера, которая выделяет оборудование наложения и делает наложение видимым.
pfnUpdateOverlay
Указатель на функцию Driver UpdateOverlay , которая перенастраивает или перемещает отображаемое наложение.
pfnFlipOverlay
Указатель на функцию FlipOverlay драйвера, которая приводит к тому, что оборудование наложения начинает отображать новое выделение.
pfnGetOverlayColorControls
Указатель на функцию Драйвера GetOverlayColorControls , которая извлекает параметры управления цветом для наложения.
pfnSetOverlayColorControls
Указатель на функцию Драйвера SetOverlayColorControls , которая изменяет параметры управления цветом для наложения.
pfnDestroyOverlay
Указатель на функцию Driver DestroyOverlay , которая отключает оборудование наложения и освобождает дескриптор наложения.
pfnDestroyDevice
Указатель на функцию Driver DestroyDevice , которая освобождает ресурсы для устройства отображения.
pfnQueryResourceResidency
Указатель на функцию queryResourceResidency драйвера, которая определяет место расположения ресурсов.
pfnOpenResource
Указатель на функцию OpenResource драйвера, которая сообщает драйверу о том, что открыт общий ресурс.
pfnGetCaptureAllocationHandle
Указатель на функцию Драйвера GetCaptureAllocationHandle , которая сопоставляет данный ресурс захвата с выделением.
pfnCaptureToSysMem
Указатель на функцию Драйвера CaptureToSysMem , которая копирует буфер захвата в область видеопамять.
pfnLockAsync
Указатель на функцию LockAsync драйвера, которая блокирует ресурс или поверхность в ресурсе.
pfnUnlockAsync
Указатель на функцию UnlockAsync драйвера, которая разблокирует ресурс или поверхность в ресурсе, который ранее заблокирован функцией LockAsync .
pfnRename
Указатель на функцию переименования драйвера, которая переименовывает с новым выделением, ресурсом или поверхностью в ресурсе.
pfnCreateVideoProcessor
Указатель на функцию Драйвера CreateVideoProcessor , которая создает видеопроцессор.
pfnSetVideoProcessBltState
Указатель на функцию SetVideoProcessBltState драйвера, которая задает состояние bitblt для видеопроцессора.
pfnGetVideoProcessBltStatePrivate
Указатель на функцию Драйвера GetVideoProcessBltStatePrivate , которая извлекает данные о состоянии частного bitblt для видеопроцессора.
pfnSetVideoProcessStreamState
Указатель на функцию SetVideoProcessStreamState драйвера, которая задает состояние потока для видеопроцессора.
pfnGetVideoProcessStreamStatePrivate
Указатель на функцию GetVideoProcessStreamStatePrivate драйвера, которая извлекает данные о состоянии частного потока для видеопроцессора.
pfnVideoProcessBltHD
Указатель на функцию VideoProcessBltHD драйвера, которая обрабатывает входные видеопотоки и состоит в выходной поверхности.
pfnDestroyVideoProcessor
Указатель на функцию Драйвера DestroyVideoProcessor , которая освобождает ресурсы для ранее созданного видеопроцессора.
pfnCreateAuthenticatedChannel
Указатель на функцию driver CreateAuthenticatedChannel , которая создает канал, который среда выполнения Direct3D и драйвер могут использовать для настройки и защиты запросов.
pfnAuthenticatedChannelKeyExchange
Указатель на функцию Driver AuthenticatedChannelKeyExchange , которая согласовывает ключ сеанса.
pfnQueryAuthenticatedChannel
Указатель на функцию driver QueryAuthenticatedChannel , которая запрашивает у канала, прошедшего проверку подлинности, для получения сведений о возможностях и состоянии.
pfnConfigureAuthenticatedChannel
Указатель на функцию Драйвера ConfigureAuthenticatedChannel , которая задает состояние в канале, прошедшем проверку подлинности.
pfnDestroyAuthenticatedChannel
Указатель на функцию Driver DestroyAuthenticatedChannel , которая освобождает ресурсы для канала, прошедшего проверку подлинности.
pfnCreateCryptoSession
Указатель на функцию Драйвера CreateCryptoSession , которая создает сеанс шифрования.
pfnCryptoSessionKeyExchange
Указатель на функцию драйвера CryptoSessionKeyExchange , которая выполняет обмен ключами во время сеанса шифрования.
pfnDestroyCryptoSession
Указатель на функцию Драйвера DestroyCryptoSession , которая освобождает ресурсы для сеанса шифрования.
pfnEncryptionBlt
Указатель на функцию EncryptionBlt драйвера, которая выполняет зашифрованную операцию bitblt.
pfnGetPitch
Указатель на функцию GetPitch драйвера, которая извлекает шаг зашифрованной поверхности.
pfnStartSessionKeyRefresh
Указатель на функцию driver StartSessionKeyRefresh , которая задает защищенный режим для текущего видеосеанса.
pfnFinishSessionKeyRefresh
Указатель на функцию драйвера FinishSessionKeyRefresh , которая задает для текущего видеосеанса незащищенный режим.
pfnGetEncryptionBltKey
Указатель на функцию GetEncryptionBltKey драйвера, которая извлекает ключ зашифрованного сеанса bitblt.
pfnDecryptionBlt
Указатель на функцию DecryptionBlt драйвера, которая записывает данные в защищенную поверхность.
pfnResolveSharedResource
Указатель на функцию Driver ResolveSharedResource , которая разрешает общий ресурс.
pfnVolBlt1
Указатель на функцию Драйвера VolBlt1 , которая выполняет операцию передачи битового блока тома (bitblt).
Поддерживается начиная с Windows 8.
pfnBufBlt1
Указатель на функцию BufBlt1 драйвера, которая выполняет операцию передачи битового блока (bitblt).
Поддерживается начиная с Windows 8.
pfnTexBlt1
Указатель на функцию драйвера TexBlt1 , которая выполняет операцию передачи битового блока текстуры (bitblt).
Поддерживается начиная с Windows 8.
pfnDiscard
Указатель на функцию Driver Discard , которая удаляет (вытеснит) набор подресурсов из памяти видеотрансляции.
Поддерживается начиная с Windows 8.
pfnOfferResources
Указатель на функцию driver OfferResources, которая запрашивает , чтобы драйвер отображения пользовательского режима предложил ресурсы видеопамять для повторного использования.
Поддерживается начиная с Windows 8.
pfnReclaimResources
Указатель на функцию driver ReclaimResources , вызываемую средой выполнения Direct3D для освобождения ресурсов видеопамять, которые она ранее предлагала для повторного использования.
Поддерживается начиная с Windows 8.
pfnCheckDirectFlipSupport
Указатель на функцию CheckDirectFlipSupport драйвера, вызываемую dwm, чтобы убедиться, что драйвер пользовательского режима поддерживает операции прямого перелистывания.
Поддерживается начиная с Windows 8.
pfnCreateResource2
Указатель на функцию driver CreateResource2 , которая создает ресурс.
Поддерживается начиная с Windows 8.
pfnCheckMultiPlaneOverlaySupport
Указатель на функцию драйвера pfnCheckMultiPlaneOverlaySupport (D3D), вызываемую средой выполнения Direct3D для проверка сведения об аппаратной поддержке многоплановых наложений.
Поддерживается начиная с Windows 8.1.
pfnPresentMultiPlaneOverlay
Указатель на функцию драйвера pfnPresentMultiplaneOverlay (D3D), вызываемую средой выполнения Direct3D для уведомления драйвера отображения пользовательского режима о том, что приложение завершило отрисовку, и запрашивает, чтобы драйвер отображал исходную поверхность путем копирования или перелистывания, или что драйвер выполняет операцию заливки цвета.
Поддерживается начиная с Windows 8.1.
pfnReserved1
Зарезервировано для системного использования. Не используйте в драйвере.
Поддерживается начиная с Windows 8.1.
pfnFlush1
Указатель на функцию pfnFlush1 драйвера, вызываемую средой выполнения Direct3D для отправки невыполненных аппаратных команд, которые находятся в аппаратном буфере команд, в драйвер минипорта дисплея.
Поддерживается начиная с Windows 8.1.
pfnCheckCounterInfo
Указатель на функцию драйвера pfnCheckCounterInfo , вызываемую средой выполнения Direct3D для определения глобальных сведений, связанных с управлением счетчиками.
Поддерживается начиная с Windows 8.1.
pfnCheckCounter
Указатель на функцию драйвера pfnCheckCounter , вызываемую средой выполнения Direct3D для получения сведений, описывающих счетчик.
Поддерживается начиная с Windows 8.1.
pfnUpdateSubresourceUP
Указатель на функцию драйвера pfnUpdateSubresourceUP , вызываемую средой выполнения Direct3D для обновления конечного подресурса из исходного региона системной памяти.
Поддерживается начиная с Windows 8.1.
pfnPresent1
Указатель на функцию драйвера pfnPresent1(D3D), которая уведомляет драйвер отображения пользовательского режима о том, что приложение завершило отрисовку и что все права владения общим ресурсом освобождены, и запрашивает отображение драйвера в области назначения.
Поддерживается начиная с Windows 8.1.
pfnCheckPresentDurationSupport
Указатель на функцию CheckPresentDurationSupport драйвера, вызываемую средой выполнения Direct3D для запроса на получение драйвером дисплея пользовательского режима возможностей аппаратного устройства для плавного переключения на новую частоту обновления монитора.
Поддерживается начиная с Windows 8.1.
pfnSetMarker
Указатель на функцию pfnSetMarker драйвера, которая уведомляет драйвер дисплея пользовательского режима о том, что он должен создать новую метку времени, если какие-либо работы GPU были завершены с момента последнего вызова pfnSetMarker.
Поддерживается начиная с Windows 8.1.
pfnSetMarkerMode
Указатель на функцию драйвера pfnSetMarkerMode , которая уведомляет драйвер отображения пользовательского режима о том, что он должен поддерживать тип события маркера трассировки событий Windows (ETW).
Поддерживается начиная с Windows 8.1.
pfnTrimResidencySet
pfnAcquireResource
pfnReleaseResource
Комментарии
В следующем коде из D3dumddi.h показаны объявления функций для функций, на которые указывают члены D3DDDI_DEVICEFUNCS .
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETRENDERSTATE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_RENDERSTATE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_UPDATEWINFO)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_WINFO*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_VALIDATEDEVICE)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_VALIDATETEXTURESTAGESTATE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETTEXTURESTAGESTATE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_TEXTURESTAGESTATE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETTEXTURE)(
_In_ HANDLE hDevice, _In_ UINT, _In_ HANDLE);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETPIXELSHADER)(
_In_ HANDLE hDevice, _In_ HANDLE);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETPIXELSHADERCONST)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETPIXELSHADERCONST*, _In_ CONST FLOAT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETSTREAMSOURCEUM)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETSTREAMSOURCEUM*, _In_ CONST VOID*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETINDICES)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETINDICES*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETINDICESUM)(
_In_ HANDLE hDevice, _In_ UINT, _In_ CONST VOID*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DRAWPRIMITIVE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DRAWPRIMITIVE*, _In_opt_ CONST UINT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DRAWINDEXEDPRIMITIVE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DRAWINDEXEDPRIMITIVE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DRAWRECTPATCH)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DRAWRECTPATCH*, _In_ CONST D3DDDIRECTPATCH_INFO*, _In_ CONST FLOAT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DRAWTRIPATCH)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DRAWTRIPATCH*, _In_ CONST D3DDDITRIPATCH_INFO*, _In_ CONST FLOAT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DRAWPRIMITIVE2)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DRAWPRIMITIVE2*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DRAWINDEXEDPRIMITIVE2)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DRAWINDEXEDPRIMITIVE2*, _In_ UINT, _In_ CONST VOID*, _In_opt_ CONST UINT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_VOLBLT)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_VOLUMEBLT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_BUFBLT)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_BUFFERBLT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_TEXBLT)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_TEXBLT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_STATESET)(
_In_ HANDLE hDevice, _In_ D3DDDIARG_STATESET*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETPRIORITY)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETPRIORITY*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CLEAR)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_CLEAR*, _In_ UINT, _In_ CONST RECT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_UPDATEPALETTE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_UPDATEPALETTE*, _In_ CONST PALETTEENTRY*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETPALETTE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETPALETTE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETVERTEXSHADERCONST)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETVERTEXSHADERCONST*, _In_ CONST VOID*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_MULTIPLYTRANSFORM)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_MULTIPLYTRANSFORM*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETTRANSFORM)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETTRANSFORM*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETVIEWPORT)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_VIEWPORTINFO*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETZRANGE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_ZRANGE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETMATERIAL)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETMATERIAL*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETLIGHT)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETLIGHT*, _In_ CONST D3DDDI_LIGHT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATELIGHT)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_CREATELIGHT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DESTROYLIGHT)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DESTROYLIGHT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETCLIPPLANE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETCLIPPLANE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_GETINFO)(
_In_ HANDLE hDevice, _In_ UINT, _Out_writes_bytes_(DevInfoSize)VOID*, _In_ UINT DevInfoSize);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_LOCK)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_LOCK*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_UNLOCK)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_UNLOCK*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_LOCKASYNC)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_LOCKASYNC*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_UNLOCKASYNC)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_UNLOCKASYNC*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_RENAME)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_RENAME*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATERESOURCE)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATERESOURCE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DESTROYRESOURCE)(
_In_ HANDLE hDevice, _In_ HANDLE);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETDISPLAYMODE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETDISPLAYMODE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_PRESENT)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_PRESENT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_FLUSH)(
_In_ HANDLE hDevice);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATEVERTEXSHADERDECL)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATEVERTEXSHADERDECL*, _In_ CONST D3DDDIVERTEXELEMENT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETVERTEXSHADERDECL)(
_In_ HANDLE hDevice, _In_ HANDLE);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DELETEVERTEXSHADERDECL)(
_In_ HANDLE hDevice, _In_ HANDLE);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATEVERTEXSHADERFUNC)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATEVERTEXSHADERFUNC*, _In_ CONST UINT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETVERTEXSHADERFUNC)(
_In_ HANDLE hDevice, _In_ HANDLE);
typedef _In_ HRESULT (APIENTRY *PFND3DDDI_DELETEVERTEXSHADERFUNC)(
_In_ HANDLE hDevice, _In_ HANDLE);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETVERTEXSHADERCONSTI)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETVERTEXSHADERCONSTI*, _In_ CONST INT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETVERTEXSHADERCONSTB)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETVERTEXSHADERCONSTB*, _In_ CONST BOOL*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETSCISSORRECT)(
_In_ HANDLE hDevice, _In_ CONST RECT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETSTREAMSOURCE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETSTREAMSOURCE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETSTREAMSOURCEFREQ)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETSTREAMSOURCEFREQ*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETCONVOLUTIONKERNELMONO)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETCONVOLUTIONKERNELMONO*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_COMPOSERECTS)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_COMPOSERECTS*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_BLT)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_BLT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_COLORFILL)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_COLORFILL*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DEPTHFILL)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DEPTHFILL*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATEQUERY)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATEQUERY*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DESTROYQUERY)(
_In_ HANDLE hDevice, _In_ CONST HANDLE);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_ISSUEQUERY)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_ISSUEQUERY*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_GETQUERYDATA)(
_In_ HANDLE hDevice, _Inout_ CONST D3DDDIARG_GETQUERYDATA*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETRENDERTARGET)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETRENDERTARGET*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETDEPTHSTENCIL)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETDEPTHSTENCIL*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_GENERATEMIPSUBLEVELS)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_GENERATEMIPSUBLEVELS*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETPIXELSHADERCONSTI)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETPIXELSHADERCONSTI*, _In_ CONST INT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETPIXELSHADERCONSTB)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETPIXELSHADERCONSTB*, _In_ CONST BOOL*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATEPIXELSHADER)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATEPIXELSHADER*, _In_ CONST UINT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DELETEPIXELSHADER)(
_In_ HANDLE hDevice, _In_ HANDLE);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATEDECODEDEVICE)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATEDECODEDEVICE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DESTROYDECODEDEVICE)(
_In_ HANDLE hDevice, _In_ HANDLE);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETDECODERENDERTARGET) (
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETDECODERENDERTARGET*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DECODEBEGINFRAME) (
_In_ HANDLE hDevice, _In_ D3DDDIARG_DECODEBEGINFRAME*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DECODEENDFRAME) (
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_DECODEENDFRAME*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DECODEEXECUTE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DECODEEXECUTE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DECODEEXTENSIONEXECUTE)(
_In_ HANDLE hDevice, _Inout_ CONST D3DDDIARG_DECODEEXTENSIONEXECUTE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATEVIDEOPROCESSDEVICE) (
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATEVIDEOPROCESSDEVICE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DESTROYVIDEOPROCESSDEVICE) (
_In_ HANDLE hDevice, _In_ HANDLE hVideoProcessor);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_VIDEOPROCESSBEGINFRAME) (
_In_ HANDLE hDevice, _In_ HANDLE hVideoProcess);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_VIDEOPROCESSENDFRAME) (
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_VIDEOPROCESSENDFRAME*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETVIDEOPROCESSRENDERTARGET) (
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETVIDEOPROCESSRENDERTARGET*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_VIDEOPROCESSBLT) (
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_VIDEOPROCESSBLT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATEEXTENSIONDEVICE) (
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATEEXTENSIONDEVICE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DESTROYEXTENSIONDEVICE) (
_In_ HANDLE hDevice, _In_ HANDLE hExtension);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_EXTENSIONEXECUTE) (
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_EXTENSIONEXECUTE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DESTROYDEVICE)(
_In_ HANDLE hDevice);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATEOVERLAY) (
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATEOVERLAY*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_UPDATEOVERLAY) (
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_UPDATEOVERLAY*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_FLIPOVERLAY) (
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_FLIPOVERLAY*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_GETOVERLAYCOLORCONTROLS) (
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_GETOVERLAYCOLORCONTROLS*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETOVERLAYCOLORCONTROLS) (
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_SETOVERLAYCOLORCONTROLS*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DESTROYOVERLAY) (
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DESTROYOVERLAY*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_QUERYRESOURCERESIDENCY) (
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_QUERYRESOURCERESIDENCY*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_OPENRESOURCE) (
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_OPENRESOURCE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_GETCAPTUREALLOCATIONHANDLE)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_GETCAPTUREALLOCATIONHANDLE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CAPTURETOSYSMEM)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_CAPTURETOSYSMEM*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DXVAHD_CREATEVIDEOPROCESSOR)(
_In_ HANDLE, _Inout_ D3DDDIARG_DXVAHD_CREATEVIDEOPROCESSOR*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DXVAHD_SETVIDEOPROCESSBLTSTATE)(
_In_ HANDLE, _In_ CONST D3DDDIARG_DXVAHD_SETVIDEOPROCESSBLTSTATE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DXVAHD_GETVIDEOPROCESSBLTSTATEPRIVATE)(
_In_ HANDLE, _Inout_ D3DDDIARG_DXVAHD_GETVIDEOPROCESSBLTSTATEPRIVATE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DXVAHD_SETVIDEOPROCESSSTREAMSTATE)(
_In_ HANDLE, _In_ CONST D3DDDIARG_DXVAHD_SETVIDEOPROCESSSTREAMSTATE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DXVAHD_GETVIDEOPROCESSSTREAMSTATEPRIVATE)(
_In_ HANDLE, _Inout_ D3DDDIARG_DXVAHD_GETVIDEOPROCESSSTREAMSTATEPRIVATE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DXVAHD_VIDEOPROCESSBLTHD)(
_In_ HANDLE, _In_ CONST D3DDDIARG_DXVAHD_VIDEOPROCESSBLTHD*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DXVAHD_DESTROYVIDEOPROCESSOR)(
_In_ HANDLE, _In_ HANDLE);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATEAUTHENTICATEDCHANNEL)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATEAUTHENTICATEDCHANNEL*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_AUTHENTICATEDCHANNELKEYEXCHANGE)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_AUTHENTICATEDCHANNELKEYEXCHANGE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_QUERYAUTHENTICATEDCHANNEL)(
_In_ HANDLE hDevice, _Inout_ CONST D3DDDIARG_QUERYAUTHENTICATEDCHANNEL*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CONFIGUREAUTHENICATEDCHANNEL)(
_In_ HANDLE hDevice, _Inout_ CONST D3DDDIARG_CONFIGUREAUTHENTICATEDCHANNEL*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DESTROYAUTHENTICATEDCHANNEL)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DESTROYAUTHENTICATEDCHANNEL*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATECRYPTOSESSION)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATECRYPTOSESSION*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CRYPTOSESSIONKEYEXCHANGE)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CRYPTOSESSIONKEYEXCHANGE*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DESTROYCRYPTOSESSION)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DESTROYCRYPTOSESSION*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_ENCRYPTIONBLT)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_ENCRYPTIONBLT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_GETPITCH)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_GETPITCH*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_STARTSESSIONKEYREFRESH)(
_In_ HANDLE hDevice, _Inout_ CONST D3DDDIARG_STARTSESSIONKEYREFRESH*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_FINISHSESSIONKEYREFRESH)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_FINISHSESSIONKEYREFRESH*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_GETENCRYPTIONBLTKEY)(
_In_ HANDLE hDevice, _Inout_ CONST D3DDDIARG_GETENCRYPTIONBLTKEY*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DECRYPTIONBLT)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DECRYPTIONBLT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_RESOLVESHAREDRESOURCE)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_RESOLVESHAREDRESOURCE*);
#if (D3D_UMD_INTERFACE_VERSION >= D3D_UMD_INTERFACE_VERSION_WIN8)
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_VOLBLT1)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_VOLUMEBLT1*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_BUFBLT1)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_BUFFERBLT1*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_TEXBLT1)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_TEXBLT1*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_DISCARD)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_DISCARD*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_OFFERRESOURCES)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_OFFERRESOURCES*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_RECLAIMRESOURCES)(
_In_ HANDLE hDevice, _Inout_ CONST D3DDDIARG_RECLAIMRESOURCES*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CHECKDIRECTFLIPSUPPORT)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CHECKDIRECTFLIPSUPPORT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CREATERESOURCE2)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CREATERESOURCE2*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CHECKMULTIPLANEOVERLAYSUPPORT)(
_In_ HANDLE hDevice, _Inout_ D3DDDIARG_CHECKMULTIPLANEOVERLAYSUPPORT*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_PRESENTMULTIPLANEOVERLAY)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_PRESENTMULTIPLANEOVERLAY*);
#if (D3D_UMD_INTERFACE_VERSION >= D3D_UMD_INTERFACE_VERSION_WDDM1_3)
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_FLUSH1)(
_In_ HANDLE hDevice, UINT /*D3DDDI_FLUSH_FLAGS*/ FlushFlags);
typedef VOID ( APIENTRY* PFND3DDDI_CHECKCOUNTERINFO )(
_In_ HANDLE hDevice, _Out_ D3DDDIARG_COUNTER_INFO* );
typedef _Check_return_ HRESULT ( APIENTRY* PFND3DDDI_CHECKCOUNTER )(
_In_ HANDLE hDevice, _In_ D3DDDIQUERYTYPE, _Out_ D3DDDI_COUNTER_TYPE*, _Out_ UINT*,
_Out_writes_to_opt_(*pNameLength, *pNameLength) LPSTR,
_Inout_opt_ UINT* pNameLength,
_Out_writes_to_opt_(*pUnitsLength, *pUnitsLength) LPSTR,
_Inout_opt_ UINT* pUnitsLength,
_Out_writes_to_opt_(*pDescriptionLength, *pDescriptionLength) LPSTR,
_Inout_opt_ UINT* pDescriptionLength);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_UPDATESUBRESOURCEUP)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_UPDATESUBRESOURCEUP*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_PRESENT1)(
_In_ HANDLE hDevice, _In_ CONST D3DDDIARG_PRESENT1*);
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_CHECKPRESENTDURATIONSUPPORT)(
_In_ HANDLE hDevice, _In_ D3DDDIARG_CHECKPRESENTDURATIONSUPPORT*);
#endif // D3D_UMD_INTERFACE_VERSION
#if (D3D_UMD_INTERFACE_VERSION >= D3D_UMD_INTERFACE_VERSION_WDDM1_3)
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETMARKERMODE)(
_In_ HANDLE hDevice, _In_ D3DDDI_MARKERTYPE Type, /*D3DDDI_SETMARKERMODE*/ UINT Flags );
typedef _Check_return_ HRESULT (APIENTRY *PFND3DDDI_SETMARKER)(
_In_ HANDLE hDevice);
#endif // D3D_UMD_INTERFACE_VERSION
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Верхняя часть | d3dumddi.h (включая D3dumddi.h) |