IAMDevMemoryControl::WriteSync 方法 (strmif.h)
[與此頁面相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式代碼盡可能重寫為使用新的 API。
注意IAMDevMemoryControl 介面已被取代。
Syntax
HRESULT WriteSync();
傳回值
傳回 HRESULT 值。 可能的值如下:
傳回碼 | Description |
---|---|
|
發生逾時,但未確認已寫入數據的方法。 |
|
數據已成功寫入記憶體。 |
|
配置器尚未呼叫 IMemAllocator::Commit 方法。 |
備註
這個方法可確保所有先前配置記憶體的寫入作業都成功。 後續的記憶體寫入作業需要另一個呼叫 WriteSync
。
此方法相依於實作,並在必要時使用 () ,以便將記憶體寫入作業同步處理至記憶體。 內建記憶體的驅動程式提供實作。
IAMDevMemoryControl 介面通常可在透過周邊元件互連 (PCI) 網橋存取的記憶體上找到。 (PCI 是個人電腦的本機總線,可在處理器與周邊裝置之間提供高速數據路徑。) PCI 網橋後面的記憶體必須在記憶體寫入作業完成之後進行同步處理,如果另一部裝置會從PCI網橋後存取該記憶體。 這是因為主機存取記憶體會先透過PCI網橋FIFO緩衝處理 (先出) ,而主機會假設在網橋實際寫入數據之前已完成寫入。 如果未呼叫 IAMDevMemoryControl::WriteSync 方法,則網橋後方裝置的後續動作,例如 SCSI 控制器,可能會在寫入完成之前讀取記憶體。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |