#include "pch.h"
Go to the source code of this file.
Functions | |
HANDLE | IoepInitErrLog (IN ULONG KeyType, IN PVOID Key, IN ULONG ulFlags) |
PERRTHREAD | IoepFindErrThread (IN ULONG KeyType, IN PVOID Key) |
PERRTHREAD | IoepNewErrThread (IN ULONG KeyType, IN PVOID Key) |
VOID | IoepLogErr (IN ULONG KeyType, IN PVOID Key, IN CONST GUID *ComponentGuid, IN ULONG ErrCode, IN PWSTR TextData OPTIONAL, IN ULONG DataBlkType, IN ULONG DataBlkLen OPTIONAL, IN PVOID DataBlock OPTIONAL, IN CONST GUID *MofGuid OPTIONAL) |
VOID | IoepFreeErrStack (IN PERRENTRY ErrStack) |
PERRMODULE | IoepFindErrModule (IN CONST GUID *ComponentGuid) |
NTSTATUS | IoepExtractErrData (IN PERRENTRY ErrStack, OUT PVOID Buffer, IN ULONG BuffSize, OUT PULONG DataSize OPTIONAL) |
NTSTATUS | IoepFireWMIEvent (IN PERRINFO ErrInfo, IN PWSTR InstanceName) |
NTSTATUS | IoepHandleErrCase (IN PERRINFO ErrInfo, IN PERRCASE ErrCase, IN ULONG Method, OUT PUNICODE_STRING unicodeMsg OPTIONAL) |
PERRHANDLER | IoepFindErrHandler (IN CONST GUID *ComponentGuid, IN ULONG HandlerIndex) |
BOOLEAN | IoepMatchErrIDPath (IN PERRINFO ErrInfo, IN PERRID ErrIDPath, IN ULONG NumErrIDs) |
NTSTATUS | IoepGetErrMessage (IN PMSGDATA MsgData, IN PERRINFO ErrInfo, OUT PUNICODE_STRING unicodeMsg) |
NTSTATUS | IoepCatMsgArg (IN OUT PUNICODE_STRING unicodeMsg, IN PMSGARG MsgArg, IN PERRINFO ErrInfo) |
NTSTATUS | IoepUnicodeStringCatN (IN OUT PUNICODE_STRING unicodeStr, IN PWSTR pwstr, IN ULONG len) |
PERRCASEDB | IoepGetErrCaseDB (VOID) |
|
Definition at line 1052 of file ioerr.c. References _handlerdata::ComponentGuid, _errcasedb::DataBlkOffset, _errdata::DataBlkOffset, DBGPRINT, ENTER, EXIT, _handlerdata::HandlerIndex, IOEDATA_PRIVATE, IOEDATA_TEXT, IOEDATA_WSTRING, IoepFindErrHandler(), IoepGetErrCaseDB(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, _handlerdata::Param, PERRHANDLER, PROCNAME, RtlAppendUnicodeToString(), STATUS_IOE_DATABASE_NOT_READY, and _errdata::TextDataOffset. Referenced by IoepGetErrMessage().
|
|
Definition at line 501 of file ioerr.c. References ASSERT, Buffer, _errentry::DataBlk, _errdata::DataBlkLen, _errentry::DataBlkLen, _errdata::DataBlkOffset, _errentry::DataBlkType, _errdata::DataBlkType, _errinfo::DataTag, DBGPRINT, ENTER, _errinfo::ErrEntries, _errentry::ErrID, _errdata::ErrID, EXIT, IOE_ERRINFO_VERSION, IoepGetNextErrEntry, _errentry::MofGuid, _errdata::MofGuid, NTSTATUS(), NULL, _errinfo::NumErrEntries, PROCNAME, SIG_ERRINFO, _errinfo::Signature, _errinfo::Size, _errinfo::TagFlags, _errdata::TextDataOffset, _errentry::unicodeStr, and _errinfo::Version. Referenced by IoErrGetErrData().
|
|
Definition at line 824 of file ioerr.c. References ENTER, EXIT, _errmodule::HandlerTable, IoepFindErrModule(), NULL, _errmodule::NumErrHandlers, PERRHANDLER, and PROCNAME. Referenced by IoepCatMsgArg(), and IoepHandleErrCase().
|
|
Definition at line 456 of file ioerr.c. References _errmodule::ComponentGuid, ENTER, EXIT, IoepErrListLock, IoepErrModuleListHead, NULL, and PROCNAME. Referenced by IoepFindErrHandler(), and IoErrRegisterErrHandlers().
|
|
Definition at line 108 of file ioerr.c. References _IO_STACK_LOCATION::DeviceObject, ENTER, EXIT, IoepErrListLock, IoepErrThreadListHead, IoGetCurrentIrpStackLocation, Key, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NULL, _IO_STACK_LOCATION::Parameters, PROCNAME, _errthread::ThreadKey, THREADKEY_IRP, THREADKEY_THREADID, and _errthread::ThreadKeyType. Referenced by IoepInitErrLog(), and IoepLogErr().
|
|
Definition at line 612 of file ioerr.c. References DBGPRINT, ENTER, ExAllocatePoolWithTag, EXIT, IoepGuid, IOETAG_WMIEVENT, IoWMIWriteEvent(), KeQuerySystemTime(), NonPagedPool, NTSTATUS(), NULL, and PROCNAME. Referenced by IoErrTerminateErrLog().
|
|
Definition at line 414 of file ioerr.c. References ASSERT, _errentry::DataBlk, ENTER, ExFreePool(), EXIT, IoepErrListLock, IoepGetNextErrEntry, NULL, PROCNAME, RtlFreeUnicodeString(), _errentry::slist, and _errentry::unicodeStr. Referenced by IoErrTerminateErrLog().
|
|
Definition at line 1200 of file ioerr.c. References DBGPRINT, ENTER, ExAllocatePoolWithTag, ExFreePool(), EXIT, IoepErrCaseDB, IoepRegKeyStrIoErr, IOETAG_ERRCASEDB, IopGetRegistryValue(), L, _errcasedb::Length, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, PROCNAME, RtlInitUnicodeString(), and ZwCreateFile(). Referenced by IoepCatMsgArg(), IoepGetErrMessage(), IoepHandleErrCase(), IoErrFindErrCaseByID(), and IoErrMatchErrCase().
|
|
Definition at line 936 of file ioerr.c. References _errcasedb::DataBlkOffset, DBGPRINT, ENTER, ExAllocatePoolWithTag, EXIT, IoepCatMsgArg(), IoepGetErrCaseDB(), IoepUnicodeStringCatN(), IOETAG_MSGBUFF, L, MAX_MSG_LEN, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, PROCNAME, RtlAppendUnicodeToString(), RtlInitUnicodeString(), and STATUS_IOE_DATABASE_NOT_READY. Referenced by IoepHandleErrCase().
|
|
Definition at line 680 of file ioerr.c. References _errcasedb::DataBlkOffset, DBGPRINT, ENTER, ExAllocatePoolWithTag, EXIT, IOEMETHOD_ANY, IOEMETHOD_HANDLER, IOEMETHOD_LONGMSG, IOEMETHOD_SHORTMSG, IoepFindErrHandler(), IoepGetErrCaseDB(), IoepGetErrMessage(), IOETAG_DATAWSTR, IoRaiseInformationalHardError(), _method::MethodDataOffset, _method::MethodType, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, PERRHANDLER, PROCNAME, RtlFreeUnicodeString(), RtlInitUnicodeString(), STATUS_IOE_DATABASE_NOT_READY, and STATUS_IOE_MESSAGE. Referenced by IoErrGetLongErrMessage(), IoErrGetShortErrMessage(), and IoErrHandleErrCase().
|
|
Definition at line 39 of file ioerr.c. References ASSERT, DBGPRINT, ENTER, _errlog::ErrInfo, _errthread::ErrLogListHead, _errlog::ErrStack, _errlog::ErrThread, ExAllocatePoolWithTag, ExFreePool(), ExInterlockedInsertHeadList(), EXIT, IoepErrListLock, IoepFindErrThread(), IoepNewErrThread(), IOETAG_ERRLOG, Key, _errlog::list, LOGF_INITMASK, NonPagedPool, NULL, PROCNAME, SIG_ERRLOG, _errlog::Signature, and _errlog::ulFlags. Referenced by IoErrInitErrLogByIrp(), and IoErrInitErrLogByThreadID().
|
|
Definition at line 255 of file ioerr.c. References ASSERT, _errid::ComponentGuid, _errentry::DataBlk, _errentry::DataBlkLen, _errentry::DataBlkType, DBGPRINT, ENTER, _errid::ErrCode, ERRENTRY, _errentry::ErrID, _errthread::ErrLogListHead, _errlog::ErrStack, ExAllocatePoolWithTag, ExFreePool(), EXIT, FALSE, IOEDATA_MAX, IOEDATA_NONE, IoepErrListLock, IoepFindErrThread(), IOETAG_DATABLOCK, IOETAG_DATATEXT, IOETAG_ERRENTRY, Key, L, _errentry::MofGuid, NonPagedPool, NULL, PROCNAME, RtlInitUnicodeString(), _errentry::slist, TRUE, and _errentry::unicodeStr. Referenced by IoErrLogErrByIrp(), and IoErrLogErrByThreadID().
|
|
Definition at line 862 of file ioerr.c. References ENTER, EXIT, FALSE, PAGED_CODE, PROCNAME, and TRUE. Referenced by IoErrMatchErrCase().
|
|
Definition at line 186 of file ioerr.c. References DBGPRINT, _IO_STACK_LOCATION::DeviceObject, ENTER, _errthread::ErrLogListHead, ExAllocatePoolWithTag, ExInterlockedInsertHeadList(), EXIT, IoepErrListLock, IoepErrThreadListHead, IOETAG_ERRTHREAD, IoGetCurrentIrpStackLocation, Key, _errthread::list, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NonPagedPool, NULL, _IO_STACK_LOCATION::Parameters, PROCNAME, _errthread::ThreadKey, THREADKEY_IRP, THREADKEY_THREADID, and _errthread::ThreadKeyType. Referenced by IoepInitErrLog().
|
|
Definition at line 1155 of file ioerr.c. References DBGPRINT, ENTER, EXIT, L, NTSTATUS(), PAGED_CODE, PROCNAME, and USHORT. Referenced by IoepGetErrMessage().
|