IAMExtTransport::GetStatus 方法 (strmif.h)
[與此頁面 相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式代碼,以使用新的 API。]
方法會 GetStatus
傳回傳輸狀態的相關信息。
語法
HRESULT GetStatus(
[in] long StatusItem,
[in, out] long *pValue
);
參數
[in] StatusItem
指定要擷取的狀態資訊。 如需詳細資訊,請參閱「備註」。
[in, out] pValue
指定或接收 長 整數的變數指標,其意義取決於 StatusItem 的值。 如需詳細資訊,請參閱「備註」。
傳回值
當此方法成功時,它會傳回S_OK。 否則會傳回 HRESULT 錯誤碼。
備註
StatusItem 參數是一個旗標,指定要擷取的狀態資訊。 方法會在 pValue 參數中的資訊中傳回。 並非所有裝置都支援每個狀態旗標。 已定義下列旗標:
- ED_MODE:傳回目前的傳輸模式,例如暫停或播放。 如需定義傳輸模式的常數清單,請參閱 IAMExtTransport::p ut_Mode 。 或者,您可以設定 StatusItem 等於下列其中一個常數,如果傳輸目前處於該模式或 OAFALSE,pValue 將會收到 OATRUE 值。
- ED_MEDIA_TYPE:指出此傳輸的媒體格式。 傳回下列其中一個常數。
常數 描述 ED_MEDIA_VHS Vhs ED_MEDIA_SVHS S-VHS ED_MEDIA_HI8 Hi-8 ED_MEDIA_UMATIC Umatic ED_MEDIA_DVC DVC (DVC) ED_MEDIA_1_INCH 1 英吋磁帶 ED_MEDIA_D1 D1 格式 ED_MEDIA_D2 D2 格式 ED_MEDIA_D3 D3 格式 ED_MEDIA_D5 D5 格式 ED_MEDIA_DBETA Digital Betacam ED_MEDIA_BETA Betacam ED_MEDIA_8MM 8 公厘 ED_MEDIA_DDR 數位磁碟錄製器 ED_MEDIA_SX Betacam SX ED_MEDIA_OTHER 其他 ED_MEDIA_CLV CLV (常數線性速度,或「標準播放」) 雷射磁碟 ED_MEDIA_CAV CAV (常數 Angular 速度,或「擴充播放」) 雷射磁碟 - ED_LINK_MODE:如果傳輸的控件連結到篩選圖形的 [執行]、[ 停止] 和 [ 暫停 ] 方法,則傳回 OATRUE,否則會傳回 OAFALSE。 如需詳細資訊,請參閱 IAMExtTransport::p ut_Mode 。
- ED_MEDIA_PRESENT:如果傳輸的媒體存在,則傳回 OATRUE,否則會傳回 OAFALSE。
- ED_MEDIA_LENGTH:以目前時間格式的單位傳回媒體的長度, (請參閱 IAMExtTransport::SetTransportBasicParameters) 。
- ED_MEDIA_TRACK_COUNT:傳回追蹤計數。
- ED_MEDIA_TRACK_LENGTH:以目前時間格式的單位傳回追蹤長度。
- ED_MEDIA_SIDE:指出媒體作用中的哪一端。
常數 | 描述 |
---|---|
ED_MODE_PLAY_SLOW_FWD_X | 向前播放未指定的慢速。 (廠商特定速度的慢轉播放。) |
ED_MODE_PLAY_FAST_FWD_X | 向前播放未指定的快速。 (以廠商特定的速度快速向前播放。) |
ED_MODE_PLAY_SLOW_REV_X | 反向播放未指定的緩慢。 (廠商特定速度的慢速反向播放。) |
ED_MODE_PLAY_FAST_REV_X | 播放未指定的快速反向。 以廠商特定的速度 (快速反向播放。) |
ED_MODE_STOP_START | 傳輸會在磁帶 (或其他傳輸媒體) 的開頭停止。 |
ED_MODE_STOP_END | 傳輸會在磁帶結尾停止 (或其他傳輸媒體) 。 |
ED_MODE_STOP_EMERGENCY | 傳輸因非預期狀況而停止,或避免傳輸可能損毀。 |
若要使用這些常數,請包含來自 Windows SDK 的頭檔 Xprtdefs.h。
DV 實作
MSDV 支援下列狀態旗標:
- ED_MODE:請參閱先前的備註。
- ED_MEDIA_TYPE:傳回下列其中一個值。
常數 描述 ED_MEDIA_VHS VHS 磁帶。 ED_MEDIA_DVC DV 磁帶。 ED_MEDIA_UNKNOWN 未知的類型。 ED_MEDIA_NOT_PRESENT 傳輸是空的。 - ED_DEV_REMOVED_HEVENT_GET。 傳回事件的句柄。 如果裝置實際從系統移除,驅動程式會發出事件訊號。
- ED_DEV_REMOVED_HEVENT_RELEASE。 釋放透過 ED_DEV_REMOVED_HEVENT_GET 旗標取得的事件句柄。 在 pValue 參數中指定句柄的位址。
- ED_MODE_CHANGE_NOTIFY。 傳回 pValue 中的裝置狀態。 如果方法傳回E_PENDING,狀態變更會暫止。 您可以使用 ED_NOTIFY_HEVENT_GET 旗標,在狀態變更完成時取得通知。
- ED_NOTIFY_HEVENT_GET。 傳回事件的句柄。 當裝置完成模式變更時,驅動程式會發出事件訊號。
- ED_NOTIFY_HEVENT_RELEASE。 釋放透過 ED_NOTIFY_HEVENT_GET 旗標取得的事件句柄。 在 pValue 參數中指定句柄的位址。
MPEG Camcorder 實作
MSTape 支援ED_MEDIA_TYPE旗標的其他媒體格式。
常數 | 描述 |
---|---|
ED_MEDIA_NEO | MPEG-2 傳輸數據流的迷你數位磁帶 (D-VHS) 。 |
其中一些旗標定義在頭檔 Xptrdefs.h 中。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |
程式庫 | Strmiids.lib |