IAMExtDevice::GetCapability 方法 (strmif.h)
[與此頁面 相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式代碼,以使用新的 API。]
方法 GetCapability
會擷取外部裝置的功能。
語法
HRESULT GetCapability(
[in] long Capability,
[out] long *pValue,
[out] double *pdblValue
);
參數
[in] Capability
指定要檢查的功能。 如需詳細資訊,請參閱「備註」。
[out] pValue
接收 長 整數之變數的指標。 如需詳細資訊,請參閱「備註」。
[out] pdblValue
接收 雙精度浮點數的變數指標。 如需詳細資訊,請參閱「備註」。
傳回值
當此方法成功時,它會傳回S_OK。 否則會傳回 HRESULT 錯誤碼。
備註
Capability 參數是一個旗標,可指定要檢查的功能。 方法會根據功能旗標傳回 pValue 參數或 pdblValue 參數中的結果。
針對下列旗標,此方法會傳回 pValue 參數中的 OATRUE 或 OAFALSE 值。 OATRUE 值表示功能存在,而 OAFALSE 值表示它不存在。
功能旗標 | Description |
---|---|
ED_DEVCAP_AUDIO_INPUTS | 裝置接受音訊輸入。 |
ED_DEVCAP_CAN_MONITOR_SOURCES | 無論目前選取的輸入為何,裝置都可以將任何輸入傳送至受監視的輸出。 |
ED_DEVCAP_CAN_PREVIEW | 裝置可以預覽。 |
ED_DEVCAP_CAN_RECORD | 裝置可以記錄。 |
ED_DEVCAP_CAN_RECORD_STROBE | 裝置可以簡介記錄。 這項功能適用於可錄製到所選曲目的多追蹤裝置。 |
ED_DEVCAP_CAN_SAVE | 裝置可以儲存數據。 |
ED_DEVCAP_CTLTRK_READ | 裝置可以讀取控制曲目。 |
ED_DEVCAP_HAS_AUDIO | 裝置有音訊。 |
ED_DEVCAP_HAS_VIDEO | 裝置有影片。 |
ED_DEVCAP_INDEX_READ | 裝置可以讀取索引標記。 |
ED_DEVCAP_NEEDS_CALIBRATING | 裝置需要校正。 請參閱 IAMExtDevice::Calibrate。 |
ED_DEVCAP_TIMECODE_READ | 裝置可以讀取SMPTE時間代碼。 |
ED_DEVCAP_TIMECODE_WRITE | 裝置可以設定SMPTE時間代碼。 |
ED_DEVCAP_USES_FILES | 裝置具有內建文件系統。 |
ED_DEVCAP_VIDEO_INPUTS | 裝置接受視訊輸入。 |
針對下列旗標,方法會傳回 pValue 參數中定義的常數。
ED_DEVCAP_DEVICE_TYPE:傳回裝置類型。
傳回的常數 | Description |
---|---|
ED_DEVTYPE_ATR | 音訊磁帶錄製器 |
ED_DEVTYPE_CG | 字元產生器 |
ED_DEVTYPE_DDR | 數位磁碟錄製器 |
ED_DEVTYPE_DVE | 數字視訊效果單位 |
ED_DEVTYPE_GPI | 一般用途介面觸發程式 |
ED_DEVTYPE_KEYER | 視訊索引鍵器 |
ED_DEVTYPE_LASERDISK | Laserdisc |
ED_DEVTYPE_MIXER_AUDIO | 音訊混音器 |
ED_DEVTYPE_MIXER_VIDEO | 視訊混音器 |
ED_DEVTYPE_ROUTER | 視訊路由器 |
ED_DEVTYPE_TBC | 時間基底更正程式 |
ED_DEVTYPE_TCG | Timecode 產生器/讀取器 |
ED_DEVTYPE_VCR | 具有完整 VCR 功能的 VCR 或攝影機 |
ED_DEVTYPE_WIPEGEN | 視訊抹除產生器 |
ED_DEVTYPE_JOYSTICK | 操縱桿 |
ED_DEVTYPE_KEYBOARD | 鍵盤 |
ED_DEVCAP_SYNC_ACCURACY:傳回裝置同步處理精確度的指示。
傳回的常數 | Description |
---|---|
ED_SYNCACC_PRECISE | 裝置具有精確的精確度。 |
ED_SYNCACC_FRAME | 裝置的畫面正確。 |
ED_SYNCACC_ROUGH | 裝置小於畫面精確度。 |
ED_DEVCAP_NORMAL_RATE:傳回裝置的一般幀速率。
傳回的常數 | Description |
---|---|
ED_RATE_24 | 每秒 24 個畫面格 (fps) |
ED_RATE_25 | 25 fps |
ED_RATE_2997 | 29.97 fps |
ED_RATE_30 | 30 fps |
ED_DEVCAP_SEEK_TYPE:傳回裝置搜尋精確度的指示。
傳回的常數 | Description |
---|---|
ED_SEEK_PERFECT | 裝置可以在一個視訊畫面內搜尋,而不會中斷訊號。 |
ED_SEEK_FAST | 裝置可以快速搜尋,並在訊號中短暫中斷。 |
ED_SEEK_SLOW | 裝置搜尋速度緩慢;例如磁帶傳輸。 |
針對下列旗標,方法會傳回 pValue 參數中的數值。
功能旗標 | 傳回值 |
ED_DEVCAP_EXTERNAL_DEVICE_ID | 製造商特定的標識碼。 |
ED_DEVCAP_PREROLL | 裝置預先註冊時間。 |
ED_DEVCAP_POSTROLL | 裝置後置註冊時間。 |
在 Windows XP Service Pack 2 和更新版本中,ED_DEVCAP_DEVICE_TYPE支援下列其他旗標。
傳回的常數 | Description |
---|---|
ED_DEVTYPE_CAMERA_STORAGE | 仍為影像或短片檔案儲存空間。 |
ED_DEVTYPE_DTV | 具有序列總線介面的數字電視。 |
ED_DEVTYPE_PC_VIRTUAL | 計算機上的虛擬或模擬裝置。 |
若要使用這些常數,請包含頭檔 Xprtdefs.h。
DV 實作
MSDV 和 UVC 驅動程式支援下列行為。ED_DEVCAP_NORMAL_RATE旗標會傳回幀速率。
傳回的常數 | Description |
---|---|
ED_RATE_25 | 25 fps (預設 PAL 幀速率) |
ED_RATE_2997 | 29.997 fps (預設NTSC幀速率) |
僅限 MSDV,ED_DEVCAP_DEVICE_TYPE旗標會傳回裝置類型。 下表顯示可能的值。 針對UVC裝置,請改用 IKsTopologyInfo 介面。
傳回的常數 | Description |
---|---|
ED_DEVTYPE_CAMERA | 可錄製或暫停記錄但缺少完整 VCR 功能的簡單相機。 |
ED_DEVTYPE_DVHS | 裝置支援 D-VHS 格式。 |
ED_DEVTYPE_UNKNOWN | 未知的裝置類型。 |
ED_DEVTYPE_VCR | 裝置具有完整的 VCR 功能。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |
程式庫 | Strmiids.lib |