Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Chyby jsou určeny jejich hodnotou NTSTATUS. Systém předdefinuje konkrétní hodnoty NTSTATUS, které mohou být používány ovladači, a zapisovače ovladačů mohou definovat další chyby. Všimněte si, že při protokolování chyb lze použít pouze určité hodnoty NTSTATUS.
Každá hodnota NTSTATUS, kterou lze použít při protokolování chyb, má přidruženou chybovou zprávu. Například ovladač paralelního portu používá hodnotu NTSTATUS PAR_INTERRUPT_CONFLICT k reprezentaci konfliktů přerušení hardwaru se zprávou "Konflikt přerušení zjištěn pro %1".
Prohlížeč událostí zobrazí text zprávy v textovém poli Popis v seznamu vlastností položky protokolu. Pokud textový řetězec zprávy obsahuje "%1", prohlížeč událostí ho nahradí názvem zařízení, které záznam protokoloval. Text zprávy může obsahovat další parametry formuláře "%2", "%3" atd. Když ovladač zaznamená chybu do protokolu, může pro tyto parametry zadat řetězcové hodnoty. Tyto řetězcové hodnoty se označují jako řetězce vložení. Prohlížeč událostí je automaticky vloží místo procentuálních hodnot.
Ovladač může do položky protokolu zahrnout také binární data, která jsou označována jako výpisová data. Prohlížeč událostí zobrazí data výpisu v textovém poli Data listu vlastností položky protokolu.
Seznam vlastností položky protokolu můžete zobrazit poklikáním na položku v Prohlížeči událostí. Následující snímek obrazovky ukazuje ukázkový seznam vlastností položky protokolu.
Ovladače používají rutinu IoAllocateErrorLogEntry k přidělení položky protokolu chyb. Položky protokolu se skládají z hlavičky IO_ERROR_LOG_PACKET s proměnnou délkou, za kterou následují řetězce vložení.
Následující diagram znázorňuje rozložení položky protokolu chyb v paměti.
Člen ErrorCodeIO_ERROR_LOG_PACKET určuje hodnotu NTSTATUS chyby. Člen DumpData určuje všechna data výpisu pro položku protokolu. DumpData je pole s proměnlivou velikostí, jehož velikost je určena členem DumpDataSize . Ovladače určují začátek prvního řetězce vložení pomocí členu StringOffset a počet řetězců ve členu NumberOfStrings . Každý samotný řetězec vložení je řetězec Unicode ukončený hodnotou null.
Jakmile ovladač vyplní přidělenou položku protokolu chyb, zapíše položku do protokolu chyb pomocí IoWriteErrorLogEntry. IoWriteErrorLogEntry automaticky uvolní paměť přidělenou pro položku protokolu. Ovladače mohou použít IoFreeErrorLogEntry k uvolnění všech nepoužívaných položek protokolu.
Předdefinované kódy chyb (formuláře IO_ERR_XXX) jsou definovány v souboru hlaviček ntiologc.h, který je součástí sady Windows Driver Kit (WDK). Chybová zpráva přidružená ke každému kódu chyby se nachází v komentářích pro ntiologc.h vedle deklarace kódu chyby. Chcete-li použít předdefinovaný kód chyby, ovladač musí zaregistrovat systémový soubor, iologmsg.dll, jako zdroj přidružených chybových zpráv. Další informace najdete v tématu Registrace jako zdroje chybových zpráv.
Ovladače mohou také definovat vlastní typy chyb a přidružené chybové zprávy. Další informace naleznete v tématu Definování vlastních typů chyb.