IAMVideoCompression::GetInfo 方法 (strmif.h)
[與此頁面相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式代碼盡可能重寫為使用新的 API。
方法 GetInfo
會擷取篩選條件壓縮屬性的相關信息,包括功能和預設值。
語法
HRESULT GetInfo(
[out] LPWSTR pszVersion,
[in, out] int *pcbVersion,
[out] LPWSTR pszDescription,
[in, out] int *pcbDescription,
[out] long *pDefaultKeyFrameRate,
[out] long *pDefaultPFramesPerKey,
[out] double *pDefaultQuality,
[out] long *pCapabilities
);
參數
[out] pszVersion
接收版本字串的緩衝區指標,例如 “Version 2.1.0”。
[in, out] pcbVersion
接收版本字串的大小,以位元組為單位。
[out] pszDescription
接收描述字串的緩衝區指標,例如「我的影片壓縮器」。
[in, out] pcbDescription
接收描述字串的大小,以位元組為單位。
[out] pDefaultKeyFrameRate
接收預設的主要畫面格速率。
[out] pDefaultPFramesPerKey
接收每個主要畫面格的預測 (P) 畫面的預設速率。
[out] pDefaultQuality
接收預設品質。
[out] pCapabilities
接收壓縮功能,做為零個或多個 CompressionCaps 旗標的位元組合。
傳回值
傳回 HRESULT 值。
備註
任何列出的參數可以是 NULL,在此情況下,方法會忽略該參數。
應用程式必須配置版本和描述字串的緩衝區。 若要判斷緩衝區的必要大小,請使用 pszVersion 和 pszDescription 參數的 NULL 呼叫此方法。 使用 在 HTTPVersion 和 以下命令 傳回的值來配置緩衝區,然後再次呼叫 方法,如下列程式代碼所示:
C++ |
---|
|
pCapabilities 參數會收到一組旗標,指出支援哪些壓縮屬性,因此支援哪些 IAMVideoCompression 方法。 例如,如果傳回 CompressionCaps_CanKeyFrame 旗標,篩選條件支援 IAMVideoCompression::get_KeyFrameRate 和 IAMVideoCompression::p ut_KeyFrameRate 方法。
其餘參數會接收壓縮屬性的預設值。 對於不支援的屬性 (由 pCapabilities) 傳回的旗標所決定,您應該忽略對應的預設值,因為它可能不正確或有意義。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |
程式庫 | Strmiids.lib |