Freigeben über


KSMETHOD_ITEM-Struktur (ks.h)

Die KSMETHOD_ITEM-Struktur beschreibt eine einzelne Methode innerhalb eines Methodensatzes.

Syntax

typedef struct {
  ULONG        MethodId;
  union {
    PFNKSHANDLER MethodHandler;
    BOOLEAN      MethodSupported;
  };
  ULONG        MinMethod;
  ULONG        MinData;
  PFNKSHANDLER SupportHandler;
  ULONG        Flags;
} KSMETHOD_ITEM, *PKSMETHOD_ITEM;

Member

MethodId

Gibt den Bezeichner dieser Methode innerhalb des Methodensatzes an.

MethodHandler

Zeiger auf eine von Minidriver bereitgestellte KStrMethodHandler-Rückrufroutine .

MethodSupported

Gibt an, ob diese Methode unterstützt wird.

MinMethod

Gibt die Mindestgröße des Puffers an, die erforderlich ist, um die Methode vollständig anzugeben. Diese Größe beträgt mindestens sizeof(KSMETHOD)-Bytes.

MinData

Gibt die Mindestgröße des Puffers an, der zum Angeben des Methodendatenpuffers erforderlich ist. Dieser Puffer wird verwendet, um Informationen im Zusammenhang mit der -Methode zu lesen und/oder zu schreiben.

SupportHandler

Zeiger auf eine von Minidriver bereitgestellte KStrSupportHandler-Rückrufroutine .

Flags

Gibt den Anforderungstyp dieser Methodenanforderung an.

Wert Typ der Methodenanforderung
KSMETHOD_TYPE_NONE Gibt an, dass der Datenpuffer des Handlers nicht verwendet werden soll. Bei gepufferten Methoden werden zwar Speicherplatz belegt, aber keine Daten in den oder aus dem Systempuffer kopiert. Im Quellmodus (KSMETHOD_TYPE_SOURCE) wird keine MDL erstellt.
KSMETHOD_TYPE_READ Gibt an, dass Parameter aus dem Datenpuffer des Handlers gelesen werden sollen. Wenn die Daten gepuffert werden, werden sie in den Systempuffer kopiert. Im Quellmodus werden die Daten für IoReadAccess überprüft und gesperrt.
KSMETHOD_TYPE_WRITE Gibt an, dass Parameter in den Datenpuffer des Handlers geschrieben werden sollen. Wenn sie gepuffert sind, werden Daten aus dem Systempuffer kopiert. Im Quellmodus werden die Daten für IoWriteAccess überprüft und gesperrt.
KSMETHOD_TYPE_MODIFY Gibt an, dass Parameter gelesen und in den Datenpuffer des Handlers geschrieben werden sollen. Die übergebenen Daten werden von den zurückgegebenen Daten überschrieben. Dies kann bedeuten, dass eine übergebene Struktur lediglich aktualisiert werden kann. Wenn sie gepuffert werden, werden die Daten in den Systempuffer kopiert und nach Abschluss des IRP wieder kopiert. Im Quellmodus werden die Daten für IoModifyAccess überprüft und gesperrt.
KSMETHOD_TYPE_SOURCE Gibt an, dass die Methode im Quellmodus verarbeitet werden soll. Eine MDL wird zugeordnet, und die Daten werden getestet und gesperrt. Um eine gepufferte Methode anzugeben, ODER dieses Flag mit anderen Flags aus dieser Liste.

Hinweise

Ein Minidriver verwendet die KSMETHOD_ITEM-Struktur, um Methoden in einem Methodensatz zu definieren. Der Minidriver implementiert Methoden und verwendet den MethodHandler-Member , um auf diese Methoden zu verweisen. Ein Client kann dann die IOCTL_KS_METHOD-Anforderung zusammen mit der KSMETHOD-Struktur verwenden, um Methoden für ein Kernelstreamingobjekt auszuführen, das vom Minidriver verarbeitet wird. Weitere Informationen finden Sie unter KS-Methoden.

Anforderungen

Anforderung Wert
Header ks.h (ks.h einschließen)

Weitere Informationen

KSFASTMETHOD_ITEM

KSMETHOD

KStrSupportHandler