ID3D11DeviceChild::SetPrivateData method (d3d11.h)

Set application-defined data to a device child and associate that data with an application-defined guid.


HRESULT SetPrivateData(
  [in]           REFGUID    guid,
  [in]           UINT       DataSize,
  [in, optional] const void *pData


[in] guid


Guid associated with the data.

[in] DataSize

Type: UINT

Size of the data.

[in, optional] pData

Type: const void*

Pointer to the data to be stored with this device child. If pData is NULL, DataSize must also be 0, and any data previously associated with the specified guid will be destroyed.

Return value


This method returns one of the following Direct3D 11 Return Codes.


The data stored in the device child with this method can be retrieved with ID3D11DeviceChild::GetPrivateData.

The debug layer reports memory leaks by outputting a list of object interface pointers along with their friendly names. The default friendly name is "<unnamed>". You can set the friendly name so that you can determine if the corresponding object interface pointer caused the leak. To set the friendly name, use the SetPrivateData method and the WKPDID_D3DDebugObjectName GUID that is in D3Dcommon.h. For example, to give pContext a friendly name of My name, use the following code:

static const char c_szName[] = "My name";
hr = pContext->SetPrivateData( WKPDID_D3DDebugObjectName, sizeof( c_szName ) - 1, c_szName );


Target Platform Windows
Header d3d11.h
Library D3D11.lib

See also