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 函式的指標,可設定受管理紋理的從記憶體收回優先順序。
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 必須在DecodeBeginFrameDecodeEndFrame/區塊內呼叫。
pfnDecodeExtensionExecute
驅動程式 DecodeExtensionExecute 函式的指標,可執行非標準 DirectX VA 譯碼作業。 DecodeExtensionExecute 必須在 DecodeBeginFrame/DecodeEndFrame 區塊內呼叫。
pfnCreateVideoProcessDevice
驅動程式 CreateVideoProcessDevice 函式的指標,可從提供的參數建立 DirectX VA 視訊處理裝置的表示法。
pfnDestroyVideoProcessDevice
驅動程式 DestroyVideoProcessDevice 函式的指標,可釋放 DirectX VA 視訊處理裝置的資源。
pfnVideoProcessBeginFrame
驅動程式 VideoProcessBeginFrame 函式的指標,指出畫面的視訊處理可以開始。
pfnVideoProcessEndFrame
驅動程式 VideoProcessEndFrame 函式的指標,指出必須完成視訊處理作業。
pfnSetVideoProcessRenderTarget
驅動程式 SetVideoProcessRenderTarget 函式的指標,可設定視訊處理的轉譯目標。 SetVideoProcessRenderTarget 只能在 VideoProcessBeginFrameVideoProcessEndFrame/ 區塊之外呼叫。
pfnVideoProcessBlt
處理 DirectX VA 視訊之驅動程式 VideoProcessBlt 函式的指標。 VideoProcessBlt 必須在 VideoProcessBeginFrameVideoProcessEndFrame/ 區塊內呼叫。
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
驅動程式 Rename 函式的指標,此函式會以新的配置、資源或資源內的介面重新命名。
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
執行加密 bitblt 作業之驅動程式 EncryptionBlt 函式的指標。
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
Direct3D 運行時間呼叫的驅動程式 ReclaimResources 函式指標,可回收先前提供給重複使用的視訊記憶體資源。
從 Windows 8 開始支援。
pfnCheckDirectFlipSupport
由 DWM 呼叫的驅動程式 CheckDirectFlipSupport 函式指標,以確認使用者模式驅動程式是否支援直接翻轉作業。
從 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
Direct3D 執行時間呼叫的驅動程式 pfnFlush1 函式指標,可將硬體命令緩衝區中的未處理硬體命令提交至顯示迷你埠驅動程式。
從 Windows 8.1 開始支援。
pfnCheckCounterInfo
Direct3D 運行時間呼叫的驅動程式 pfnCheckCounterInfo 函式指標,可判斷與操作計數器相關的全域資訊。
從 Windows 8.1 開始支援。
pfnCheckCounter
Direct3D 運行時間呼叫的驅動程式 pfnCheckCounter 函 式指標,可擷取描述計數器的資訊。
從 Windows 8.1 開始支援。
pfnUpdateSubresourceUP
Direct3D 運行時間呼叫的驅動程式 pfnUpdateSubresourceUP 函式指標,可從來源系統記憶體區域更新目的地子資源區域。
從 Windows 8.1 開始支援。
pfnPresent1
驅動程式 pfnPresent1 (D3D) 函式的指標,通知使用者模式顯示驅動程式應用程式已完成轉譯,且已釋放共用資源的所有擁有權,以及要求驅動程式向目的地介面顯示。
從 Windows 8.1 開始支援。
pfnCheckPresentDurationSupport
Direct3D 運行時間呼叫的驅動程式 CheckPresentDurationSupport 函式指標,要求使用者模式顯示驅動程式取得硬體裝置功能,以便順暢地切換至新的監視器重新整理速率。
從 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) |