D3D10DDI_DEVICEFUNCS 結構 (d3d10umddi.h)

D3D10DDI_DEVICEFUNCS 結構包含使用者模式顯示驅動程式可以實作的函式,以轉譯圖形基本類型和處理狀態變更。

語法

typedef struct D3D10DDI_DEVICEFUNCS {
  PFND3D10DDI_RESOURCEUPDATESUBRESOURCEUP               pfnDefaultConstantBufferUpdateSubresourceUP;
  PFND3D10DDI_SETCONSTANTBUFFERS                        pfnVsSetConstantBuffers;
  PFND3D10DDI_SETSHADERRESOURCES                        pfnPsSetShaderResources;
  PFND3D10DDI_SETSHADER                                 pfnPsSetShader;
  PFND3D10DDI_SETSAMPLERS                               pfnPsSetSamplers;
  PFND3D10DDI_SETSHADER                                 pfnVsSetShader;
  PFND3D10DDI_DRAWINDEXED                               pfnDrawIndexed;
  PFND3D10DDI_DRAW                                      pfnDraw;
  PFND3D10DDI_RESOURCEMAP                               pfnDynamicIABufferMapNoOverwrite;
  PFND3D10DDI_RESOURCEUNMAP                             pfnDynamicIABufferUnmap;
  PFND3D10DDI_RESOURCEMAP                               pfnDynamicConstantBufferMapDiscard;
  PFND3D10DDI_RESOURCEMAP                               pfnDynamicIABufferMapDiscard;
  PFND3D10DDI_RESOURCEUNMAP                             pfnDynamicConstantBufferUnmap;
  PFND3D10DDI_SETCONSTANTBUFFERS                        pfnPsSetConstantBuffers;
  PFND3D10DDI_SETINPUTLAYOUT                            pfnIaSetInputLayout;
  PFND3D10DDI_IA_SETVERTEXBUFFERS                       pfnIaSetVertexBuffers;
  PFND3D10DDI_IA_SETINDEXBUFFER                         pfnIaSetIndexBuffer;
  PFND3D10DDI_DRAWINDEXEDINSTANCED                      pfnDrawIndexedInstanced;
  PFND3D10DDI_DRAWINSTANCED                             pfnDrawInstanced;
  PFND3D10DDI_RESOURCEMAP                               pfnDynamicResourceMapDiscard;
  PFND3D10DDI_RESOURCEUNMAP                             pfnDynamicResourceUnmap;
  PFND3D10DDI_SETCONSTANTBUFFERS                        pfnGsSetConstantBuffers;
  PFND3D10DDI_SETSHADER                                 pfnGsSetShader;
  PFND3D10DDI_IA_SETTOPOLOGY                            pfnIaSetTopology;
  PFND3D10DDI_RESOURCEMAP                               pfnStagingResourceMap;
  PFND3D10DDI_RESOURCEUNMAP                             pfnStagingResourceUnmap;
  PFND3D10DDI_SETSHADERRESOURCES                        pfnVsSetShaderResources;
  PFND3D10DDI_SETSAMPLERS                               pfnVsSetSamplers;
  PFND3D10DDI_SETSHADERRESOURCES                        pfnGsSetShaderResources;
  PFND3D10DDI_SETSAMPLERS                               pfnGsSetSamplers;
  PFND3D10DDI_SETRENDERTARGETS                          pfnSetRenderTargets;
  PFND3D10DDI_SHADERRESOURCEVIEWREADAFTERWRITEHAZARD    pfnShaderResourceViewReadAfterWriteHazard;
  PFND3D10DDI_RESOURCEREADAFTERWRITEHAZARD              pfnResourceReadAfterWriteHazard;
  PFND3D10DDI_SETBLENDSTATE                             pfnSetBlendState;
  PFND3D10DDI_SETDEPTHSTENCILSTATE                      pfnSetDepthStencilState;
  PFND3D10DDI_SETRASTERIZERSTATE                        pfnSetRasterizerState;
  PFND3D10DDI_QUERYEND                                  pfnQueryEnd;
  PFND3D10DDI_QUERYBEGIN                                pfnQueryBegin;
  PFND3D10DDI_RESOURCECOPYREGION                        pfnResourceCopyRegion;
  PFND3D10DDI_RESOURCEUPDATESUBRESOURCEUP               pfnResourceUpdateSubresourceUP;
  PFND3D10DDI_SO_SETTARGETS                             pfnSoSetTargets;
  PFND3D10DDI_DRAWAUTO                                  pfnDrawAuto;
  PFND3D10DDI_SETVIEWPORTS                              pfnSetViewports;
  PFND3D10DDI_SETSCISSORRECTS                           pfnSetScissorRects;
  PFND3D10DDI_CLEARRENDERTARGETVIEW                     pfnClearRenderTargetView;
  PFND3D10DDI_CLEARDEPTHSTENCILVIEW                     pfnClearDepthStencilView;
  PFND3D10DDI_SETPREDICATION                            pfnSetPredication;
  PFND3D10DDI_QUERYGETDATA                              pfnQueryGetData;
  PFND3D10DDI_FLUSH                                     pfnFlush;
  PFND3D10DDI_GENMIPS                                   pfnGenMips;
  PFND3D10DDI_RESOURCECOPY                              pfnResourceCopy;
  PFND3D10DDI_RESOURCERESOLVESUBRESOURCE                pfnResourceResolveSubresource;
  PFND3D10DDI_RESOURCEMAP                               pfnResourceMap;
  PFND3D10DDI_RESOURCEUNMAP                             pfnResourceUnmap;
  PFND3D10DDI_RESOURCEISSTAGINGBUSY                     pfnResourceIsStagingBusy;
  PFND3D10DDI_RELOCATEDEVICEFUNCS                       pfnRelocateDeviceFuncs;
  PFND3D10DDI_CALCPRIVATERESOURCESIZE                   pfnCalcPrivateResourceSize;
  PFND3D10DDI_CALCPRIVATEOPENEDRESOURCESIZE             pfnCalcPrivateOpenedResourceSize;
  PFND3D10DDI_CREATERESOURCE                            pfnCreateResource;
  PFND3D10DDI_OPENRESOURCE                              pfnOpenResource;
  PFND3D10DDI_DESTROYRESOURCE                           pfnDestroyResource;
  PFND3D10DDI_CALCPRIVATESHADERRESOURCEVIEWSIZE         pfnCalcPrivateShaderResourceViewSize;
  PFND3D10DDI_CREATESHADERRESOURCEVIEW                  pfnCreateShaderResourceView;
  PFND3D10DDI_DESTROYSHADERRESOURCEVIEW                 pfnDestroyShaderResourceView;
  PFND3D10DDI_CALCPRIVATERENDERTARGETVIEWSIZE           pfnCalcPrivateRenderTargetViewSize;
  PFND3D10DDI_CREATERENDERTARGETVIEW                    pfnCreateRenderTargetView;
  PFND3D10DDI_DESTROYRENDERTARGETVIEW                   pfnDestroyRenderTargetView;
  PFND3D10DDI_CALCPRIVATEDEPTHSTENCILVIEWSIZE           pfnCalcPrivateDepthStencilViewSize;
  PFND3D10DDI_CREATEDEPTHSTENCILVIEW                    pfnCreateDepthStencilView;
  PFND3D10DDI_DESTROYDEPTHSTENCILVIEW                   pfnDestroyDepthStencilView;
  PFND3D10DDI_CALCPRIVATEELEMENTLAYOUTSIZE              pfnCalcPrivateElementLayoutSize;
  PFND3D10DDI_CREATEELEMENTLAYOUT                       pfnCreateElementLayout;
  PFND3D10DDI_DESTROYELEMENTLAYOUT                      pfnDestroyElementLayout;
  PFND3D10DDI_CALCPRIVATEBLENDSTATESIZE                 pfnCalcPrivateBlendStateSize;
  PFND3D10DDI_CREATEBLENDSTATE                          pfnCreateBlendState;
  PFND3D10DDI_DESTROYBLENDSTATE                         pfnDestroyBlendState;
  PFND3D10DDI_CALCPRIVATEDEPTHSTENCILSTATESIZE          pfnCalcPrivateDepthStencilStateSize;
  PFND3D10DDI_CREATEDEPTHSTENCILSTATE                   pfnCreateDepthStencilState;
  PFND3D10DDI_DESTROYDEPTHSTENCILSTATE                  pfnDestroyDepthStencilState;
  PFND3D10DDI_CALCPRIVATERASTERIZERSTATESIZE            pfnCalcPrivateRasterizerStateSize;
  PFND3D10DDI_CREATERASTERIZERSTATE                     pfnCreateRasterizerState;
  PFND3D10DDI_DESTROYRASTERIZERSTATE                    pfnDestroyRasterizerState;
  PFND3D10DDI_CALCPRIVATESHADERSIZE                     pfnCalcPrivateShaderSize;
  PFND3D10DDI_CREATEVERTEXSHADER                        pfnCreateVertexShader;
  PFND3D10DDI_CREATEGEOMETRYSHADER                      pfnCreateGeometryShader;
  PFND3D10DDI_CREATEPIXELSHADER                         pfnCreatePixelShader;
  PFND3D10DDI_CALCPRIVATEGEOMETRYSHADERWITHSTREAMOUTPUT pfnCalcPrivateGeometryShaderWithStreamOutput;
  PFND3D10DDI_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT      pfnCreateGeometryShaderWithStreamOutput;
  PFND3D10DDI_DESTROYSHADER                             pfnDestroyShader;
  PFND3D10DDI_CALCPRIVATESAMPLERSIZE                    pfnCalcPrivateSamplerSize;
  PFND3D10DDI_CREATESAMPLER                             pfnCreateSampler;
  PFND3D10DDI_DESTROYSAMPLER                            pfnDestroySampler;
  PFND3D10DDI_CALCPRIVATEQUERYSIZE                      pfnCalcPrivateQuerySize;
  PFND3D10DDI_CREATEQUERY                               pfnCreateQuery;
  PFND3D10DDI_DESTROYQUERY                              pfnDestroyQuery;
  PFND3D10DDI_CHECKFORMATSUPPORT                        pfnCheckFormatSupport;
  PFND3D10DDI_CHECKMULTISAMPLEQUALITYLEVELS             pfnCheckMultisampleQualityLevels;
  PFND3D10DDI_CHECKCOUNTERINFO                          pfnCheckCounterInfo;
  PFND3D10DDI_CHECKCOUNTER                              pfnCheckCounter;
  PFND3D10DDI_DESTROYDEVICE                             pfnDestroyDevice;
  PFND3D10DDI_SETTEXTFILTERSIZE                         pfnSetTextFilterSize;
  PFND3D10DDI_RESETPRIMITIVEID                          pfnResetPrimitiveID;
  PFND3D10DDI_SETVERTEXPIPELINEOUTPUT                   pfnSetVertexPipelineOutput;
} D3D10DDI_DEVICEFUNCS;

