共用方式為


IAMExtDevice::GetCapability 方法 (strmif.h)

[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayer、imfMediaEngine 取代,並在媒體基金會音訊/視訊擷取。 這些功能已針對 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

接收 double之變數的指標。 如需詳細資訊,請參閱。

傳回值

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

言論

Capability 參數是指定要檢查之功能的旗標。 方法會根據功能旗標,在 pValue 參數或 pdblValue 參數中傳回結果。

針對下列旗標,方法會傳回 pValue 參數中的 OATRUE 或 OAFALSE 值。 OATRUE 值表示功能存在,而 OAFALSE 值則表示它不存在。

功能旗標 描述
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::校正
ED_DEVCAP_TIMECODE_READ 裝置可以讀取SMPTE時間代碼。
ED_DEVCAP_TIMECODE_WRITE 裝置可以設定SMPTE時間代碼。
ED_DEVCAP_USES_FILES 裝置具有內建文件系統。
ED_DEVCAP_VIDEO_INPUTS 裝置接受視訊輸入。
 

針對下列旗標,方法會傳回 pValue 參數中定義的常數。

ED_DEVCAP_DEVICE_TYPE:傳回裝置類型。

傳回的常數 描述
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 Timebase 更正器
ED_DEVTYPE_TCG Timecode 產生器/讀取器
ED_DEVTYPE_VCR 具有完整 VCR 功能的 VCR 或攝影機
ED_DEVTYPE_WIPEGEN 視訊抹除產生器
ED_DEVTYPE_JOYSTICK 操縱桿
ED_DEVTYPE_KEYBOARD 鍵盤
 

ED_DEVCAP_SYNC_ACCURACY:傳回裝置同步處理精確度的指示。

傳回的常數 描述
ED_SYNCACC_PRECISE 裝置具有精確的精確度。
ED_SYNCACC_FRAME 裝置的畫面正確。
ED_SYNCACC_ROUGH 裝置小於畫面精確度。
 

ED_DEVCAP_NORMAL_RATE:傳回裝置的正常幀速率。

傳回的常數 描述
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:傳回裝置搜尋精確度的指示。

傳回的常數 描述
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支援下列額外的旗標。

傳回的常數 描述
ED_DEVTYPE_CAMERA_STORAGE 靜止影像或短片檔案的記憶體。
ED_DEVTYPE_DTV 數字電視與序列總線介面。
ED_DEVTYPE_PC_VIRTUAL 計算機上的虛擬或模擬裝置。
 

若要使用這些常數,請包含頭檔 Xprtdefs.h。

DV 實作

MSDV 和 UVC 驅動程式支援下列行為。

ED_DEVCAP_NORMAL_RATE旗標會傳回幀速率。

傳回的常數 描述
ED_RATE_25 25 fps (預設 PAL 幀速率)
ED_RATE_2997 29.997 fps (預設 NTSC 幀速率)
 

針對僅限 MSDV,ED_DEVCAP_DEVICE_TYPE旗標會傳回裝置類型。 下表顯示可能的值。 針對UVC裝置,請改用 IKsTopologyInfo 介面。

傳回的常數 描述
ED_DEVTYPE_CAMERA 簡單的相機可以錄製或暫停錄製,但缺少完整的 VCR 功能。
ED_DEVTYPE_DVHS 裝置支援 D-VHS 格式。
ED_DEVTYPE_UNKNOWN 未知的裝置類型。
ED_DEVTYPE_VCR 裝置具有完整的 VCR 功能。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 strmif.h (包括 Dshow.h)
連結庫 Strmiids.lib

另請參閱

錯誤和成功碼

IAMExtDevice 介面