共用方式為


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

驅動程式的指標 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

執行狀態集作業的驅動程式指標 StateSet 函式。

pfnSetPriority

驅動程式的指標 SetPriority 函式,可設定 Managed 紋理的收回記憶體優先順序。

pfnClear

驅動程式的指標 Clear 函式,會在轉譯目標、深度緩衝區或樣板緩衝區上執行硬體輔助清除。

pfnUpdatePalette

更新紋理調色盤的驅動程式指標 UpdatePalette 函式。

pfnSetPalette

驅動程式的指標 SetPalette 函式,可設定紋理的調色盤。

pfnSetVertexShaderConst

驅動程式的指標 SetVertexShaderConst 函式,可設定一或多個頂點著色器常數緩存器浮點值。

pfnMultiplyTransform

驅動程式的指標 MultiplyTransform 函式,此函式會乘以目前的轉換。

pfnSetTransform

設定轉換的驅動程式指標 SetTransform 函式。

pfnSetViewport

驅動程式的指標 SetViewport 函式,可通知防護區感知驅動程序檢視裁剪矩形。

pfnSetZRange

驅動程式指標 SetZRange 函式,告知驅動程式 z 值的範圍。

pfnSetMaterial

驅動程式的指標 SetMaterial 函式,可設定系統上裝置用來在轉譯期間建立所需效果的材料屬性。

pfnSetLight

驅動程式的指標 SetLight 函式,可設定光源的屬性。

pfnCreateLight

建立光源的驅動程式指標 CreateLight 函式。

pfnDestroyLight

停用光源的驅動程式指標 DestroyLight 函式。

pfnSetClipPlane

設定剪輯平面的驅動程式指標 SetClipPlane 函式。

pfnGetInfo

驅動程式指標 GetInfo 函式,可擷取裝置的相關信息。

pfnLock

驅動程式的指標 Lock 函式,可鎖定資源或資源內的介面。

pfnUnlock

驅動程式 解除鎖定 函式的指標,該函式會解除鎖定先前鎖定 鎖定 函式的資源內的資源或介面。

pfnCreateResource

建立資源的驅動程式指標 CreateResource 函式。

pfnDestroyResource

驅動程式的指標 DestroyResource 函式,會釋放建立 CreateResource 函式的資源。

pfnSetDisplayMode

驅動程式的指標 SetDisplayMode 函式,可設定顯示介面。

pfnPresent

驅動程式的指標 Present 函式,要求複製或翻轉顯示來源介面。

pfnFlush

使用者模式顯示驅動程式的指標 Flush 函式,會將硬體命令緩衝區中的未處理硬體命令提交到顯示迷你埠驅動程式。

pfnCreateVertexShaderFunc

驅動程式的指標 CreateVertexShaderFunc 函式,可將頂點著色器程式代碼轉換成硬體特定格式,並將此程式代碼與指定的著色器句柄產生關聯。

pfnDeleteVertexShaderFunc

驅動程式的指標 DeleteVertexShaderFunc 函式,可清除與頂點著色器程式代碼相關聯的驅動程式端資源。

pfnSetVertexShaderFunc

驅動程式的指標 SetVertexShaderFunc 函式,可設定頂點著色器程序代碼,讓所有後續的繪圖作業都使用該程序代碼。

pfnCreateVertexShaderDecl

驅動程式的指標 CreateVertexShaderDecl 函式,可將頂點著色器宣告轉換成硬體特定格式,並將此宣告與指定的著色器句柄產生關聯。

pfnDeleteVertexShaderDecl

驅動程式的指標 DeleteVertexShaderDecl 函式,可清除與頂點著色器宣告相關聯的驅動程式端資源。

pfnSetVertexShaderDecl

驅動程式的指標 SetVertexShaderDecl 函式,可設定頂點著色器宣告,讓所有後續的繪圖作業都使用該宣告。

pfnSetVertexShaderConstI

驅動程式指標 SetVertexShaderConstI 函式,該函式會設定一或多個頂點著色器常數以整數值緩存器。

pfnSetVertexShaderConstB

