MCI 命令的分類

[與此頁面 MCI相關聯的功能是舊版功能。 它已被 MediaPlayer 取代MediaPlayer已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer 而非 MCI。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

MCI 定義四個命令分類:系統、必要、基本和擴充。 下列清單描述這些命令分類:

  • 系統命令 會直接由 MCI 處理,而不是由驅動程式處理。
  • 驅動程式會處理必要的命令。 所有 MCI 驅動程式都必須支援必要的命令和旗標。
  • 某些裝置會使用基本命令 (或選擇性命令) 。 如果裝置支援基本命令,它必須支援該命令的一組已定義旗標。
  • 擴充命令 專屬於裝置類型或驅動程式。 擴充命令包括命令,例如放置 (MCI_PUT) ,以及數位視訊迭裝置類型的 (MCI_WHERE) 命令,以及現有命令的擴充功能 (,例如狀態 (MCI_STATUS MCI_STATUS) 命令) 。

雖然系統和必要命令是任何 MCI 驅動程式的最低命令集,但所有驅動程式都不支援基本和擴充命令。 您的應用程式一律可以使用系統和必要的命令及其旗標,但如果需要使用基本或擴充的命令或旗標,它應該先使用 (MCI_GETDEVCAPS) 命令來查詢驅動程式。 下列各節摘要說明每個類別中的特定命令。

系統命令

MCI 會直接處理下列系統命令,而不是將它們傳遞至 MCI 裝置。

String 訊息 描述
break MCI_BREAK 設定 MCI 裝置的中斷金鑰。
sysinfo MCI_SYSINFO 傳回 MCI 裝置的相關資訊。

 

必要命令

所有 MCI 裝置都支援下列必要命令。

String 訊息 描述
能力 MCI_GETDEVCAPS 取得裝置的功能。
關閉 MCI_CLOSE 關閉裝置。
資訊 MCI_INFO 從裝置取得文字資訊。
打開 MCI_OPEN 初始化裝置。
地位 MCI_STATUS 從裝置取得狀態資訊。 不需要此命令的某些旗標,因此也是基本命令。

 

裝置也必須支援必要命令的標準命令旗標集。

基本命令

下列清單摘要說明基本命令。 MCI 裝置使用這些命令是選擇性的。

String 訊息 描述
負荷 MCI_LOAD 從檔案載入資料。
暫停 MCI_PAUSE 停止播放。 您可以在目前的位置繼續播放或錄製。
MCI_PLAY 開始傳輸輸出資料。
record MCI_RECORD 開始錄製輸入資料。
恢復 MCI_RESUME 繼續在暫停的裝置上播放或錄製。
MCI_SAVE 將資料儲存至磁片檔案。
尋求 MCI_SEEK 向前或向後搜尋。
設置 MCI_SET 設定裝置的作業狀態。
地位 MCI 狀態 取得裝置的狀態資訊。 這也是必要的命令;由於部分旗標並非必要,因此也會列在這裡。 (選用專案支援使用線性媒體與可識別位置的裝置。)
停止 MCI_STOP 停止播放。

 

如果驅動程式支援基本命令,它也必須支援命令的標準旗標集。

擴充命令

某些 MCI 裝置有其他命令,或將旗標新增至現有的命令。 雖然某些擴充的命令僅適用于特定設備磁碟機,但大部分都會套用至特定裝置類型的所有驅動程式。 例如, sequencer 裝置類型的命令集會擴充 set (MCI_SET) 命令,以新增 MIDI sequencers 所需的時間格式。

您不應該假設裝置支援擴充命令或旗標。 您可以使用 功能 (MCI_GETDEVCAPS) 命令來判斷是否支援特定功能,而且您的應用程式應該準備好處理「不支援的命令」或「不支援的函式」傳回值。

下列擴充命令適用于列出的裝置類型。

String 訊息 裝置類型 描述
配置 MCI_CONFIGURE digitalvideo 顯示組態對話方塊。
提示 MCI_CUE digitalvideo、waveaudio 準備播放或錄製。
刪除 MCI_DELETE waveaudio 從媒體檔案中刪除資料區段。
escape MCI_ESCAPE videodisc 將自訂資訊傳送至裝置。
凍結 MCI_FREEZE overlay 停用畫面緩衝區的視訊擷取。
MCI PUT digitalvideo, 重迭 定義來源、目的地和框架視窗。
實現 MCI_REALIZE digitalvideo 告知裝置選取並實現其調色盤到顯示視窗的裝置內容中。
setaudio MCI_ SETAUDIO digitalvideo 設定視訊的音訊參數。
setvideo MCI_ SETVIDEO digitalvideo 設定視訊參數。
信號 MCI_SIGNAL digitalvideo 識別具有訊號的指定位置。
自 旋 MCI_SPIN videodisc 啟動磁片旋轉,或停止光碟旋轉。
MCI_STEP digitalvideo, videodisc 向前或反向播放一或多個畫面。
解凍 MCI_UNFREEZE overlay 讓畫面緩衝區取得視訊資料。
更新 MCI_UPDATE digitalvideo 將目前的畫面重新繪製到裝置內容中。
where MCI WHERE digitalvideo, 重迭 取得指定來源、目的地或框架區域的矩形。
視窗 MCI_WINDOW digitalvideo, 重迭 控制顯示視窗。