Condividi tramite


enumerazione BPIO_OPERATIONS (ntddstor.h)

BPIO_OPERATIONS definisce le varie operazioni BypassIO supportate dal codice di controllo IOCTL_STORAGE_MANAGE_BYPASS_IO .

Sintassi

typedef enum _BPIO_OPERATIONS {
  BPIO_OP_ENABLE,
  BPIO_OP_DISABLE,
  BPIO_OP_QUERY
} BPIO_OPERATIONS;

Costanti

 
BPIO_OP_ENABLE
Le richieste che BypassIO possono essere abilitate per il volume o il disco specificato (dispositivo), il che significa che un driver potrebbe non visualizzare tutte le letture/scritture per tale stack.

NOTA

Tutti i driver nel volume e negli stack di archiviazione hanno l'opportunità di vetare la richiesta di abilitazione bypassIO, ma sono incoraggiati a mantenere il più possibile abilitato.

Nella pre-operazione:

* Se un driver può supportare BypassIO per il dispositivo specificato, deve inoltrare la richiesta verso il basso dello stack.
* Se un driver non può supportare BypassIO per il dispositivo specificato, deve:
* Aggiornare la struttura BPIO_OUTPUT , inclusa l'operazione NTSTATUS che descrive perché la richiesta di abilitazione è stata veto, il nome del driver e una stringa descrittiva univoca e descrittiva con dettagli aggiuntivi sul motivo per cui ha veto la richiesta di abilitazione.
* Completa IOCTL_STORAGE_MANAGE_BYPASS_IO con STATUS_SUCCESS .

Durante l'operazione successiva, il driver può verificare se tutti i driver seguenti sono in grado di supportare BypassIO. In caso affermativo, il driver deve mantenere qualsiasi stato necessario per il file e continuare l'elaborazione del completamento. È responsabilità del driver mantenere lo stato per gestire correttamente le richieste che potrebbero non essere compatibili con lo stato abilitato per BypassIO.

Il file system gestisce un numero di volumi per volume del numero di file attualmente abilitati per BypassIO. L'operazione di BPIO_OP_ENABLE viene inviata solo quando questo conteggio passa da zero a uno.

Anche se un driver dello stack di archiviazione o volume ha veto BypassIO, lo stack di file system può continuare a eseguire BypassIO. Questo perché se un utente ha veto BypassIO nello stack del volume, il file system può comunque ignorare i filtri.

BPIO_OP_DISABLE
Richieste che bypassIO siano disabilitate per il volume/disco specificato. Consente a un driver di pulire qualsiasi stato BypassIO associato.

Il file system invia questa operazione quando l'ultimo file abilitato per BypassIO è disabilitato o chiuso (le transizioni di conteggio per volume da uno a zero).

Se un driver riceve BPIO_OP_DISABLE ma non dispone attualmente di BypassIO abilitato, deve ignorare la richiesta.

Questa operazione non deve essere riuscita.
BPIO_OP_QUERY
Esegue query se BypassIO può essere abilitato per il volume o il disco specificato.

Un driver di archiviazione deve elaborare questa richiesta simile a un'operazione di BPIO_OP_ENABLE , inserendo le stesse informazioni di diagnostica nei campi appropriati nella struttura BPIO_OUTPUT . La differenza principale è che il driver non immette lo stato BypassIO ENABLE durante una QUERY.

Commenti

Per altre informazioni, vedere BypassIO per i driver di archiviazione .

Requisiti

Requisito Valore
Client minimo supportato Windows 11
Intestazione ntddstor.h

Vedi anche

IOCTL_STORAGE_MANAGE_BYPASS_IO