驅動程式指標 SetVertexShaderConstB 函式,該函式會設定一或多個頂點著色器常數緩存器與布爾值。

pfnSetScissorRect

驅動程式的指標 SetScissorRect 函式,這個函式會標示轉譯限制的轉譯目標的一部分。

pfnSetStreamSource

驅動程式的指標 SetStreamSource 函式,將頂點數據流來源的一部分系結至頂點緩衝區。

pfnSetStreamSourceFreq

驅動程式的指標 SetStreamSourceFreq 函式,可設定系結至頂點緩衝區之數據流來源的頻率除數。

pfnSetConvolutionKernelMono

設定單色卷積核心的驅動程式指標 SetConvolutionKernelMono 函式。

pfnComposeRects

驅動程式 ComposeRects 函式的指標,該函式會組成矩形區域。

pfnBlt

驅動程式的指標 Blt 函式,可將來源介面的內容複製到目的地介面。

pfnColorFill

驅動程式 ColorFill 函式的指標,該函式會以特定A8R8G8B8色彩填滿表面的矩形區域。

pfnDepthFill

驅動程式的指標 DepthFill 函式,該函式會以原生格式指定的圖元值填滿深度緩衝區。

pfnCreateQuery

驅動程式的指標 CreateQuery 函式,此函式會建立 Direct3D 運行時間後續問題處理之查詢的驅動程式端資源。

pfnDestroyQuery

驅動程式的指標 DestroyQuery 函式,會釋放建立 CreateQuery 函式之查詢的資源。

pfnIssueQuery

驅動程式 IssueQuery 函式的指標,此函式會處理建立 CreateQuery 函式的查詢。

pfnGetQueryData

會擷取查詢相關信息的驅動程式指標 GetQueryData 函式。

pfnSetRenderTarget

驅動程式的指標 SetRenderTarget 函式,會在驅動程式的內容中設定轉譯目標介面。

pfnSetDepthStencil

驅動程式的指標 SetDepthStencil 函式,可設定驅動程序內容中的深度緩衝區。

pfnGenerateMipSubLevels

驅動程式的指標 GenerateMipSubLevels 函式,可重新產生 MIP 地圖紋理的子層級。

pfnSetPixelShaderConstI

驅動程式的指標 SetPixelShaderConstI 函式,可設定一或多個圖元著色器常數以整數值緩存器。

pfnSetPixelShaderConstB

驅動程式的指標 SetPixelShaderConstB 函式,該函式會設定一或多個圖元著色器常數緩存器與布爾值。

pfnCreatePixelShader

驅動程式的指標 CreatePixelShader 函式,可將圖元著色器程式代碼轉換成硬體特定格式,並將此程式代碼與著色器控點產生關聯。

pfnDeletePixelShader

驅動程式指標 DeletePixelShader 函式,可清除與圖元著色器程式代碼相關聯的驅動程式端資源。

pfnCreateDecodeDevice

驅動程式的指標 CreateDecodeDevice 函式,該函式會從提供的參數建立Microsoft DirectX 影片加速 (VA) 譯碼裝置的表示法。

pfnDestroyDecodeDevice

驅動程式的指標 DestroyDecodeDevice 函式,可釋放 DirectX VA 譯碼裝置的資源。

pfnSetDecodeRenderTarget

驅動程式的指標 SetDecodeRenderTarget 函式,可設定譯碼的轉譯目標。 SetDecodeRenderTarget 只能在 decodeBeginFrame/DecodeEndFrame 區塊之外呼叫。

pfnDecodeBeginFrame

驅動程式的指標 DecodeBeginFrame 函式,表示可以開始譯碼框架。

pfnDecodeEndFrame

驅動程式 DecodeEndFrame 函式的指標,表示必須完成框架譯碼作業。

pfnDecodeExecute

執行 DirectX VA 譯碼作業的驅動程式指標 DecodeExecute 函式。 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

驅動程式的指標 UpdateOverlay 函式,可重新設定或移動所顯示的重疊。

pfnFlipOverlay

驅動程式的指標 FlipOverlay 函式,導致重疊硬體開始顯示新的配置。

pfnGetOverlayColorControls

