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) |