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
InstanceSize
指定屬性實例緩衝區的位元組大小。
Instance
屬性實例緩衝區的指標
ValueSize
指定屬性值緩衝區的位元組大小。
Value
屬性值緩衝區的指標
Irp
包含用戶端原始屬性要求的 IRP 指標
備註
這是埠驅動程式傳遞至迷你埠驅動程式屬性處理程式例程的結構。 PCPROPERTY_ITEM 結構包含屬性處理程式的函式指標,其接受PCPROPERTY_REQUEST指標做為其唯一呼叫參數。 埠驅動程式會配置 PCPROPERTY_REQUEST 結構、從原始屬性要求擷取相關信息, (Irp 成員指向) ,並在呼叫處理程式之前將資訊載入這個結構。
在 WDM 音訊中,屬性要求的目標可以是篩選實例或釘選實例。 目標也可以包含節點識別碼。
在用戶端的原始屬性要求中,屬性實例數據一律以 KSPROPERTY 或 KSNODEPROPERTY 結構開頭,但可以包含其他資訊。 如果存在,埠驅動程式會調整 PCPROPERTY_REQUEST 結構的 Instance 成員,以指向這個其他資訊。 如需詳細資訊,請參閱 音訊屬性處理程式。
MajorTarget 和 MinorTarget 成員分別是主要迷你埠物件的 IUnknown 指標和相關聯的數據流物件。 屬性處理程式可以查詢這些物件是否有其迷你埠和數據流介面。 如果屬性要求的目標為篩選實例, MajorTarget 會指向該篩選實例的miniport物件, 而MinorTarget 為 NULL。 如果目標為釘選實例, MinorTarget 會指向該釘選的數據流物件, 而 MajorTarget 會指向釘選所附加之篩選的迷你埠物件。
例如,如果屬性要求的目標為 WaveCyclic 篩選條件上的針腳實例:
- 處理程式可以在MajorTarget物件的IUnknown介面上呼叫QueryInterface,以取得物件的IMiniportWaveCyclic介面參考。
- 處理程式可以在 MinorTarget 物件的 IUnknown 介面上呼叫 QueryInterface,以取得物件的 IMiniportWaveCyclicStream 介面參考。
規格需求
需求 | 值 |
---|---|
標頭 | portcls.h (包括 Portcls.h) |