EVT_ACX_STREAM_RUN回呼函式 (acxstreams.h)
EvtAcxStreamRun 事件會告訴驅動程式將數據流狀態從 [暫停] 轉換為 [執行]。
語法
EVT_ACX_STREAM_RUN EvtAcxStreamRun;
NTSTATUS EvtAcxStreamRun(
ACXSTREAM Stream
)
{...}
參數
Stream
ACXSTREAM 物件代表線路所建立的音訊數據流。 數據流是由根據父線路元素所建立的專案清單所組成。 如需詳細資訊,請參閱 ACX - ACX 物件的摘要。
傳回值
如果呼叫成功,則傳 STATUS_SUCCESS
回 。 否則,它會傳回適當的錯誤碼。 如需詳細資訊,請參閱 使用NTSTATUS值。
備註
AcxStream 支援不同的狀態。 這些狀態表示音訊在流向 (RUN 狀態) 、音訊未流動,但音訊硬體已備妥 (PAUSE 狀態) ,或音訊未流動,且音訊硬體未備妥 (STOP 狀態) 。
EvtAcxStreamRun 事件會將數據流狀態從 [暫停] 狀態轉換為 [執行] 狀態。 數據流處於 [執行] 狀態之後,驅動程式可能會收到 EvtAcxStreamPause 事件,以轉換為暫停狀態。
ACX 事件類似於 KS 狀態,如下表所述。
啟動狀態 | 結束狀態 | 呼叫 ACX 驅動程式事件 | 備註 |
---|---|---|---|
STOP | 獲得 | PrepareHardware | 驅動程式會執行硬體配置和準備 |
獲得 | PAUSE | (無通話) | |
PAUSE | RUN | 執行 | |
RUN | PAUSE | 暫停 | |
PAUSE | 獲得 | (沒有呼叫) | |
獲得 | STOP | ReleaseHardware | 驅動程式釋放硬體配置 |
範例
範例使用方式如下所示。
ACX_STREAM_CALLBACKS streamCallbacks;
ACX_STREAM_CALLBACKS_INIT(&streamCallbacks);
streamCallbacks.EvtAcxStreamRun = EvtStreamRun;
...
status = AcxStreamInitAssignAcxStreamCallbacks(StreamInit, &streamCallbacks);
_Use_decl_annotations_
PAGED_CODE_SEG
NTSTATUS
EvtStreamRun(
_In_ ACXSTREAM Stream
)
{
PSTREAM_CONTEXT ctx;
NTSTATUS status;
PAGED_CODE();
ctx = GetStreamContext(Stream);
status = TransitionStreamToRun(Stream);
if (NT_SUCCESS(status))
{
ctx->StreamState = AcxStreamStateRun;
}
return status;
}
ACX 需求
最低 ACX 版本: 1.0
如需 ACX 版本的詳細資訊,請參閱 ACX 版本概觀。
規格需求
需求 | 值 |
---|---|
標頭 | acxstreams.h |
IRQL | PASSIVE_LEVEL |