D3DDDI_DEVICEFUNCS structure (d3dumddi.h)
The D3DDDI_DEVICEFUNCS structure contains functions that the user-mode display driver can implement to render graphics primitives and process state changes.
Syntax
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;
Members
pfnSetRenderState
A pointer to the driver SetRenderState function that updates the render state.
pfnUpdateWInfo
A pointer to the driver UpdateWInfo function that updates the w range for w buffering.
pfnValidateDevice
A pointer to the driver ValidateDevice function that returns the number of passes in which the hardware can perform the blending operations that are specified in the current state.
pfnSetTextureStageState
A pointer to the driver SetTextureStageState function that updates the state of a texture at a particular stage in a multiple-texture group.
pfnSetTexture
A pointer to the driver SetTexture function that sets a texture to a particular stage in a multiple-texture group.
pfnSetPixelShader
A pointer to the driver SetPixelShader function that sets the current pixel shader.
pfnSetPixelShaderConst
A pointer to the driver SetPixelShaderConst function that sets one or more pixel shader constant registers with float values.
pfnSetStreamSourceUm
A pointer to the driver SetStreamSourceUM function that binds a vertex stream source to a user memory buffer.
pfnSetIndices
A pointer to the driver SetIndices function that sets the current index buffer.
pfnSetIndicesUm
A pointer to the driver SetIndicesUM function that binds an index buffer to a user memory buffer.
pfnDrawPrimitive
A pointer to the driver DrawPrimitive function that draws nonindexed primitives in which the Microsoft Direct3D runtime has not transformed the vertex data.
pfnDrawIndexedPrimitive
A pointer to the driver DrawIndexedPrimitive function that draws indexed primitives in which the Direct3D runtime has not transformed the vertex data.
pfnDrawRectPatch
A pointer to the driver DrawRectPatch function that draws a new or cached rectangular patch or updates the specification of a previously defined patch.
pfnDrawTriPatch
A pointer to the driver DrawTriPatch function that draws a new or cached triangular patch or updates the specification of a previously defined patch.
pfnDrawPrimitive2
A pointer to the driver DrawPrimitive2 function that draws nonindexed primitives in which the Direct3D runtime has transformed the vertex data.
pfnDrawIndexedPrimitive2
A pointer to the driver DrawIndexedPrimitive2 function that draws indexed primitives in which the Direct3D runtime has transformed the vertex data.
pfnVolBlt
A pointer to the driver VolBlt function that performs a bit-block transfer (bitblt) from a source volume texture to a destination volume texture.
pfnBufBlt
A pointer to the driver BufBlt function that performs a bitblt from a source vertex or index buffer to a destination vertex or index buffer.
pfnTexBlt
A pointer to the driver TexBlt function that performs a bitblt from a source texture to a destination texture.
pfnStateSet
A pointer to the driver StateSet function that performs a state-set operation.
pfnSetPriority
A pointer to the driver SetPriority function that sets the eviction-from-memory priority for a managed texture.
pfnClear
A pointer to the driver Clear function that performs hardware-assisted clearing on the rendering target, depth buffer, or stencil buffer.
pfnUpdatePalette
A pointer to the driver UpdatePalette function that updates a texture palette.
pfnSetPalette
A pointer to the driver SetPalette function that sets the palette for a texture.
pfnSetVertexShaderConst
A pointer to the driver SetVertexShaderConst function that sets one or more vertex shader constant registers with float values.
pfnMultiplyTransform
A pointer to the driver MultiplyTransform function that multiplies a current transform.
pfnSetTransform
A pointer to the driver SetTransform function that sets up a transform.
pfnSetViewport
A pointer to the driver SetViewport function that informs guard-band aware drivers of the view-clipping rectangle.
pfnSetZRange
A pointer to the driver SetZRange function that informs the driver about the range of z values.
pfnSetMaterial
A pointer to the driver SetMaterial function that sets the material properties that devices on the system use to create the required effect during rendering.
pfnSetLight
A pointer to the driver SetLight function that sets properties for a light source.
pfnCreateLight
A pointer to the driver CreateLight function that creates a light source.
pfnDestroyLight
A pointer to the driver DestroyLight function that deactivates a light source.
pfnSetClipPlane
A pointer to the driver SetClipPlane function that sets a clip plane.
pfnGetInfo
A pointer to the driver GetInfo function that retrieves information about the device.
pfnLock
A pointer to the driver Lock function that locks a resource or a surface within the resource.
pfnUnlock
A pointer to the driver Unlock function that unlocks a resource or a surface within the resource that the Lock function previously locked.
pfnCreateResource
A pointer to the driver CreateResource function that creates a resource.
pfnDestroyResource
A pointer to the driver DestroyResource function that releases the resource that the CreateResource function created.
pfnSetDisplayMode
A pointer to the driver SetDisplayMode function that sets a surface for displaying.
pfnPresent
A pointer to the driver Present function that requests that the source surface be displayed by either copying or flipping.
pfnFlush
A pointer to the user-mode display driver Flush function that submits outstanding hardware commands that are in the hardware command buffer to the display miniport driver.
pfnCreateVertexShaderFunc
A pointer to the driver CreateVertexShaderFunc function that converts the vertex shader code into a hardware-specific format and associates this code with the given shader handle.
pfnDeleteVertexShaderFunc
A pointer to the driver DeleteVertexShaderFunc function that cleans up driver-side resources that are associated with vertex shader code.
pfnSetVertexShaderFunc
A pointer to the driver SetVertexShaderFunc function that sets the vertex shader code so that all of the subsequent drawing operations use that code.
pfnCreateVertexShaderDecl
A pointer to the driver CreateVertexShaderDecl function that converts the vertex shader declaration into a hardware-specific format and associates this declaration with the given shader handle.
pfnDeleteVertexShaderDecl
A pointer to the driver DeleteVertexShaderDecl function that cleans up driver-side resources that are associated with the vertex shader declaration.
pfnSetVertexShaderDecl
A pointer to the driver SetVertexShaderDecl function that sets the vertex shader declaration so that all of the subsequent drawing operations use that declaration.
pfnSetVertexShaderConstI
A pointer to the driver SetVertexShaderConstI function that sets one or more vertex shader constant registers with integer values.
pfnSetVertexShaderConstB
A pointer to the driver SetVertexShaderConstB function that sets one or more vertex shader constant registers with Boolean values.
pfnSetScissorRect
A pointer to the driver SetScissorRect function that marks a portion of a render target to which rendering is restricted.
pfnSetStreamSource
A pointer to the driver SetStreamSource function that binds a portion of a vertex stream source to a vertex buffer.
pfnSetStreamSourceFreq
A pointer to the driver SetStreamSourceFreq function that sets the frequency divisor of a stream source that is bound to a vertex buffer.
pfnSetConvolutionKernelMono
A pointer to the driver SetConvolutionKernelMono function that sets the monochrome convolution kernel.
pfnComposeRects
A pointer to the driver ComposeRects function that composes rectangular areas.
pfnBlt
A pointer to the driver Blt function that copies the contents of a source surface to a destination surface.
pfnColorFill
A pointer to the driver ColorFill function that fills a rectangular area on a surface with a particular A8R8G8B8 color.
pfnDepthFill
A pointer to the driver DepthFill function that fills a depth buffer with a pixel value that is specified in native format.
pfnCreateQuery
A pointer to the driver CreateQuery function that creates driver-side resources for a query that the Direct3D runtime subsequently issues for processing.
pfnDestroyQuery
A pointer to the driver DestroyQuery function that releases resources for the query that the CreateQuery function created.
pfnIssueQuery
A pointer to the driver IssueQuery function that processes the query that the CreateQuery function created.
pfnGetQueryData
A pointer to the driver GetQueryData function that retrieves information about a query.
pfnSetRenderTarget
A pointer to the driver SetRenderTarget function that sets the render target surface in the driver's context.
pfnSetDepthStencil
A pointer to the driver SetDepthStencil function that sets the depth buffer in the driver's context.
pfnGenerateMipSubLevels
A pointer to the driver GenerateMipSubLevels function that regenerates the sublevels of a MIP-map texture.
pfnSetPixelShaderConstI
A pointer to the driver SetPixelShaderConstI function that sets one or more pixel shader constant registers with integer values.
pfnSetPixelShaderConstB
A pointer to the driver SetPixelShaderConstB function that sets one or more pixel shader constant registers with Boolean values.
pfnCreatePixelShader
A pointer to the driver CreatePixelShader function that converts the pixel shader code into a hardware-specific format and associates this code with a shader handle.
pfnDeletePixelShader
A pointer to the driver DeletePixelShader function that cleans up driver-side resources that are associated with pixel shader code.
pfnCreateDecodeDevice
A pointer to the driver CreateDecodeDevice function that creates a representation of a Microsoft DirectX Video Acceleration (VA) decode device from supplied parameters.
pfnDestroyDecodeDevice
A pointer to the driver DestroyDecodeDevice function that releases resources for a DirectX VA decode device.
pfnSetDecodeRenderTarget
A pointer to the driver SetDecodeRenderTarget function that sets the render target for decoding. SetDecodeRenderTarget can be called only outside of a DecodeBeginFrame/DecodeEndFrame block.
pfnDecodeBeginFrame
A pointer to the driver DecodeBeginFrame function that indicates that decoding of a frame can begin.
pfnDecodeEndFrame
A pointer to the driver DecodeEndFrame function that indicates that frame decoding operations must be completed.
pfnDecodeExecute
A pointer to the driver DecodeExecute function that performs a DirectX VA decode operation. DecodeExecute must be called inside a DecodeBeginFrame/DecodeEndFrame block.
pfnDecodeExtensionExecute
A pointer to the driver DecodeExtensionExecute function that performs a nonstandard DirectX VA decode operation. DecodeExtensionExecute must be called inside a DecodeBeginFrame/DecodeEndFrame block.
pfnCreateVideoProcessDevice
A pointer to the driver CreateVideoProcessDevice function that creates a representation of a DirectX VA video processing device from supplied parameters.
pfnDestroyVideoProcessDevice
A pointer to the driver DestroyVideoProcessDevice function that releases resources for a DirectX VA video processing device.
pfnVideoProcessBeginFrame
A pointer to the driver VideoProcessBeginFrame function that indicates that video processing of a frame can begin.
pfnVideoProcessEndFrame
A pointer to the driver VideoProcessEndFrame function that indicates that video processing operations must be completed.
pfnSetVideoProcessRenderTarget
A pointer to the driver SetVideoProcessRenderTarget function that sets the render target for video processing. SetVideoProcessRenderTarget can be called only outside of a VideoProcessBeginFrame/VideoProcessEndFrame block.
pfnVideoProcessBlt
A pointer to the driver VideoProcessBlt function that processes DirectX VA video. VideoProcessBlt must be called inside a VideoProcessBeginFrame/VideoProcessEndFrame block.
pfnCreateExtensionDevice
A pointer to the driver CreateExtensionDevice function that creates a representation of a DirectX VA extension device from supplied parameters.
pfnDestroyExtensionDevice
A pointer to the driver DestroyExtensionDevice function that releases resources for a DirectX VA extension device.
pfnExtensionExecute
A pointer to the driver ExtensionExecute function that performs an operation that is specific to the given DirectX VA extension device.
pfnCreateOverlay
A pointer to the driver CreateOverlay function that allocates overlay hardware and makes the overlay visible.
pfnUpdateOverlay
A pointer to the driver UpdateOverlay function that reconfigures or moves an overlay that is being displayed.
pfnFlipOverlay
A pointer to the driver FlipOverlay function that causes the overlay hardware to start displaying the new allocation.
pfnGetOverlayColorControls
A pointer to the driver GetOverlayColorControls function that retrieves color-control settings for an overlay.
pfnSetOverlayColorControls
A pointer to the driver SetOverlayColorControls function that changes color-control settings for an overlay.
pfnDestroyOverlay
A pointer to the driver DestroyOverlay function that disables the overlay hardware and frees the overlay handle.
pfnDestroyDevice
A pointer to the driver DestroyDevice function that releases resources for the display device.
pfnQueryResourceResidency
A pointer to the driver QueryResourceResidency function that determines the residency of resources.
pfnOpenResource
A pointer to the driver OpenResource function that informs the driver that a shared resource is opened.
pfnGetCaptureAllocationHandle
A pointer to the driver GetCaptureAllocationHandle function that maps the given capture resource to an allocation.
pfnCaptureToSysMem
A pointer to the driver CaptureToSysMem function that copies a capture buffer to a video memory surface.
pfnLockAsync
A pointer to the driver LockAsync function that locks a resource or a surface within the resource.
pfnUnlockAsync
A pointer to the driver UnlockAsync function that unlocks a resource or a surface within the resource that the LockAsync function previously locked.
pfnRename
A pointer to the driver Rename function that renames, with a new allocation, a resource or a surface within the resource.
pfnCreateVideoProcessor
A pointer to the driver CreateVideoProcessor function that creates a video processor.
pfnSetVideoProcessBltState
A pointer to the driver SetVideoProcessBltState function that sets the state of a bitblt for a video processor.
pfnGetVideoProcessBltStatePrivate
A pointer to the driver GetVideoProcessBltStatePrivate function that retrieves the state data of a private bitblt for a video processor.
pfnSetVideoProcessStreamState
A pointer to the driver SetVideoProcessStreamState function that sets the state of a stream for a video processor.
pfnGetVideoProcessStreamStatePrivate
A pointer to the driver GetVideoProcessStreamStatePrivate function that retrieves the private stream-state data for a video processor.
pfnVideoProcessBltHD
A pointer to the driver VideoProcessBltHD function that processes video input streams and composes to an output surface.
pfnDestroyVideoProcessor
A pointer to the driver DestroyVideoProcessor function that releases resources for a previously created video processor.
pfnCreateAuthenticatedChannel
A pointer to the driver CreateAuthenticatedChannel function that creates a channel that the Direct3D runtime and the driver can use to set and query protections.
pfnAuthenticatedChannelKeyExchange
A pointer to the driver AuthenticatedChannelKeyExchange function that negotiates the session key.
pfnQueryAuthenticatedChannel
A pointer to the driver QueryAuthenticatedChannel function that queries an authenticated channel for capability and state information.
pfnConfigureAuthenticatedChannel
A pointer to the driver ConfigureAuthenticatedChannel function that sets the state within an authenticated channel.
pfnDestroyAuthenticatedChannel
A pointer to the driver DestroyAuthenticatedChannel function that releases resources for an authenticated channel.
pfnCreateCryptoSession
A pointer to the driver CreateCryptoSession function that creates an encryption session.
pfnCryptoSessionKeyExchange
A pointer to the driver CryptoSessionKeyExchange function that performs a key exchange during an encryption session.
pfnDestroyCryptoSession
A pointer to the driver DestroyCryptoSession function that releases resources for an encryption session.
pfnEncryptionBlt
A pointer to the driver EncryptionBlt function that performs an encrypted bitblt operation.
pfnGetPitch
A pointer to the driver GetPitch function that retrieves the pitch of an encrypted surface.
pfnStartSessionKeyRefresh
A pointer to the driver StartSessionKeyRefresh function that sets the current video session to protected mode.
pfnFinishSessionKeyRefresh
A pointer to the driver FinishSessionKeyRefresh function that sets the current video session to unprotected mode.
pfnGetEncryptionBltKey
A pointer to the driver GetEncryptionBltKey function that retrieves the key of an encrypted bitblt session.
pfnDecryptionBlt
A pointer to the driver DecryptionBlt function that writes data to a protected surface.
pfnResolveSharedResource
A pointer to the driver ResolveSharedResource function that resolves a shared resource.
pfnVolBlt1
A pointer to the driver VolBlt1 function that performs a volume bit-block transfer (bitblt) operation.
Supported starting with Windows 8.
pfnBufBlt1
A pointer to the driver BufBlt1 function that performs a bit-block transfer (bitblt) operation.
Supported starting with Windows 8.
pfnTexBlt1
A pointer to the driver TexBlt1 function that performs a texture bit-block transfer (bitblt) operation.
Supported starting with Windows 8.
pfnDiscard
A pointer to the driver Discard function that discards (evicts) a set of subresources from video display memory.
Supported starting with Windows 8.
pfnOfferResources
A pointer to the driver OfferResources function that requests that the user-mode display driver offer video memory resources for reuse.
Supported starting with Windows 8.
pfnReclaimResources
A pointer to the driver ReclaimResources function that's called by the Direct3D runtime to reclaim video memory resources that it previously offered for reuse.
Supported starting with Windows 8.
pfnCheckDirectFlipSupport
A pointer to the driver CheckDirectFlipSupport function that's called by the DWM to verify that the user-mode driver supports Direct Flip operations.
Supported starting with Windows 8.
pfnCreateResource2
A pointer to the driver CreateResource2 function that creates a resource.
Supported starting with Windows 8.
pfnCheckMultiPlaneOverlaySupport
A pointer to the driver pfnCheckMultiPlaneOverlaySupport (D3D) function that's called by the Direct3D runtime to check the details on hardware support for multiplane overlays.
Supported starting with Windows 8.1.
pfnPresentMultiPlaneOverlay
A pointer to the driver pfnPresentMultiplaneOverlay (D3D) function that's called by the Direct3D runtime to notify the user-mode display driver that an application finished rendering and requests that the driver display the source surface by either copying or flipping or that the driver perform a color-fill operation.
Supported starting with Windows 8.1.
pfnReserved1
Reserved for system use. Do not use in your driver.
Supported starting with Windows 8.1.
pfnFlush1
A pointer to the driver pfnFlush1 function that's called by the Direct3D runtime to submit outstanding hardware commands that are in the hardware command buffer to the display miniport driver.
Supported starting with Windows 8.1.
pfnCheckCounterInfo
A pointer to the driver pfnCheckCounterInfo function that's called by the Direct3D runtime to determine global information that's related to manipulating counters.
Supported starting with Windows 8.1.
pfnCheckCounter
A pointer to the driver pfnCheckCounter function that's called by the Direct3D runtime to retrieve info that describes a counter.
Supported starting with Windows 8.1.
pfnUpdateSubresourceUP
A pointer to the driver pfnUpdateSubresourceUP function that's called by the Direct3D runtime to update a destination subresource region from a source system-memory region.
Supported starting with Windows 8.1.
pfnPresent1
A pointer to the driver pfnPresent1(D3D) function that notifies the user-mode display driver that an application finished rendering and that all ownership of the shared resource is released, and that requests that the driver display to the destination surface.
Supported starting with Windows 8.1.
pfnCheckPresentDurationSupport
A pointer to the driver CheckPresentDurationSupport function that's called by the Direct3D runtime to request that the user-mode display driver get hardware device capabilities for seamlessly switching to a new monitor refresh rate.
Supported starting with Windows 8.1.
pfnSetMarker
A pointer to the driver pfnSetMarker function that notifies the user-mode display driver that it must generate a new time stamp if any GPU work has completed since the last call to pfnSetMarker.
Supported starting with Windows 8.1.
pfnSetMarkerMode
A pointer to the driver pfnSetMarkerMode function that notifies the user-mode display driver that it should support a type of Event Tracing for Windows (ETW) marker event.
Supported starting with Windows 8.1.
pfnTrimResidencySet
pfnAcquireResource
pfnReleaseResource
Remarks
The following code, from D3dumddi.h, shows the function declarations for the functions that the members of D3DDDI_DEVICEFUNCS point to.
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
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows Vista and later versions of the Windows operating systems. |
Header | d3dumddi.h (include D3dumddi.h) |