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