IAMExtDevice::GetCapability 方法 (strmif.h)

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

另請參閱

錯誤和成功碼

IAMExtDevice 介面