共用方式為


IAMDevMemoryControl::WriteSync 方法 (strmif.h)

[與此頁面相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式代碼盡可能重寫為使用新的 API。

注意IAMDevMemoryControl 介面已被取代。
 
用來與已完成的寫入同步處理。 這個方法會在寫入至特定配置器區域的任何數據完全寫入記憶體時傳回。

Syntax

HRESULT WriteSync();

傳回值

傳回 HRESULT 值。 可能的值如下:

傳回碼 Description
E_FAIL
發生逾時,但未確認已寫入數據的方法。
S_OK
數據已成功寫入記憶體。
VFW_E_NOT_COMMITTED
配置器尚未呼叫 IMemAllocator::Commit 方法。

備註

這個方法可確保所有先前配置記憶體的寫入作業都成功。 後續的記憶體寫入作業需要另一個呼叫 WriteSync

此方法相依於實作,並在必要時使用 () ,以便將記憶體寫入作業同步處理至記憶體。 內建記憶體的驅動程式提供實作。

IAMDevMemoryControl 介面通常可在透過周邊元件互連 (PCI) 網橋存取的記憶體上找到。 (PCI 是個人電腦的本機總線,可在處理器與周邊裝置之間提供高速數據路徑。) PCI 網橋後面的記憶體必須在記憶體寫入作業完成之後進行同步處理,如果另一部裝置會從PCI網橋後存取該記憶體。 這是因為主機存取記憶體會先透過PCI網橋FIFO緩衝處理 (先出) ,而主機會假設在網橋實際寫入數據之前已完成寫入。 如果未呼叫 IAMDevMemoryControl::WriteSync 方法,則網橋後方裝置的後續動作,例如 SCSI 控制器,可能會在寫入完成之前讀取記憶體。

規格需求

需求
目標平台 Windows
標頭 strmif.h (包含 Dshow.h)

另請參閱

錯誤和成功碼

IAMDevMemoryControl 介面