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_ITEM_TYPE 列舉,描述 ACX 專案類型為此要求的目標。
Parameters.Property.ItemId
項目標識碼。
Parameters.Property.Control
系統服務參數的指標,做為 ACX 要求的其他輸入參數。
Parameters.Property.ControlCb
Property.Control 緩衝區的位元組 (size) 計數。
Parameters.Property.Value
屬性值的指標。
Parameters.Property.ValueCb
Property.Value 緩衝區的位元組 (size) 計數。
Parameters.Method
用於 KS 方法 要求的參數。
Parameters.Method.Set
指定可識別核心串流方法集的 GUID。
Parameters.Method.Id
指定方法集的成員。
Parameters.Method.Verb
描述所傳送專案的 ACX_METHOD_VERB 列舉。
Parameters.Method.ItemType
ACX_ITEM_TYPE 列舉,描述 ACX 專案類型為此要求的目標。
Parameters.Method.ItemId
正在傳送之專案的專案標識碼。
Parameters.Method.Args
方法選擇性自變數的指標。
Parameters.Method.ArgsCb
方法之選擇性自變數的位元組 (size) 計數。
Parameters.Method.Result
方法結果的指標。
Parameters.Method.ResultCb
Method.Result 緩衝區的位元組 (size) 計數。
Parameters.Event
用於用於 ACX 要求 KS 事件 的參數。 如需詳細資訊,請參閱 KSEVENT 結構。
Parameters.Event.Set
指定 GUID,識別核心串流事件集。
Parameters.Event.Id
指定事件集的成員。
Parameters.Event.Verb
描述所傳送專案的 ACX_EVENT_VERB 列舉。
Parameters.Event.ItemType
ACX_ITEM_TYPE 列舉,描述 ACX 專案類型為此要求的目標。
Parameters.Event.ItemId
事件項目標識碼。
Parameters.Event.Data
事件數據的指標。
Parameters.Event.DataCb
Event.Data 緩衝區的位元組 (size) 計數。
Parameters.Event.EventData
ACXEVENTDATA 物件。 如需 ACX 物件的詳細資訊,請參閱 ACX 物件的 摘要。
Parameters.Create
結構,其中包含用於 ACX 要求的建立參數。
Parameters.Create.Control
系統服務參數的指標,做為 ACX 要求的其他輸入參數。
Parameters.Create.ControlCb
Create.Control 緩衝區的位元組 (size) 計數。
言論
只有在使用 I/O ACX 要求時,驅動程式才能使用ACX_REQUEST_PARAMETERS。 驅動程式必須使用 WDF 要求 DIS 來處理其他類型的要求。
例
範例使用方式如下所示。
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 |