Partager via


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
Mftransform.h

Voir aussi

Liste alphabétique des attributs Media Foundation

MfT asynchrones

Transformer les attributs

MF_TRANSFORM_ASYNC_UNLOCK