次の方法で共有


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 ヘッダーで定義されている次の Flags を設定するために使用されます。


#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 型。 既定の動作を使用するには、0 に設定します。つまり、VT_EMPTY。

解説

使用例を次に示します。


#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 バージョンの概要」を参照してください。

要件

要件
Header acxrequest.h

こちらもご覧ください