ACX_REQUEST_PARAMETERS 結構 (acxrequest.h)
ACX_REQUEST_PARAMETERS 結構會接收與 I/O ACX 要求相關聯的參數。
下列參數是以正在叫用的服務為基礎,例如屬性、方法或事件。 驅動程式可以根據ACX_ITEM_TYPE判斷要使用的設定。
這三種結構的用法有助於將通訊回到現有的核心串流 (KS) 類型。 如需 KS 的詳細資訊,請參閱 KS 屬性、事件和方法。
如需每個類型的特定資訊,請參閱下列主題。
此外,下列主題可能很有用。
Audio Drivers 屬性會設定KSIDENTIFIER 結構 (ks.h)
語法
typedef struct _ACX_REQUEST_PARAMETERS {
USHORT Size;
UCHAR MajorFunction;
UCHAR MinorFunction;
ACX_REQUEST_TYPE Type;
union {
struct {
GUID Set;
ULONG Id;
ACX_PROPERTY_VERB Verb;
ACX_ITEM_TYPE ItemType;
ULONG ItemId;
PVOID Control;
ULONG ControlCb;
PVOID Value;
ULONG ValueCb;
} Property;
struct {
GUID Set;
ULONG Id;
ACX_METHOD_VERB Verb;
ACX_ITEM_TYPE ItemType;
ULONG ItemId;
PVOID Args;
ULONG ArgsCb;
PVOID Result;
ULONG ResultCb;
} Method;
struct {
GUID Set;
ULONG Id;
ACX_EVENT_VERB Verb;
ACX_ITEM_TYPE ItemType;
ULONG ItemId;
PVOID Data;
ULONG DataCb;
ACXEVENTDATA EventData;
} Event;
struct {
PVOID Control;
ULONG ControlCb;
} Create;
} Parameters;
} ACX_REQUEST_PARAMETERS, *PACX_REQUEST_PARAMETERS;
成員
Size
以位元組為單位的結構大小。
MajorFunction
用於此要求的 WDF IRP 主要函式,例如IRP_MJ_DEVICE_CONTROL。 如需 WDF IRP 的詳細資訊,請參閱 IRP 主要函式代碼。
MinorFunction
用於此要求的 WDF IRP 次要函式。 如需次要函式的詳細資訊,請參閱與主要 IRP 相關聯的 ,例如 隨插即用 次要 IRP、電源管理次要 IRP 和 WMI 次要 IRP。
Type
ACX_REQUEST_TYPE列舉描述將在要求中傳送的項目類型。 根據指定的類型,將會使用下列參數的子集。
Parameters
Parameters.Property
KS 屬性的參數正用於 ACX 要求。 如需詳細資訊,請參閱 KSPROPERTY 結構。
Parameters.Property.Set
指定識別核心串流屬性集的 GUID。
Parameters.Property.Id
指定屬性集的成員。
Parameters.Property.Verb
描述屬性動詞的 ACX_PROPERTY_VERB 列舉。
Parameters.Property.ItemType
描述 ACX 專案類型做為此要求目標的 ACX_ITEM_TYPE 列舉。
Parameters.Property.ItemId
項目標識碼。
Parameters.Property.Control
系統服務參數的指標,用來做為 ACX 要求的其他輸入參數。
Parameters.Property.ControlCb
Property.Control 緩衝區 (大小) 的位元組計數。
Parameters.Property.Value
屬性值的指標。
Parameters.Property.ValueCb
Property.Value 緩衝區 (大小) 的位元組計數。
Parameters.Method
KS 方法要求所使用的參數。
Parameters.Method.Set
指定識別核心串流方法集的 GUID。
Parameters.Method.Id
指定方法集的成員。
Parameters.Method.Verb
描述所傳送專案的 ACX_METHOD_VERB 列舉。
Parameters.Method.ItemType
描述 ACX 專案類型做為此要求目標的 ACX_ITEM_TYPE 列舉。
Parameters.Method.ItemId
正在傳送之專案的專案標識碼。
Parameters.Method.Args
方法選擇性自變數的指標。
Parameters.Method.ArgsCb
方法選擇性自變數的位元組 (大小) 計數。
Parameters.Method.Result
方法結果的指標。
Parameters.Method.ResultCb
Method.Result 緩衝區 (大小) 的位元組計數。
Parameters.Event
用於用於 ACX 要求之 KS 事件 的參數。 如需詳細資訊,請參閱 KSEVENT 結構。
Parameters.Event.Set
指定識別核心串流事件集的 GUID。
Parameters.Event.Id
指定事件集的成員。
Parameters.Event.Verb
描述所傳送專案的 ACX_EVENT_VERB 列舉。
Parameters.Event.ItemType
描述 ACX 專案類型做為此要求目標的 ACX_ITEM_TYPE 列舉。
Parameters.Event.ItemId
事件項目標識碼。
Parameters.Event.Data
事件數據的指標。
Parameters.Event.DataCb
event.Data 緩衝區的大小) 位元組 (計數。
Parameters.Event.EventData
ACXEVENTDATA 物件。 如需 ACX 對象的詳細資訊,請參閱 ACX 物件的摘要。
Parameters.Create
結構,包含用於 ACX 要求的建立參數。
Parameters.Create.Control
系統服務參數的指標,用來做為 ACX 要求的其他輸入參數。
Parameters.Create.ControlCb
Create.Control 緩衝區 (大小) 的位元組計數。
備註
只有在使用 I/O ACX 要求時,驅動程式才能使用ACX_REQUEST_PARAMETERS。 驅動程式必須使用 WDF 要求 DDI 來處理其他類型的要求。
範例
範例使用方式如下所示。
ACX_REQUEST_PARAMETERS params;
PAGED_CODE();
//
// Get request parameters.
//
ACX_REQUEST_PARAMETERS_INIT(¶ms);
AcxRequestGetParameters(Request, ¶ms);
ASSERT(params.Type == AcxRequestTypeMethod);
ASSERT(params.Parameters.Method.Verb == AcxMethodVerbSend);
ASSERT(params.Parameters.Method.ArgsCb >= argsCb);
args = (PAPX_CIRCUIT_FACTORY_ADD_CIRCUIT)params.Parameters.Method.Args;
argsCb = params.Parameters.Method.ArgsCb; // use real value.
ACX 需求
最低 ACX 版本: 1.0
如需 ACX 版本的詳細資訊,請參閱 ACX 版本概觀。
規格需求
需求 | 值 |
---|---|
標頭 | acxrequest.h |