次の方法で共有


ACX_PROPERTY_ITEM構造体 (acxrequest.h)

ACX_PROPERTY_ITEM 構造体は、ACX 要求のターゲットであるプロパティ項目を記述します。 プロパティは、回線、要素、ピン、ストリームなど、ACX オブジェクトに属する機能または制御状態の設定を表します。詳細については、「KS プロパティの」を参照してください。

構文

typedef struct _ACX_PROPERTY_ITEM {
  const GUID                     *Set;
  ULONG                          Id;
  ULONG                          Flags;
  PFN_ACX_OBJECT_PROCESS_REQUEST EvtAcxObjectProcessRequest;
  PVOID                          Reserved;
  ULONG                          ControlCb;
  ULONG                          ValueCb;
  ULONG                          ValueType;
} ACX_PROPERTY_ITEM, *PACX_PROPERTY_ITEM;

メンバーズ

Set

KS (カーネル ストリーミング) プロパティ項目セットを識別する GUID を指定します。 たとえば、KSPROPSETID_Topologyセット ID はトポロジ回線プロパティのセットです。詳細については、「KSPROPERTY 構造体参照してください。

Id

プロパティ セットのメンバーを指定します。 たとえば、トポロジ プロパティ セットのKSPROPERTY_TOPOLOGY_NODESは、KS NODES (ACXELEMENTS) の一覧を取得するために使用されます。

Flags

Flags フィールドは、AcxRequest ヘッダーで定義されている次のフラグを設定するために使用されます。


#define ACX_PROPERTY_ITEM_FLAG_NONE             0x00000000
#define ACX_PROPERTY_ITEM_FLAG_GET              0x00000001 // KSPROPERTY_TYPE_GET
#define ACX_PROPERTY_ITEM_FLAG_SET              0x00000002 // KSPROPERTY_TYPE_SET
#define ACX_PROPERTY_ITEM_FLAG_BASICSUPPORT     0x00000200 // KSPROPERTY_TYPE_BASICSUPPORT

ACX_PROPERTY_ITEM_FLAG_GET - 指定したプロパティ項目の値を取得します。

ACX_PROPERTY_ITEM_FLAG_SET - 指定したプロパティ項目の値を設定します。

ACX_PROPERTY_ITEM_FLAG_BASICSUPPORT - ドライバーがこのプロパティ項目に対して処理する要求の種類を照会します。 KSPROPERTY_TYPE_GETまたはKSPROPERTY_TYPE_SETまたはその両方を返します。 すべてのプロパティ セットでこのフラグをサポートする必要があります。 また、一部のオブジェクトは、ボリューム範囲など、より多くの情報を返す場合があります。

EvtAcxObjectProcessRequest

この項目に関連付けられているプロパティ ハンドラー EVT_ACX_OBJECT_PROCESS_REQUEST コールバック。

Reserved

このフィールドは予約されています。

ControlCb

追加のコントロール バッファーの最小バイト数 (サイズ)。 最小値がない場合は 0 に設定します。

ValueCb

Value バッファーの最小バイト数 (サイズ)。 最小値がない場合は 0 に設定します。

ValueType

プロパティの VARENUM 型。 既定の動作を使用VT_EMPTY、0 に設定します。

備考

使用例を次に示します。


#define ACX_PROPERTY_ITEM_FLAG_NONE             0x00000000
#define ACX_PROPERTY_ITEM_FLAG_GET              0x00000001 // KSPROPERTY_TYPE_GET
#define ACX_PROPERTY_ITEM_FLAG_SET              0x00000002 // KSPROPERTY_TYPE_SET
#define ACX_PROPERTY_ITEM_FLAG_BASICSUPPORT     0x00000200 // KSPROPERTY_TYPE_BASICSUPPORT

// Pin properties.
static ACX_PROPERTY_ITEM PinProperties[] =
{
    {
        &KSPROPSETID_Pin,
        KSPROPERTY_PIN_DATAFLOW,
        ACX_PROPERTY_ITEM_FLAG_GET,
        &AfxPin::EvtPinDataflowCallback,
        NULL,                       // Reserved
        0,                          // ControlCb
        sizeof(KSPIN_DATAFLOW),     // ValueCb
    },
};  

ACX の要件

最小 ACX バージョン: 1.0

ACX バージョンの詳細については、ACX バージョンの概要参照してください。

必要条件

要件 価値
ヘッダー acxrequest.h

関連項目

  • acxrequest.h ヘッダー を する