Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I driver possono definire costanti IO_ERR_XXX personalizzate da usare come valori ErrorCode durante la registrazione degli errori. Le coppie di driver scritte insieme possono anche definire valori personalizzati STATUS_XXX per le richieste di IRP_MJ_INTERNAL_DEVICE_CONTROL.
Il diagramma seguente mostra i campi di bit in un valore NTSTATUS a 32 bit.
Il campo sev illustrato nel diagramma precedente indica il codice di gravità, che deve essere uno dei valori definiti dal sistema seguenti:
STATUS_SEVERITY_SUCCESS
Indica un valore NTSTATUS riuscito, ad esempio STATUS_SUCCESS, o il valore IO_ERR_RETRY_SUCCEEDED nei pacchetti del log degli errori.
STATO_GRAVITÀ_INFORMATIVO
Indica un valore NTSTATUS informativo, ad esempio STATUS_SERIAL_MORE_WRITES.
STATUS_SEVERITY_WARNING
Indica un valore NTSTATUS di avviso, ad esempio STATUS_DEVICE_PAPER_EMPTY.
STATUS_SEVERITY_ERROR
Indica un valore NTSTATUS di errore, ad esempio STATUS_INSUFFICIENT_RESOURCES per un valore FinalStatus o un IO_ERR_CONFIGURATION_ERROR per un valore ErrorCode nei pacchetti di log degli errori.
La maggior parte delle costanti IO_ERR_XXX pubbliche appartiene alla categoria STATUS_SEVERITY_ERROR.
Il codice Facility specifica la funzionalità che ha generato l'errore. Per i nuovi valori IO_ERR_XXX, i driver specificano il valore di FACILITY_IO_ERROR_CODE per Facility. Per i valoriSTATUS_ XXX personalizzati, il significato di valori diversi per Facility è definito dal driver.
Il bit C specifica se il valore è definito dal cliente o definito da Microsoft. Il bit viene impostato per i valori definiti dal cliente e chiaro per i valori definiti da Microsoft.
I driver possono definire nuovi valori IO_ERR_XXX per identificare i messaggi di errore personalizzati nel registro eventi di sistema. Per una descrizione di come definire i valori NTSTATUS e i messaggi di errore identificati, vedere Definizione di tipi di errore personalizzati.
Le coppie di driver possono definire valori STATUS_ specifici del driver per comunicare informazioni sulle richieste IRP_MJ_INTERNAL_DEVICE_CONTROL definite privatamente dal driver inferiore al driver superiore della coppia.
Il driver di classe deve eseguire il mapping di qualsiasi valore privato STATUS_XXX a un valore NTSTATUS definito dal sistema quando completa un IRP se un driver di livello superiore esistente routine IoCompletion potrebbe essere chiamata per tale IRP.
Per i driver di visualizzazione e miniport video abbinati, il driver della porta video esegue il mapping tra i valori pubblici STATUS_XXX e le costanti definite da Win32 restituite dai driver video miniport. Per ulteriori informazioni, consultare la sezione Driver Miniport Video nel modello di driver di visualizzazione di Windows 2000.
I driver non possono usare valori NTSTATUS personalizzati per gli IRP che possono essere ricevuti in modalità utente, perché solo i valori definiti dal sistema possono essere convertiti in codici di errore Win32.