PCPROPERTY_REQUEST結構 (portcls.h)

PCPROPERTY_REQUEST 結構會指定屬性要求。

語法

typedef struct _PCPROPERTY_REQUEST {
  PUNKNOWN              MajorTarget;
  PUNKNOWN              MinorTarget;
  ULONG                 Node;
  const PCPROPERTY_ITEM *PropertyItem;
  ULONG                 Verb;
  ULONG                 InstanceSize;
  PVOID                 Instance;
  ULONG                 ValueSize;
  PVOID                 Value;
  PIRP                  Irp;
} PCPROPERTY_REQUEST, *PPCPROPERTY_REQUEST;

成員

MajorTarget

主要迷你埠物件的IUnknown指標。 此成員包含先前傳遞至 IPort::Init 方法之配接器驅動程式的 UnknownMiniport 參數值。

MinorTarget

MajorTarget迷你埠對象相關聯的數據流物件的IUnknown指標。 如果屬性要求的目標為 pin 實例,此成員會包含 IMiniport Xxx::NewStream 方法先前輸出至埠 (驅動程式的數據流對象指標,例如 IMiniportWaveCyclic::NewStream 方法的 Stream 參數) 。 否則 (如果屬性要求的目標為篩選實例) ,則此成員為 NULL

Node

指定節點識別碼。 此成員會識別要求的目標節點。 如果目標不是節點,此成員會設定為ULONG (-1) 。

PropertyItem

屬性項的指標,這是類型 PCPROPERTY_ITEM的結構。

Verb

指定屬性要求的類型。 動詞 從頭檔 ks.h 設定為下列一或多個旗標位的位 OR:

  • KSPROPERTY_TYPE_GET
  • KSPROPERTY_TYPE_SET
  • KSPROPERTY_TYPE_SETSUPPORT
  • KSPROPERTY_TYPE_BASICSUPPORT
  • KSPROPERTY_TYPE_RELATIONS
  • KSPROPERTY_TYPE_SERIALIZESET
  • KSPROPERTY_TYPE_UNSERIALIZESET
  • KSPROPERTY_TYPE_SERIALIZERAW
  • KSPROPERTY_TYPE_UNSERIALIZERAW
  • KSPROPERTY_TYPE_SERIALIZESIZE
  • KSPROPERTY_TYPE_DEFAULTVALUES
  • KSPROPERTY_TYPE_TOPOLOGY
這些旗標會在 KSPROPERTY 中描述。

InstanceSize

指定屬性實例緩衝區的位元組大小。

Instance

屬性實例緩衝區的指標

ValueSize

指定屬性值緩衝區的位元組大小。

Value

屬性值緩衝區的指標

Irp

包含用戶端原始屬性要求的 IRP 指標

備註

這是埠驅動程式傳遞至迷你埠驅動程式屬性處理程式例程的結構。 PCPROPERTY_ITEM 結構包含屬性處理程式的函式指標,其接受PCPROPERTY_REQUEST指標做為其唯一呼叫參數。 埠驅動程式會配置 PCPROPERTY_REQUEST 結構、從原始屬性要求擷取相關信息, (Irp 成員指向) ,並在呼叫處理程式之前將資訊載入這個結構。

在 WDM 音訊中,屬性要求的目標可以是篩選實例或釘選實例。 目標也可以包含節點識別碼。

在用戶端的原始屬性要求中,屬性實例數據一律以 KSPROPERTYKSNODEPROPERTY 結構開頭,但可以包含其他資訊。 如果存在,埠驅動程式會調整 PCPROPERTY_REQUEST 結構的 Instance 成員,以指向這個其他資訊。 如需詳細資訊,請參閱 音訊屬性處理程式

MajorTargetMinorTarget 成員分別是主要迷你埠物件的 IUnknown 指標和相關聯的數據流物件。 屬性處理程式可以查詢這些物件是否有其迷你埠和數據流介面。 如果屬性要求的目標為篩選實例, MajorTarget 會指向該篩選實例的miniport物件, 而MinorTargetNULL。 如果目標為釘選實例, MinorTarget 會指向該釘選的數據流物件, 而 MajorTarget 會指向釘選所附加之篩選的迷你埠物件。

例如,如果屬性要求的目標為 WaveCyclic 篩選條件上的針腳實例:

如需音訊屬性的背景資訊,請參閱 音訊端點、屬性和事件。 如需可用音訊特定屬性的清單,請參閱 音訊驅動程序屬性集

規格需求

需求
標頭 portcls.h (包括 Portcls.h)

另請參閱

KSNODEPROPERTY

KSNODEPROPERTY_AUDIO_CHANNEL

KSPROPERTY

PCPROPERTY_ITEM