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 應用程式] |
標頭 |
|
另請參閱