PCMETHOD_ITEM結構 (portcls.h)

PCMETHOD_ITEM結構描述篩選、釘選或節點所支援的方法。

語法

typedef struct {
  const GUID          *Set;
  ULONG               Id;
  ULONG               Flags;
  PCPFNMETHOD_HANDLER Handler;
} PCMETHOD_ITEM, *PPCMETHOD_ITEM;

成員

Set

指定方法集。 這個成員是可唯一識別方法集之 GUID 的指標。

Id

指定方法識別碼。 這個成員會識別方法集合中的方法專案。 如果方法集包含 n 個專案,有效的方法標識碼是範圍 0 到 n-1 的整數。

Flags

指定方法所使用的參數傳遞和記憶體存取類型。 這個成員可以設定為下表中一或多個旗標位的位 OR。

旗標位 意義
PCMETHOD_ITEM_FLAG_MODIFY 方法會從 參數緩衝區讀取和寫入。
PCMETHOD_ITEM_FLAG_NONE 方法不會使用參數緩衝區。
PCMETHOD_ITEM_FLAG_READ 方法會從參數緩衝區讀取。
PCMETHOD_ITEM_FLAG_SOURCE 方法會先探查並鎖定記憶體分頁,然後再嘗試存取記憶體。
PCMETHOD_ITEM_FLAG_WRITE 方法會寫入參數緩衝區。

Handler

方法處理程式例程的指標。 此成員是類型為 PCPFNMETHOD_HANDLER 的函式指標,其定義如下:

  typedef NTSTATUS (*PCPFNMETHOD_HANDLER)
  (
      IN PPCMETHOD_REQUEST  MethodRequest
  );

呼叫 Handler 例程時,呼叫端會傳入單一呼叫參數,這是 類型PCMETHOD_REQUEST結構的指標。

備註

WDM 音訊子系統目前不支援篩選實例或釘選實例的方法。 這項限制也會排除節點上方法的支援。

PCAUTOMATION_TABLE 結構包含PCMETHOD_ITEM結構的陣列指標。

規格需求

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

另請參閱

PCMETHOD_REQUEST