成員

pfnDefaultConstantBufferUpdateSubresourceUP

驅動程式 DefaultConstantBufferUpdateSubresourceUP 函式的指標。

pfnVsSetConstantBuffers

驅動程式 VsSetConstantBuffers 函式的指標。

pfnPsSetShaderResources

驅動程式 PsSetShaderResources 函式的指標。

pfnPsSetShader

驅動程式 PsSetShader 函式的指標。

pfnPsSetSamplers

驅動程式 PsSetSamplers 函 式的指標。

pfnVsSetShader

驅動程式 VsSetShader 函式的指標。

pfnDrawIndexed

驅動程式 DrawIndexed 函式 的指標。

pfnDraw

驅動程式的 Draw 函式指標。

pfnDynamicIABufferMapNoOverwrite

驅動程式 ResourceMap 函式的指標。 如需如何實作個別 DynamicIABufferMapNoOverwrite 函式或指向多用途 ResourceMap 的詳細資訊,請參閱 ResourceMap 的一節。

pfnDynamicIABufferUnmap

驅動程式 ResourceUnmap 函式的指標。 如需如何實作個別 DynamicIABufferUnmap 函式或指向多重用途 ResourceUnmap 的詳細資訊,請參閱 ResourceMap 的一節。

pfnDynamicConstantBufferMapDiscard

