структура 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)

См. также раздел

CreateDevice

D3DDDIARG_CREATEDEVICE