驅動程式的指標 GetOverlayColorControls 函式,可擷取重疊的色彩控制設定。

pfnSetOverlayColorControls

驅動程式的指標 SetOverlayColorControls 函式,會變更重疊的色彩控制設定。

pfnDestroyOverlay

驅動程式的指標 DestroyOverlay 函式,可停用重迭硬體並釋放重疊控點。

pfnDestroyDevice

驅動程式的指標 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

驅動程式的指標 CreateAuthenticatedChannel 函式,該函式會建立 Direct3D 運行時間和驅動程式可用來設定和查詢保護的通道。

pfnAuthenticatedChannelKeyExchange

驅動程式的指標 AuthenticatedChannelKeyExchange 函式,可交涉會話密鑰。

pfnQueryAuthenticatedChannel

驅動程式的指標 QueryAuthenticatedChannel 函式,可查詢已驗證的通道以取得功能和狀態資訊。

pfnConfigureAuthenticatedChannel

驅動程式指標 ConfigureAuthenticatedChannel 函式,可設定已驗證通道內的狀態。

pfnDestroyAuthenticatedChannel

驅動程式的指標 DestroyAuthenticatedChannel 函式,可釋放已驗證通道的資源。

pfnCreateCryptoSession

建立加密會話的驅動程式指標 CreateCryptoSession 函式。

pfnCryptoSessionKeyExchange

驅動程式的指標 CryptoSessionKeyExchange 函式,會在加密會話期間執行密鑰交換。

pfnDestroyCryptoSession

驅動程式的指標 DestroyCryptoSession 函式,可釋放加密會話的資源。

pfnEncryptionBlt

驅動程式的指標 EncryptionBlt 函式,可執行加密的 bitblt 作業。

pfnGetPitch

驅動程式的指標 GetPitch 函式,可擷取加密表面的音調。

pfnStartSessionKeyRefresh

驅動程式的指標 StartSessionKeyRefresh 函式,將目前的視訊會話設定為受保護的模式。

pfnFinishSessionKeyRefresh

驅動程式的指標 FinishSessionKeyRefresh 函式,將目前的視訊會話設定為未受保護的模式。

pfnGetEncryptionBltKey

驅動程式指標 GetEncryptionBltKey 函式,可擷取加密 bitblt 會話的密鑰。

pfnDecryptionBlt

驅動程式的指標 DecryptionBlt 函式,會將數據寫入受保護的介面。

pfnResolveSharedResource

驅動程式的指標 ResolveSharedResource 函式,可解析共享資源。

pfnVolBlt1

驅動程式的指標 VolBlt1 函式,可執行磁碟區位區塊傳輸 (bitblt) 作業。

從 Windows 8 開始支援。

pfnBufBlt1

驅動程式的指標 BufBlt1 函式,可執行位區塊傳輸 (bitblt) 作業。

從 Windows 8 開始支援。

pfnTexBlt1

驅動程式的指標 TexBlt1 函式,可執行紋理位區塊傳輸 (bitblt) 作業。

從 Windows 8 開始支援。

pfnDiscard

驅動程式的指標 Discard 函式,會從視訊顯示記憶體捨棄一組子資源(收回)。

從 Windows 8 開始支援。

pfnOfferResources

驅動程式指標 OfferResources 函式,要求使用者模式顯示驅動程式提供視訊記憶體資源以供重複使用。

從 Windows 8 開始支援。

pfnReclaimResources

驅動程式的指標 ReclaimResources 函式,此函式是由 Direct3D 運行時間呼叫,以回收先前提供以供重複使用的視訊記憶體資源。

從 Windows 8 開始支援。

pfnCheckDirectFlipSupport

驅動程式的指標 CheckDirectFlipSupport 函式,由 DWM 呼叫,以確認使用者模式驅動程式是否支援 Direct Flip 作業。

從 Windows 8 開始支援。

pfnCreateResource2

建立資源的驅動程式指標 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 函式,會通知使用者模式顯示驅動程式,如果自上次呼叫 pfnSetMarker 之後,任何 GPU 工作都已完成,就必須產生新的時間戳。

從 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