驅動程式 ResourceMap 函式的指標。 如需如何實作個別 DynamicConstantBufferMapDiscard 函式或指向多重用途 ResourceMap 的詳細資訊,請參閱 ResourceMap 的一節。

pfnDynamicIABufferMapDiscard

驅動程式 ResourceMap 函式的指標。 如需如何實作個別 DynamicIABufferMapDiscard 函式或指向 multipurpose ResourceMap 的詳細資訊,請參閱 ResourceMap 的一節。

pfnDynamicConstantBufferUnmap

驅動程式 ResourceUnmap 函式的指標。 如需如何實作個別 DynamicConstantBufferUnmap 函式或指向 Multipurpose ResourceUnmap 的詳細資訊,請參閱 ResourceMap 的一節。

pfnPsSetConstantBuffers

驅動程式 PsSetConstantBuffers 函式的指標。

pfnIaSetInputLayout

驅動程式 的 IaSetInputLayout 函式指標。

pfnIaSetVertexBuffers

驅動程式 的 IaSetVertexBuffers 函式指標。

pfnIaSetIndexBuffer

驅動程式 的 IaSetIndexBuffer 函式指標。

pfnDrawIndexedInstanced

驅動程式 DrawIndexedInstanced 函式的 指標。

pfnDrawInstanced

