PCMETHOD_ITEM-Struktur (portcls.h)

Die PCMETHOD_ITEM-Struktur beschreibt eine Methode, die von einem Filter, Pin oder Knoten unterstützt wird.

Syntax

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

Member

Set

Gibt den Methodensatz an. Dieses Element ist ein Zeiger auf eine GUID, die den Methodensatz eindeutig identifiziert.

Id

Gibt die Methoden-ID an. Dieses Element identifiziert ein Methodenelement im Methodensatz. Wenn der Methodensatz n Elemente enthält, sind gültige Methoden-IDs ganze Zahlen im Bereich von 0 bis n-1.

Flags

Gibt den Typ der Parameterübergabe und des Arbeitsspeicherzugriffs an, den eine Methode verwendet. Dieses Element kann auf das bitweise ODER eines oder mehrerer Flagbits in der folgenden Tabelle festgelegt werden.

Flagbit Bedeutung
PCMETHOD_ITEM_FLAG_MODIFY Die -Methode liest aus und schreibt in den Parameterpuffer.
PCMETHOD_ITEM_FLAG_NONE Die -Methode verwendet nicht den Parameterpuffer.
PCMETHOD_ITEM_FLAG_READ Die -Methode liest aus dem Parameterpuffer.
PCMETHOD_ITEM_FLAG_SOURCE Die Methode prüft und sperrt Speicherseiten, bevor sie den Speicherzugriff versucht.
PCMETHOD_ITEM_FLAG_WRITE Die -Methode schreibt in den Parameterpuffer.

Handler

Zeiger auf die Methodenhandlerroutine. Dieses Element ist ein Funktionszeiger vom Typ PCPFNMETHOD_HANDLER, der wie folgt definiert ist:

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

Beim Aufrufen der Handlerroutine übergibt der Aufrufer einen einzelnen Aufrufparameter, bei dem es sich um einen Zeiger auf eine Struktur vom Typ PCMETHOD_REQUEST handelt.

Hinweise

Das WDM-Audiosubsystem unterstützt derzeit keine Methoden für Filterinstanzen oder Anheftinstanzen. Diese Einschränkung schließt auch die Unterstützung von Methoden auf Knoten aus.

Die PCAUTOMATION_TABLE-Struktur enthält einen Zeiger auf ein Array von PCMETHOD_ITEM Strukturen.

Anforderungen

Anforderung Wert
Header portcls.h (include Portcls.h)

Weitere Informationen

PCMETHOD_REQUEST