RotateResourceIdentitiesDXGI callback function

Rotates a list of resources.


pfnRotateResourceIdentities RotateResourceIdentitiesDXGI;

HRESULT __stdcall* RotateResourceIdentitiesDXGI(
{ ... }



[in] A pointer to a DXGI_DDI_ARG_ROTATE_RESOURCE_IDENTITIES structure that describes a list of resources to rotate.

Return value

This function returns one of the following values.

Return codeDescription

The resources were successfully rotated.


The driver detected that the graphics adapter was removed. Therefore, the driver did not complete the operation. If the driver does not notice the adapter-removal condition, the driver is not required to return this error code.



The RotateResourceIdentitiesDXGI function must exchange identities of the array of resources that are passed in the pResources member of the DXGI_DDI_ARG_ROTATE_RESOURCE_IDENTITIES structure that the pRotateData parameter points to. For example, if the array of resources refers to resources X, Y, and Z, in increasing array index order, RotateResourceIdentitiesDXGI must rotate those handles to refer to Y, Z, and X, in increasing array index order. In particular, the user-mode display driver should swap the kernel handles of the corresponding resources. However, the driver should not swap the corresponding runtime (RT) handles. The runtime calls RotateResourceIdentitiesDXGI to rotate back buffers during presentation. Therefore, a call to RotateResourceIdentitiesDXGI is infrequent. The runtime can specify the D3D10_DDI_BIND_PRESENT flag in the BindFlags member of the D3D10DDIARG_CREATERESOURCE structure when the runtime calls the driver's CreateResource(D3D10) function to indicate that the resource can participate in a rotate operation.

The user-mode display driver must also handle other aspects of exchanging identities. For example, in Direct3D version 10, views can refer to resources; and such views can have resource addresses embedded in them. Therefore, the driver must re-create such views. Also, the driver might be required to reapply currently bound views.

Beginning in Windows 8, the driver must support rotation of stereo back buffers.


Target platform



Available in Windows Vista and later versions of the Windows operating systems.


Dxgiddi.h (include D3d10umddi.h)

See also




Send comments about this topic to Microsoft