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
Richiede l'abilitazione di BypassIO 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 nei volumi e negli stack di archiviazione hanno la possibilità di impostare la richiesta di abilitazione bypassIO, ma sono invitati a mantenerli abilitati il più possibile.

In fase di pre-operazione:

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

Durante la post-operazione, il driver può verificare se tutti i driver sottostanti sono in grado di supportare BypassIO. In caso affermativo, il driver deve mantenere lo 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 abilitata per BypassIO.

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

Anche se un volume o un driver dello stack di archiviazione ha il veto BypassIO, lo stack del file system può continuare a eseguire BypassIO. Ciò è dovuto al fatto che se un utente ha effettuato il veto BypassIO nello stack di volumi, il file system può comunque ignorare i filtri.

BPIO_OP_DISABLE
Richiede che BypassIO sia disabilitato per il volume o il 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 (il numero di volumi passa 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 una query che indica se è possibile abilitare BypassIO per il volume o il disco specificato.

Un driver di archiviazione deve elaborare questa richiesta in modo 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.

Osservazioni

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

Fabbisogno

Requisito Valore
client minimo supportato Windows 11
intestazione ntddstor.h

Vedere anche

IOCTL_STORAGE_MANAGE_BYPASS_IO