📄 umessagelog.cpp
字号:
/*____________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: UMessageLog.cpp,v 1.4 2002/08/06 20:09:32 dallen Exp $
____________________________________________________________________________*/
#include "pgpClassesConfig.h"
#include "CString.h"
#include "UDebug.h"
#include "CUnicodeString.h"
#include "DriverMain.h"
#include "..\\PGPdiskMessages.h"
#include "UMessageLog.h"
_USING_PGP
// UMessageLog functions
CComboError
UMessageLog::Output(const char *message)
{
CComboError error;
UDebug::DebugOut("PGPdisk: Outputting to log \"%s\"", message);
CUnicodeString errString(message);
error = errString.Status();
if (error.IsntError())
{
errString.Resize(errString.Length() + 1);
errString.SetAt(errString.Length(), '\0');
PUNICODE_STRING pLogUniData = errString.Get();
PGPUInt8 sizePacket = sizeof(
IO_ERROR_LOG_PACKET) + pLogUniData->Length + sizeof(WCHAR);
PIO_ERROR_LOG_PACKET pIoLogPacket = static_cast<
PIO_ERROR_LOG_PACKET>(IoAllocateErrorLogEntry(
DriverMain::GetDriverObjectInitParam(), sizePacket));
if (IsNull(pIoLogPacket))
error.pgpErr = kPGPError_OutOfMemory;
if (error.IsntError())
{
WCHAR *insertStrPtr;
pIoLogPacket->MajorFunctionCode = 0;
pIoLogPacket->RetryCount = 0;
pIoLogPacket->DumpDataSize = 0;
pIoLogPacket->NumberOfStrings = 1;
pIoLogPacket->StringOffset = sizeof(IO_ERROR_LOG_PACKET);
pIoLogPacket->EventCategory = 0;
pIoLogPacket->ErrorCode = PGPDISK_ERROR_CODE;
pIoLogPacket->UniqueErrorValue = 0;
pIoLogPacket->FinalStatus = STATUS_SUCCESS;
pIoLogPacket->SequenceNumber = 0;
pIoLogPacket->IoControlCode = 0;
pIoLogPacket->DeviceOffset.QuadPart = 0;
insertStrPtr = reinterpret_cast<WCHAR *>(
reinterpret_cast<PGPByte *>(pIoLogPacket) +
pIoLogPacket->StringOffset);
pgpCopyMemory(pLogUniData->Buffer, insertStrPtr,
pLogUniData->Length);
IoWriteErrorLogEntry(pIoLogPacket);
}
}
if (error.IsError())
UDebug::DebugOut("PGPdisk: Message log output failure!");
return error;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -