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
メソッド ID を指定します。 このメンバーは、メソッド セット内のメソッド項目を識別します。 メソッド セットに n 個の 項目 含まれている場合、有効なメソッド ID は、0 ~ n-1 の範囲の整数です。
Flags
メソッドが使用するパラメーターの受け渡しとメモリ アクセスの種類を指定します。 このメンバーは、次の表の 1 つ以上のフラグ ビットのビットごとの 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
);
ハンドラー ルーチンを呼び出すと、呼び出し元は単一の呼び出しパラメーターを渡します。これは、PCMETHOD_REQUEST型の構造体へのポインターです。
備考
WDM オーディオ サブシステムは現在、フィルター インスタンスまたはピン インスタンスのメソッドをサポートしていません。 この制限により、ノード上のメソッドのサポートも除外されます。
PCAUTOMATION_TABLE 構造体には、PCMETHOD_ITEM構造体の配列へのポインターが含まれています。
必要条件
要件 | 価値 |
---|---|
ヘッダー | portcls.h (Portcls.h を含む) |