驅動程式 DrawInstanced 函式 的指標。

pfnDynamicResourceMapDiscard

驅動程式 ResourceMap 函式的指標。 如需如何實作個別 DynamicResourceMapDiscard 函式或指向多用途 ResourceMap 的詳細資訊,請參閱 ResourceMap 的一節。

pfnDynamicResourceUnmap

驅動程式 ResourceUnmap 函式的指標。 如需如何實作個別 DynamicResourceUnmap 函式或指向 Multipurpose ResourceUnmap 的詳細資訊,請參閱 ResourceUnmap 的一節。

pfnGsSetConstantBuffers

驅動程式 GsSetConstantBuffers 函式的指標。

pfnGsSetShader

驅動程式 GsSetShader 函式的指標。

pfnIaSetTopology

驅動程式 的 IaSetTopology 函式指標。

pfnStagingResourceMap

驅動程式 ResourceMap 函式的指標。 如需如何實作個別 StagingResourceMap 函式或指向多用途 ResourceMap 的詳細資訊,請參閱 ResourceMap 的一節。

pfnStagingResourceUnmap

驅動程式 ResourceUnmap 函式的指標。 如需如何實作個別 的 StagingResourceUnmap 函式或指向 Multipurpose ResourceUnmap 的詳細資訊,請參閱 ResourceMap 的一節。

pfnVsSetShaderResources

驅動程式 VsSetShaderResources 函式的指標。

pfnVsSetSamplers

驅動程式 VsSetSamplers 函式的指標。

pfnGsSetShaderResources

驅動程式 GsSetShaderResources 函式的指標。

pfnGsSetSamplers

驅動程式 GsSetSamplers 函式的指標。

pfnSetRenderTargets

