共用方式為


MF_TRANSFORM_ASYNC屬性

指定媒體基礎轉換 (MFT) 是否執行非同步處理。

資料類型

UINT32

取得/設定

若要取得此屬性,請呼叫 IMFAttributes::GetUINT32

若要設定此屬性,請呼叫 IMFAttributes::SetUINT32

備註

屬性是布林值:

  • 如果屬性為非零,MFT 會執行非同步處理。
  • 如果屬性為 0 或未設定,則 MFT 為同步。

若要取得此屬性,請先呼叫 IMFTransform::GetAttributes 以取得 MFT 的屬性存放區。 如果該方法成功,請呼叫 IMFAttributes::GetUINT32 以取得屬性值。 如果這兩種方法其中之一失敗,MFT 會是同步的。

針對非同步 MFT,此屬性必須設定為非零值。 對於同步 MFT,此屬性是選擇性的,但如果存在,則必須設定為 0。

非同步 MFT 與舊版媒體基礎不相容。 若要使用非同步 MFT,用戶端必須在 MFT 上設定 MF_TRANSFORM_ASYNC_UNLOCK 屬性。 (Microsoft Media Foundation 管線會自動執行此步驟。)

範例

下列程式碼會測試 MFT 是否執行非同步處理。

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);
}

規格需求

需求
最低支援的用戶端
Windows 7 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器
Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
標頭
Mftransform.h

另請參閱

依字母順序排列的媒體基礎屬性清單

非同步 MFT

轉換屬性

MF_TRANSFORM_ASYNC_UNLOCK