Metodo ID3D12DeviceChild::GetDevice (d3d12.h)
Ottiene un puntatore al dispositivo che ha creato questa interfaccia.
Sintassi
HRESULT GetDevice(
REFIID riid,
[out, optional] void **ppvDevice
);
Parametri
riid
Tipo: REFIID
Identificatore univoco globale (GUID) per l'interfaccia del dispositivo. È possibile ottenere il GUID REFIID o il GUID dell'interfaccia nel dispositivo usando la macro __uuidof(). Ad esempio, __uuidof(ID3D12Device) otterrà il GUID dell'interfaccia in un dispositivo.
[out, optional] ppvDevice
Tipo: void**
Puntatore a un blocco di memoria che riceve un puntatore all'interfaccia ID3D12Device per il dispositivo.
Valore restituito
Tipo: HRESULT
Questo metodo restituisce uno dei codici restituiti Direct3D 12.
Commenti
Tutte le interfacce restituite hanno il numero di riferimenti incrementato per uno, quindi assicurarsi di chiamare ::release() sui puntatori restituiti prima di essere liberati o altrimenti si avrà una perdita di memoria.
Esempio
L'esempio D3D12Multithreading usa ID3D12DeviceChild::GetDevice come indicato di seguito:
// Returns required size of a buffer to be used for data upload
inline UINT64 GetRequiredIntermediateSize(
_In_ ID3D12Resource* pDestinationResource,
_In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
_In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources)
{
D3D12_RESOURCE_DESC Desc = pDestinationResource->GetDesc();
UINT64 RequiredSize = 0;
ID3D12Device* pDevice;
pDestinationResource->GetDevice(__uuidof(*pDevice), reinterpret_cast<void**>(&pDevice));
pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, 0, nullptr, nullptr, nullptr, &RequiredSize);
pDevice->Release();
return RequiredSize;
}
Fare riferimento al codice di esempio nel riferimento D3D12.
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | d3d12.h |
Libreria | D3D12.lib |
DLL | D3D12.dll |