驅動程式 SetRenderTargets 函式的指標。

pfnShaderResourceViewReadAfterWriteHazard

驅動程式 著色器ResourceViewReadAfterWriteHazard 函式的指標。

pfnResourceReadAfterWriteHazard

驅動程式 ResourceReadAfterWriteHazard 函式的指標。

pfnSetBlendState

驅動程式 SetBlendState 函式的指標。

pfnSetDepthStencilState

驅動程式 SetDepthStencilState 函式的指標。

pfnSetRasterizerState

驅動程式 SetRasterizerState 函式的指標。

pfnQueryEnd

驅動程式 QueryEnd 函式的指標。

pfnQueryBegin

驅動程式 QueryBegin 函式的指標。

pfnResourceCopyRegion

驅動程式 ResourceCopyRegion 函式 的指標。

pfnResourceUpdateSubresourceUP

驅動程式 ResourceUpdateSubresourceUP 函式的指標。

pfnSoSetTargets

驅動程式 SoSetTargets 函式的指標。

pfnDrawAuto

驅動程式 的 DrawAuto 函式指標。

pfnSetViewports

驅動程式 SetViewports 函式的指標。

pfnSetScissorRects

驅動程式 SetScissorRects 函式的指標。

pfnClearRenderTargetView

驅動程式 ClearRenderTargetView 函式的指標。

pfnClearDepthStencilView

驅動程式 ClearDepthStencilView 函式的指標。

pfnSetPredication

驅動程式 SetPredication 函式的指標。

pfnQueryGetData

驅動程式 QueryGetData 函式的指標。

pfnFlush

驅動程式 Flush (D3D10) 函式的指標。

pfnGenMips

驅動程式 之 GenMips 函式的指標。

pfnResourceCopy

驅動程式 ResourceCopy 函式的指標。

pfnResourceResolveSubresource

驅動程式 ResourceResolveSubresource 函式的指標。

pfnResourceMap

驅動程式 ResourceMap 函式的指標。

pfnResourceUnmap

驅動程式 ResourceUnmap 函式的指標。

pfnResourceIsStagingBusy

驅動程式 ResourceIsStagingBusy 函式 的指標。

pfnRelocateDeviceFuncs

驅動程式 之 RelocateDeviceFuncs 函式 的指標。

pfnCalcPrivateResourceSize

驅動程式 的 CalcPrivateResourceSize 函式指標。

pfnCalcPrivateOpenedResourceSize

驅動程式 的 CalcPrivateOpenedResourceSize 函式的指標。

pfnCreateResource

驅動程式 CreateResource (D3D10) 函式的指標。

pfnOpenResource

驅動程式 OpenResource (D3D10) 函式的指標。

pfnDestroyResource

驅動程式 DestroyResource (D3D10) 函式的指標。

pfnCalcPrivateShaderResourceViewSize

驅動程式 的 CalcPrivateShaderResourceViewSize 函式的指標。

pfnCreateShaderResourceView

驅動程式 CreateShaderResourceView 函式的指標。

pfnDestroyShaderResourceView

驅動程式 DestroyShaderResourceView 函式的指標。

pfnCalcPrivateRenderTargetViewSize

驅動程式 的 CalcPrivateRenderTargetViewSize 函式指標。

pfnCreateRenderTargetView

驅動程式 CreateRenderTargetView 函式的指標。

pfnDestroyRenderTargetView

驅動程式 DestroyRenderTargetView 函式的指標。

pfnCalcPrivateDepthStencilViewSize

驅動程式 的 CalcPrivateDepthStencilViewSize 函式的指標。

pfnCreateDepthStencilView

驅動程式 CreateDepthStencilView 函式的指標。

pfnDestroyDepthStencilView

驅動程式 DestroyDepthStencilView 函式的指標。

pfnCalcPrivateElementLayoutSize

驅動程式 的 CalcPrivateElementLayoutSize 函式指標。

