共用方式為


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_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(&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

另請參閱