attribut MF_TRANSFORM_ASYNC
Spécifie si une transformation Media Foundation (MFT) effectue un traitement asynchrone.
Type de données
UINT32
Obtenir/définir
Pour obtenir cet attribut, appelez IMFAttributes::GetUINT32.
Pour définir cet attribut, appelez IMFAttributes::SetUINT32.
Notes
L’attribut est une valeur booléenne :
- Si l’attribut n’est pas nul, le MFT effectue un traitement asynchrone.
- Si l’attribut est 0 ou n’est pas défini, le MFT est synchrone.
Pour obtenir cet attribut, appelez d’abord IMFTransform::GetAttributes pour obtenir le magasin d’attributs de MFT. Si cette méthode réussit, appelez IMFAttributes::GetUINT32 pour obtenir la valeur de l’attribut. Si l’une des deux méthodes échoue, le MFT est synchrone.
Pour les MFT asynchrones, cet attribut doit être défini sur une valeur différente de zéro. Pour les MFT synchrones, cet attribut est facultatif, mais doit être défini sur 0 s’il est présent.
Les mft asynchrones ne sont pas compatibles avec les versions antérieures de Media Foundation. Pour utiliser une MFT asynchrone, le client doit définir l’attribut MF_TRANSFORM_ASYNC_UNLOCK sur le MFT. (Le pipeline Microsoft Media Foundation effectue cette étape automatiquement.)
Exemples
Le code suivant teste si un MFT effectue un traitement asynchrone.
BOOL IsTransformAsync(IMFTransform *pMFT)
{
BOOL bAsync = FALSE;
IMFAttributes *pAttributes = NULL;
HRESULT hr = pMFT->GetAttributes(&pAttributes);
if (SUCCEEDED(hr))
{
bAsync = MFGetAttributeUINT32(pAttributes, MF_TRANSFORM_ASYNC, FALSE);
pAttributes->Release();
}
return (bAsync != FALSE);
}
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows 7 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge |
Windows Server 2008 R2 [applications de bureau | Applications UWP] |
En-tête |
|
Voir aussi