EVT_UCX_ENDPOINT_STATIC_STREAMS_ADD回呼函式 (ucxendpoint.h)
UCX 呼叫以建立靜態數據流的用戶端驅動程序實作。
語法
EVT_UCX_ENDPOINT_STATIC_STREAMS_ADD EvtUcxEndpointStaticStreamsAdd;
NTSTATUS EvtUcxEndpointStaticStreamsAdd(
[in] UCXENDPOINT UcxEndpoint,
[in] ULONG NumberOfStreams,
[in] PUCXSSTREAMS_INIT UcxStaticStreamsInit
)
{...}
參數
[in] UcxEndpoint
代表端點之 UCXENDPOINT 物件的句柄。
[in] NumberOfStreams
要建立的非預設數據流數目。
[in] UcxStaticStreamsInit
包含初始化資訊的不透明結構的指標。 此結構是由UCX管理。
傳回值
如果作業成功,回呼函式必須傳回STATUS_SUCCESS,或NT_SUCCESS (状态) 等於 TRUE 的另一個狀態值。 否則,它必須傳回狀態值,NT_SUCCESS (状态) 等於 FALSE。
備註
UCX 用戶端驅動程式會呼叫 UcxEndpointCreate 方法,向 USB 主機控制器擴充功能註冊此回呼函式, (UCX) 。
此回呼函式會藉由呼叫 UcxStaticStreamsCreate 方法來建立 UCX 靜態數據流物件。 只有一個UCX靜態數據流物件可以與單一端點相關聯。 驅動程式接著會針對每個數據流呼叫 UcxStaticStreamsSetStreamInfo 一次,為每個數據流建立佇列。
在UCX呼叫客戶端驅動程式 的EVT_UCX_ENDPOINT_STATIC_STREAMS_ENABLE 回呼函式之前,不會啟用靜態數據流物件。
範例
NTSTATUS
Endpoint_EvtEndpointStaticStreamsAdd(
UCXENDPOINT UcxEndpoint,
ULONG NumberOfStreams,
PUCXSSTREAMS_INIT UcxStaticStreamsInit
)
{
NTSTATUS status;
WDF_OBJECT_ATTRIBUTES wdfAttributes;
UCXSSTREAMS ucxStaticStreams;
STREAM_INFO streamInfo;
ULONG streamId;
TRY {
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&wdfAttributes, STATIC_STREAMS_CONTEXT);
status = UcxStaticStreamsCreate(UcxEndpoint,
&UcxStaticStreamsInit,
&wdfAttributes,
&ucxStaticStreams);
// … error handling …
for (i = 0, streamId = 1; i < NumberOfStreams; i += 1, streamId += 1) {
// … create WDF queue …
STREAM_INFO_INIT(&streamInfo,
wdfQueue,
streamId);
UcxStaticStreamsSetStreamInfo(ucxStaticStreams, &streamInfo);
}
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
最低 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | ucxendpoint.h (包括 Ucxclass.h、Ucxendpoint.h) |
IRQL | PASSIVE_LEVEL |