pfnCreateElementLayout

驅動程式 CreateElementLayout 函式的指標。

pfnDestroyElementLayout

驅動程式 DestroyElementLayout 函式的指標。

pfnCalcPrivateBlendStateSize

驅動程式 的 CalcPrivateBlendStateSize 函式指標。

pfnCreateBlendState

驅動程式 CreateBlendState 函式的指標。

pfnDestroyBlendState

驅動程式 DestroyBlendState 函式的指標。

pfnCalcPrivateDepthStencilStateSize

驅動程式 的 CalcPrivateDepthStencilStateSize 函式的指標。

pfnCreateDepthStencilState

驅動程式 CreateDepthStencilState 函式的指標。

pfnDestroyDepthStencilState

驅動程式 DestroyDepthStencilState 函式的指標。

pfnCalcPrivateRasterizerStateSize

驅動程式 的 CalcPrivateRasterizerStateSize 函 式的指標。

pfnCreateRasterizerState

驅動程式 CreateRasterizerState 函式的指標。

pfnDestroyRasterizerState

驅動程式 DestroyRasterizerState 函式的指標。

pfnCalcPrivateShaderSize

驅動程式 的 CalcPrivateShaderSize 函式指標。

pfnCreateVertexShader

驅動程式 CreateVertexShader (D3D10) 函式的指標。

pfnCreateGeometryShader

驅動程式 CreateGeometryShader 函式的指標。

pfnCreatePixelShader

驅動程式 CreatePixelShader (D3D10) 函式的指標。

pfnCalcPrivateGeometryShaderWithStreamOutput

驅動程式的 CalcPrivateGeometryShaderWithStreamOutput 函式的指標。

pfnCreateGeometryShaderWithStreamOutput

驅動程式 CreateGeometryShaderWithStreamOutput 函式的指標。

pfnDestroyShader

驅動程式 DestroyShader 函式的指標。

pfnCalcPrivateSamplerSize

驅動程式 的 CalcPrivateSamplerSize 函式指標。

pfnCreateSampler

驅動程式 的 CreateSampler 函式指標。

pfnDestroySampler

驅動程式 的DestroySampler 函式指標。

pfnCalcPrivateQuerySize

驅動程式 的 CalcPrivateQuerySize 函式指標。

pfnCreateQuery

驅動程式 的 CreateQuery (D3D10) 函式的指標。

pfnDestroyQuery

驅動程式 的DestroyQuery (D3D10) 函式的指標。

pfnCheckFormatSupport

驅動程式 CheckFormatSupport 函式的指標。

pfnCheckMultisampleQualityLevels

驅動程式 CheckMultisampleQualityLevels 函式的指標。

pfnCheckCounterInfo

驅動程式 CheckCounterInfo 函式的指標。

pfnCheckCounter

驅動程式 CheckCounter 函式的指標。

pfnDestroyDevice

驅動程式 DestroyDevice (D3D10) 函式的指標。

pfnSetTextFilterSize

驅動程式 SetTextFilterSize 函式的指標。

pfnResetPrimitiveID

pfnSetVertexPipelineOutput

備註

使用者模式顯示驅動程式函式 (的順序,也就是D3D10DDI_DEVICEFUNCS結構) 成員的順序會降低效能) 的優先順序 (順序。

使用者模式顯示驅動程式可以針對這些函式使用不同的名稱,因為函式數據表的位址 (此結構) 會在 Direct3D 10 運行時間與驅動程式之間透過呼叫驅動程式的 CreateDevice (D3D10) 函式共用。

pfnResetPrimitiveIDpfnSetVertexPipelineOutput 成員 (此處未顯示) ,而且其數據類型會保留供系統使用,且不應在驅動程式中使用。

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。
標頭 d3d10umddi.h (include D3d10umddi.h)

另請參閱

CreateDevice (D3D10)

D3D10DDIARG_CREATEDEVICE