IMXF::SetState 方法 (dmusicks.h)
SetState 方法可用來設定 MIDI 轉換介面的狀態。
語法
NTSTATUS SetState(
KSSTATE State
);
參數
State
指定要設定篩選圖表的狀態。 此參數是 KSSTATE 列舉值。 如需詳細資訊,請參閱下列一節。
傳回值
此方法會傳回NTSTATUS,如果呼叫成功,則包含STATUS_SUCCESS。 否則,方法會傳回適當的錯誤碼。
言論
針對音訊篩選圖形,四個 KSSTATE 列舉值會解譯如下:
價值 | 州 |
---|---|
KSSTATE_RUN | 所有專案都正常運作。 在此狀態下,IMXF 介面將會是作用中,並照常傳遞訊息。 |
KSSTATE_ACQUIRE | 這是一種過渡狀態,可協助管理KSSTATE_RUN與KSSTATE_STOP之間的轉換。 在此狀態下,訊息無法在篩選圖表中下游傳遞。 |
KSSTATE_PAUSE | 這是一種過渡狀態,可協助管理KSSTATE_RUN與KSSTATE_STOP之間的轉換。 |
KSSTATE_STOP | 目前篩選圖表中所有專案都已停止。 |
迷你埠驅動程序的行為取決於篩選圖形的狀態。 此行為與轉譯(輸出)和擷取(輸入)不同。
在輸出端,如果目前狀態不是KSSTATE_RUN,IMXF 介面應該會保存數據,而不會傳遞給硬體。 如果目前的狀態是KSTATE_STOP則迷你埠驅動程序應該捨棄它所提供的任何數據,方法是將該數據傳遞至配置器。
在輸入端,如果輸入數據流位於KSSTATE_RUN或KSSTATE_PAUSE中,迷你埠驅動程式會從配置器取得訊息,並將其上游傳送至擷取接收是合法的。 如果狀態為KSSTATE_STOP或KSSTATE_ACQUIRE,且硬體正嘗試產生數據,則應該擲回該數據。
要求
要求 | 價值 |
---|---|
標頭 | dmusicks.h |
IRQL | PASSIVE_LEVEL |