ID3D12DeviceChild::GetDevice, méthode (d3d12.h)
Obtient un pointeur vers l’appareil qui a créé cette interface.
Syntaxe
HRESULT GetDevice(
REFIID riid,
[out, optional] void **ppvDevice
);
Paramètres
riid
Type : REFIID
Identificateur global unique (GUID) pour l’interface de l’appareil. Le REFIID, ou GUID, de l’interface de l’appareil peut être obtenu à l’aide de la macro __uuidof(). Par exemple, __uuidof(ID3D12Device) obtient le GUID de l’interface sur un appareil.
[out, optional] ppvDevice
Type : void**
Pointeur vers un bloc de mémoire qui reçoit un pointeur vers l’interface ID3D12Device pour l’appareil.
Valeur retournée
Type : HRESULT
Cette méthode retourne l’un des codes de retour Direct3D 12.
Notes
Toutes les interfaces retournées ont leur nombre de références incrémenté d’un. Veillez donc à appeler ::release() sur les pointeurs retournés avant qu’ils ne soient libérés, sinon vous aurez une fuite de mémoire.
Exemples
L’exemple D3D12Multithreading utilise ID3D12DeviceChild::GetDevice comme suit :
// 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;
}
Reportez-vous à l’exemple de code dans la référence D3D12.
Spécifications
Plateforme cible | Windows |
En-tête | d3d12.h |
Bibliothèque | D3D12.lib |
DLL | D3D12.dll |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour