MF _ TRANSFORM _ ASYNC-Attribut
Gibt an, ob eine Media Foundation-Transformation (MFT) eine asynchrone Verarbeitung ausführt.
Datentyp
UINT32
Abrufen/Festlegen
Rufen Sie ZUM Abrufen dieses Attributs DIE ATTRIBUTEAttributes::GetUINT32 auf.
Rufen Sie ZUM Festlegen dieses Attributs DIE ATTRIBUTEAttributes::SetUINT32 auf.
Hinweise
Das Attribut ist ein boolescher Wert:
- Wenn das Attribut ungleich 0 (null) ist, führt der MFT eine asynchrone Verarbeitung durch.
- Wenn das Attribut 0 oder nicht festgelegt ist, ist der MFT synchron.
Rufen Sie zum Abrufen dieses Attributs zunächst DIE ATTRIBUTETransform::GetAttributes auf, um den Attributspeicher des MFT abzurufen. Wenn diese Methode erfolgreich ist, rufen Sie DIE ATTRIBUTEAttributes::GetUINT32 auf, um den Attributwert abzurufen. Wenn eine der beiden Methoden fehlschlägt, ist der MFT synchron.
Bei asynchronen MFTs muss dieses Attribut auf einen Wert ungleich 0 (null) festgelegt werden. Bei synchronen MFTs ist dieses Attribut optional, muss jedoch auf 0 (sofern vorhanden) festgelegt werden.
Asynchrone MFTs sind nicht mit früheren Versionen von Media Foundation kompatibel. Um einen asynchronen MFT zu verwenden, muss der Client das MF _ TRANSFORM _ ASYNC _ UNLOCK-Attribut für den MFT festlegen. (Die Microsoft Media Foundation Pipeline führt diesen Schritt automatisch aus.)
Beispiele
Der folgende Code testet, ob ein MFT eine asynchrone Verarbeitung ausführt.
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);
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows 7 [ Desktop-Apps | UWP-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Server 2008 R2 [ Desktop-Apps | UWP-Apps] |
| Header |
|