共用方式為


ICaptureGraphBuilder2::AllocCapFile 方法 (strmif.h)

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

方法 AllocCapFile 會將擷取檔案預先配置至指定的大小。 為了獲得最佳結果,請一律擷取到重組的預先配置擷取檔案,其大小大於擷取數據的大小。

語法

HRESULT AllocCapFile(
  [in] LPCOLESTR lpstr,
  [in] DWORDLONG dwlSize
);

參數

[in] lpstr

寬字元字串的指標,其中包含要建立或重設大小的檔名。

[in] dwlSize

要配置的檔案大小,以位元組為單位。

傳回值

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

如果檔案是唯讀的,這個方法就會失敗。

最好盡可能配置空間,最好比需要更多。 不過,這可能會導致非常大型的檔案,其中包含相對較少的數據。 例如,1 GB (GB) 擷取檔案可能包含數 MB 的擷取影片。 使用 ICaptureGraphBuilder2::CopyCaptureFile 方法,將數據複製到新檔案中。 該方法只會複製數據,並忽略源檔的空白部分。

如果您使用這個方法來預先配置檔案,請在檔案寫入器篩選上呼叫 IFileSinkFilter2::SetMode ,其值為零。 如果篩選設定為 AM_FILE_OVERWRITE,則會刪除預先配置的檔案。 請注意,某些檔案寫入器篩選不支援模式 0。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 strmif.h (包含 Dshow.h)
程式庫 Strmiids.lib

另請參閱

錯誤和成功碼

ICaptureGraphBuilder2 介面