KSMETHOD_ITEM struttura (ks.h)

La struttura KSMETHOD_ITEM descrive un singolo metodo all'interno di un set di metodi.

Sintassi

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

Members

MethodId

Specifica l'identificatore di questo metodo all'interno del set di metodi.

MethodHandler

Puntatore a una routine di callback di KStrMethodHandler fornita da minidriver.

MethodSupported

Specifica se questo metodo è supportato o meno.

MinMethod

Specifica la dimensione minima del buffer necessaria per specificare completamente il metodo. Questa dimensione è almeno sizeof(KSMETHOD) byte.

MinData

Specifica il buffer di dimensioni minime necessarie per specificare il buffer dei dati del metodo. Questo buffer viene usato per leggere e/o scrivere informazioni correlate al metodo.

SupportHandler

Puntatore a una routine di callback di KStrSupportHandler fornita da minidriver.

Flags

Specifica il tipo di richiesta di questa richiesta di metodo.

Valore Tipo di richiesta di metodo
KSMETHOD_TYPE_NONE Indica che il buffer dati del gestore non deve essere usato. Per i metodi con buffer, anche se lo spazio viene allocato, non vengono copiati dati nel buffer di sistema o dal buffer di sistema. Quando in modalità di origine (KSMETHOD_TYPE_SOURCE), non viene creato alcun MDL.
KSMETHOD_TYPE_READ Indica che i parametri devono essere letti dal buffer dati del gestore. In caso di buffer, i dati vengono copiati nel buffer di sistema. Quando in modalità di origine, i dati vengono distribuiti e bloccati per IoReadAccess.
KSMETHOD_TYPE_WRITE Indica che i parametri devono essere scritti nel buffer dati del gestore. In caso di buffer, i dati vengono copiati dal buffer di sistema. Quando in modalità di origine, i dati vengono distribuiti e bloccati per IoWriteAccess.
KSMETHOD_TYPE_MODIFY Indica che i parametri devono essere letti e scritti nel buffer dati del gestore. I dati passati vengono sovrascritti dai dati restituiti. Ciò potrebbe implicare che una struttura passata potrebbe essere semplicemente aggiornata. Quando vengono memorizzati nel buffer, i dati vengono copiati nel buffer di sistema e copiati al termine dell'IRP. Quando in modalità di origine, i dati vengono distribuiti e bloccati per IoModifyAccess.
KSMETHOD_TYPE_SOURCE Indica che il metodo deve essere elaborato in modalità di origine. Un MDL viene allocato e i dati vengono distribuiti e bloccati. Per indicare un metodo con buffer, OR questo flag con altri flag di questo elenco.

Commenti

Un minidriver usa la struttura di KSMETHOD_ITEM per definire i metodi in un set di metodi. Il minidriver implementa i metodi e usa il membro MethodHandler per puntare a questi metodi. Un client può quindi usare la richiesta di IOCTL_KS_METHOD insieme alla struttura KSMETHOD per eseguire metodi in un oggetto di streaming del kernel gestito dal minidriver. Per altre informazioni, vedere Metodi KS.

Requisiti

Requisito Valore
Intestazione ks.h (include Ks.h)

Vedi anche

KSFASTMETHOD_ITEM

KSMETHOD

KStrSupportHandler