IDXGIFactoryMedia::CreateDecodeSwapChainForCompositionSurfaceHandle, méthode (dxgi1_3.h)
Crée une chaîne de permutation YUV pour un handle de surface DirectComposition existant. La chaîne d’échange est créée avec des mémoires tampons préexistantes et très peu d’éléments descriptifs sont nécessaires. Au lieu de cela, cette méthode nécessite un handle de surface DirectComposition et une mémoire tampon IDXGIResource pour contenir les données de trame décodées. Le format de la chaîne d’échange est déterminé par le format des sous-ressources de l’IDXGIResource.
Syntaxe
HRESULT CreateDecodeSwapChainForCompositionSurfaceHandle(
[in] IUnknown *pDevice,
[in, optional] HANDLE hSurface,
[in] DXGI_DECODE_SWAP_CHAIN_DESC *pDesc,
[in] IDXGIResource *pYuvDecodeBuffers,
[in, optional] IDXGIOutput *pRestrictToOutput,
[out] IDXGIDecodeSwapChain **ppSwapChain
);
Paramètres
[in] pDevice
Pointeur vers l’appareil Direct3D pour la chaîne d’échange. Ce paramètre ne peut pas avoir la valeur NULL. Les pilotes logiciels, comme D3D_DRIVER_TYPE_REFERENCE, ne sont pas pris en charge pour les chaînes d’échange de composition.
[in, optional] hSurface
Handle d’une surface DirectComposition existante. Ce paramètre ne peut pas avoir la valeur NULL.
[in] pDesc
Pointeur vers une structure DXGI_DECODE_SWAP_CHAIN_DESC pour la description de la chaîne d’échange. Ce paramètre ne peut pas avoir la valeur NULL.
[in] pYuvDecodeBuffers
Pointeur vers une interface IDXGIResource qui représente la ressource qui contient les informations que CreateDecodeSwapChainForCompositionSurfaceHandle décode.
[in, optional] pRestrictToOutput
Pointeur vers l’interface IDXGIOutput pour la chaîne d’échange vers laquelle limiter le contenu. Si la chaîne d’échange est déplacée vers une autre sortie, le contenu est noir. Vous pouvez éventuellement définir ce paramètre sur une cible de sortie qui utilise DXGI_PRESENT_RESTRICT_TO_OUTPUT pour restreindre le contenu de cette sortie. Si la chaîne d’échange est déplacée vers une autre sortie, le contenu est noir.
Vous devez également passer l’indicateur DXGI_PRESENT_RESTRICT_TO_OUTPUT dans un appel présent pour forcer le contenu à apparaître noirci sur toute autre sortie. Si vous souhaitez limiter le contenu à une autre sortie, vous devez créer une chaîne d’échange. Toutefois, vous pouvez restreindre de manière conditionnelle le contenu en fonction de l’indicateur DXGI_PRESENT_RESTRICT_TO_OUTPUT .
Définissez ce paramètre sur NULL si vous ne souhaitez pas restreindre le contenu à une cible de sortie.
[out] ppSwapChain
Pointeur vers une variable qui reçoit un pointeur vers l’interface IDXGIDecodeSwapChain pour la chaîne d’échange créée par cette méthode.
Valeur retournée
CreateDecodeSwapChainForCompositionSurfaceHandle retourne :
- S_OK s’il a correctement créé une chaîne d’échange.
- E_OUTOFMEMORY si la mémoire n’est pas disponible pour terminer l’opération.
- DXGI_ERROR_INVALID_CALL si l’application appelante a fourni des données non valides, par exemple si pDesc, pYuvDecodeBuffers ou ppSwapChain a la valeur NULL.
- Peut-être d’autres codes d’erreur décrits dans la rubrique DXGI_ERROR qui sont définis par le type d’appareil que vous passez à pDevice.
Notes
L’IDXGIResource fourni via le paramètre pYuvDecodeBuffers doit pointer vers au moins une sous-ressource, et toutes les sous-ressources doivent être créées avec l’indicateur D3D11_BIND_DECODER.
Spécifications
Client minimal pris en charge | Windows 8.1 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2012 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | dxgi1_3.h |
Bibliothèque | Dxgi.lib |