Go to the source code of this file.
Classes | |
struct | _errentry |
struct | _errthread |
struct | _errlog |
struct | _savedata |
struct | _errmodule |
Defines | |
#define | IOETAG_ERRLOG 'LeoI' |
#define | IOETAG_ERRTHREAD 'TeoI' |
#define | IOETAG_ERRENTRY 'EeoI' |
#define | IOETAG_DATABLOCK 'DeoI' |
#define | IOETAG_ERRMODULE 'MeoI' |
#define | IOETAG_MSGBUFF 'BeoI' |
#define | IOETAG_ERRCASEDB 'CeoI' |
#define | IOETAG_DATATEXT 'XeoI' |
#define | IOETAG_DATAWSTR 'SeoI' |
#define | IOETAG_ERRINFO 'IeoI' |
#define | IOETAG_SAVEDATA 'VeoI' |
#define | IOETAG_WMIEVENT 'WeoI' |
#define | THREADKEY_IRP 1 |
#define | THREADKEY_THREADID 2 |
#define | IOEMETHOD_ANY 0 |
#define | IOEMETHOD_LONGMSG 1 |
#define | IOEMETHOD_SHORTMSG 2 |
#define | IOEMETHOD_HANDLER 3 |
#define | IOE_ERRINFO_VERSION 1 |
#define | IOE_INFOBLK_VERSION 1 |
#define | PROCNAME(s) |
#define | DBGPRINT(p) |
#define | SIG_ERRLOG 'GOLE' |
#define | LOGF_INITMASK 0x00000000 |
#define | SIG_SAVEDATA 'TADE' |
#define | IoepGetErrStack(ErrLog) CONTAINING_RECORD((ErrLog)->ErrStack.Next, ERRENTRY, slist) |
#define | IoepGetNextErrEntry(ErrEntry) |
Typedefs | |
typedef _errentry | ERRENTRY |
typedef _errentry * | PERRENTRY |
typedef _errthread | ERRTHREAD |
typedef _errthread * | PERRTHREAD |
typedef _errlog | ERRLOG |
typedef _errlog * | PERRLOG |
typedef _savedata | SAVEDATA |
typedef _savedata * | PSAVEDATA |
typedef _errmodule | ERRMODULE |
typedef _errmodule * | PERRMODULE |
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) |
NTSTATUS | IopGetRegistryValue (IN HANDLE KeyHandle, IN PWSTR ValueName, OUT PKEY_VALUE_FULL_INFORMATION *Information) |
Variables | |
PERRCASEDB | IoepGetErrCaseDB (VOID) |
|
|
Definition at line 53 of file ioep.h. Referenced by IoepExtractErrData(). |
|
Definition at line 54 of file ioep.h. Referenced by IoErrRetrieveSavedData(). |
|
Definition at line 48 of file ioep.h. Referenced by IoepHandleErrCase(), and IoErrHandleErrCase(). |
|
Definition at line 51 of file ioep.h. Referenced by IoepHandleErrCase(). |
|
Definition at line 49 of file ioep.h. Referenced by IoepHandleErrCase(), and IoErrGetLongErrMessage(). |
|
Definition at line 50 of file ioep.h. Referenced by IoepHandleErrCase(), and IoErrGetShortErrMessage(). |
|
Definition at line 133 of file ioep.h. Referenced by IoErrGetErrData(), IoErrPropagateErrLog(), and IoErrTerminateErrLog(). |
|
Value: Definition at line 136 of file ioep.h. Referenced by IoepExtractErrData(), and IoepFreeErrStack(). |
|
Definition at line 35 of file ioep.h. Referenced by IoepLogErr(). |
|
Definition at line 39 of file ioep.h. Referenced by IoepLogErr(). |
|
Definition at line 40 of file ioep.h. Referenced by IoepHandleErrCase(). |
|
Definition at line 38 of file ioep.h. Referenced by IoepGetErrCaseDB(). |
|
Definition at line 34 of file ioep.h. Referenced by IoepLogErr(). |
|
Definition at line 41 of file ioep.h. Referenced by IoErrGetErrData(). |
|
Definition at line 32 of file ioep.h. Referenced by IoepInitErrLog(). |
|
Definition at line 36 of file ioep.h. Referenced by IoErrRegisterErrHandlers(). |
|
Definition at line 33 of file ioep.h. Referenced by IoepNewErrThread(). |
|
Definition at line 37 of file ioep.h. Referenced by IoepGetErrMessage(). |
|
Definition at line 42 of file ioep.h. Referenced by IoErrSaveErrData(). |
|
Definition at line 43 of file ioep.h. Referenced by IoepFireWMIEvent(). |
|
Definition at line 113 of file ioep.h. Referenced by IoepInitErrLog(). |
|
|
Definition at line 112 of file ioep.h. Referenced by IoepInitErrLog(), IoErrGetErrData(), IoErrPropagateErrLog(), IoErrSaveErrData(), and IoErrTerminateErrLog(). |
|
Definition at line 121 of file ioep.h. Referenced by IoErrFreeSavedData(), IoErrGetSavedData(), and IoErrSaveErrData(). |
|
Definition at line 45 of file ioep.h. Referenced by IoepFindErrThread(), IoepNewErrThread(), IoErrInitErrLogByIrp(), IoErrLogErrByIrp(), and IoErrTerminateErrLog(). |
|
Definition at line 46 of file ioep.h. Referenced by IoepFindErrThread(), IoepNewErrThread(), IoErrInitErrLogByThreadID(), and IoErrLogErrByThreadID(). |
|
Referenced by IoepLogErr(). |
|
Referenced by IoErrPropagateErrLog(). |
|
Referenced by IoErrRegisterErrHandlers(). |
|
|
|
Referenced by IoErrPropagateErrLog(). |
|
Referenced by IoErrInitErrLogByIrp(). |
|
Referenced by IoErrRegisterErrHandlers(). |
|
|
|
Referenced by IoErrSaveErrData(). |
|
Referenced by IoErrSaveErrData(). |
|
Definition at line 1052 of file ioerr.c. References _handlerdata::ComponentGuid, _errdata::DataBlkOffset, _errcasedb::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, _errentry::DataBlkLen, _errdata::DataBlkLen, _errdata::DataBlkOffset, _errdata::DataBlkType, _errentry::DataBlkType, _errinfo::DataTag, DBGPRINT, ENTER, _errinfo::ErrEntries, _errdata::ErrID, _errentry::ErrID, EXIT, IOE_ERRINFO_VERSION, IoepGetNextErrEntry, _errdata::MofGuid, _errentry::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 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().
|
|
Definition at line 2546 of file internal.c. References ExAllocatePool, ExFreePool(), NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, RtlInitUnicodeString(), and ValueName. Referenced by EisaGetEisaDevicesResources(), IoepGetErrCaseDB(), IoGetDeviceInterfaceAlias(), IoGetDeviceProperty(), IoOpenDeviceRegistryKey(), IopAppendStringToValueKey(), IopApplyFunctionToServiceInstances(), IopCallDriverAddDevice(), IopCallDriverAddDeviceQueryRoutine(), IopCheckDependencies(), IopCopyBootLogRegistryToFile(), IopCreateMadeupNode(), IopDeleteLegacyKey(), IopDeviceObjectFromDeviceInstance(), IopDriverLoadingFailed(), IopGetDeviceInstanceCsConfigFlags(), IopGetDeviceInterfaces(), IopGetDeviceResourcesFromRegistry(), IopGetDriverDeviceList(), IopGetDriverNameFromKeyNode(), IopGetDriverTagPriority(), IopGetGroupOrderIndex(), IopGetRegistryDwordWithFallback(), IopGetRegistrySecurityWithFallback(), IopGetRegistryValues(), IopGetServiceInstanceCsConfigFlags(), IopGetServiceType(), IopInitializeBootDrivers(), IopInitializeDeviceInstanceKey(), IopInitializePlugPlayServices(), IopInitializeSystemDrivers(), IopIsAnyDeviceInstanceEnabled(), IopIsDeviceInstanceEnabled(), IopIsFirmwareMapperDevicePresent(), IopIsReportedAlready(), IopLoadDriver(), IopPrepareDriverLoading(), IopProcessCriticalDeviceRoutine(), IopProcessSetInterfaceState(), IopReadDeviceConfiguration(), IopReadDumpRegistry(), IopRemoveDeviceInterfaces(), IopRemoveStringFromValueKey(), IopServiceInstanceToDeviceInstance(), IopSetSecurityObjectFromRegistry(), IopUnregisterDeviceInterface(), PnPCheckFixedIoOverrideDecodes(), and PnPGetDevnodeExcludeList().
|
|
|