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電源管理次要 IRPWMI 次要 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(&params);
    AcxRequestGetParameters(Request, &params);

    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

另請參閱