mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 17:27:03 +00:00
[FORMATTING]
- Apply consistent indentation svn path=/trunk/; revision=47003
This commit is contained in:
parent
14347c75ad
commit
ee1d26e73c
1 changed files with 102 additions and 96 deletions
|
@ -17,105 +17,109 @@
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
NTSTATUS NTAPI
|
NTSTATUS
|
||||||
RtlFindMessage(PVOID BaseAddress,
|
NTAPI
|
||||||
ULONG Type,
|
RtlFindMessage(
|
||||||
ULONG Language,
|
PVOID BaseAddress,
|
||||||
ULONG MessageId,
|
ULONG Type,
|
||||||
PRTL_MESSAGE_RESOURCE_ENTRY *MessageResourceEntry)
|
ULONG Language,
|
||||||
|
ULONG MessageId,
|
||||||
|
PRTL_MESSAGE_RESOURCE_ENTRY *MessageResourceEntry)
|
||||||
{
|
{
|
||||||
LDR_RESOURCE_INFO ResourceInfo;
|
LDR_RESOURCE_INFO ResourceInfo;
|
||||||
PIMAGE_RESOURCE_DATA_ENTRY ResourceDataEntry;
|
PIMAGE_RESOURCE_DATA_ENTRY ResourceDataEntry;
|
||||||
PRTL_MESSAGE_RESOURCE_DATA MessageTable;
|
PRTL_MESSAGE_RESOURCE_DATA MessageTable;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
ULONG EntryOffset = 0, IdOffset = 0;
|
ULONG EntryOffset = 0, IdOffset = 0;
|
||||||
PRTL_MESSAGE_RESOURCE_ENTRY MessageEntry;
|
PRTL_MESSAGE_RESOURCE_ENTRY MessageEntry;
|
||||||
ULONG i;
|
ULONG i;
|
||||||
|
|
||||||
DPRINT("RtlFindMessage()\n");
|
DPRINT("RtlFindMessage()\n");
|
||||||
|
|
||||||
ResourceInfo.Type = Type;
|
ResourceInfo.Type = Type;
|
||||||
ResourceInfo.Name = 1;
|
ResourceInfo.Name = 1;
|
||||||
ResourceInfo.Language = Language;
|
ResourceInfo.Language = Language;
|
||||||
|
|
||||||
Status = LdrFindResource_U(BaseAddress,
|
Status = LdrFindResource_U(BaseAddress,
|
||||||
&ResourceInfo,
|
&ResourceInfo,
|
||||||
RESOURCE_DATA_LEVEL,
|
RESOURCE_DATA_LEVEL,
|
||||||
&ResourceDataEntry);
|
&ResourceDataEntry);
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("ResourceDataEntry: %p\n", ResourceDataEntry);
|
DPRINT("ResourceDataEntry: %p\n", ResourceDataEntry);
|
||||||
|
|
||||||
Status = LdrAccessResource(BaseAddress,
|
Status = LdrAccessResource(BaseAddress,
|
||||||
ResourceDataEntry,
|
ResourceDataEntry,
|
||||||
(PVOID*)&MessageTable,
|
(PVOID*)&MessageTable,
|
||||||
NULL);
|
NULL);
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("MessageTable: %p\n", MessageTable);
|
DPRINT("MessageTable: %p\n", MessageTable);
|
||||||
|
|
||||||
DPRINT("NumberOfBlocks %lu\n", MessageTable->NumberOfBlocks);
|
DPRINT("NumberOfBlocks %lu\n", MessageTable->NumberOfBlocks);
|
||||||
for (i = 0; i < MessageTable->NumberOfBlocks; i++)
|
for (i = 0; i < MessageTable->NumberOfBlocks; i++)
|
||||||
{
|
{
|
||||||
DPRINT("LoId 0x%08lx HiId 0x%08lx Offset 0x%08lx\n",
|
DPRINT("LoId 0x%08lx HiId 0x%08lx Offset 0x%08lx\n",
|
||||||
MessageTable->Blocks[i].LowId,
|
MessageTable->Blocks[i].LowId,
|
||||||
MessageTable->Blocks[i].HighId,
|
MessageTable->Blocks[i].HighId,
|
||||||
MessageTable->Blocks[i].OffsetToEntries);
|
MessageTable->Blocks[i].OffsetToEntries);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < MessageTable->NumberOfBlocks; i++)
|
for (i = 0; i < MessageTable->NumberOfBlocks; i++)
|
||||||
{
|
{
|
||||||
if ((MessageId >= MessageTable->Blocks[i].LowId) &&
|
if ((MessageId >= MessageTable->Blocks[i].LowId) &&
|
||||||
(MessageId <= MessageTable->Blocks[i].HighId))
|
(MessageId <= MessageTable->Blocks[i].HighId))
|
||||||
{
|
{
|
||||||
EntryOffset = MessageTable->Blocks[i].OffsetToEntries;
|
EntryOffset = MessageTable->Blocks[i].OffsetToEntries;
|
||||||
IdOffset = MessageId - MessageTable->Blocks[i].LowId;
|
IdOffset = MessageId - MessageTable->Blocks[i].LowId;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MessageId < MessageTable->Blocks[i].LowId)
|
if (MessageId < MessageTable->Blocks[i].LowId)
|
||||||
{
|
{
|
||||||
return STATUS_MESSAGE_NOT_FOUND;
|
return STATUS_MESSAGE_NOT_FOUND;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MessageTable->NumberOfBlocks <= i)
|
if (MessageTable->NumberOfBlocks <= i)
|
||||||
{
|
{
|
||||||
return STATUS_MESSAGE_NOT_FOUND;
|
return STATUS_MESSAGE_NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageEntry = (PRTL_MESSAGE_RESOURCE_ENTRY)((PUCHAR)MessageTable + MessageTable->Blocks[i].OffsetToEntries);
|
MessageEntry = (PRTL_MESSAGE_RESOURCE_ENTRY)
|
||||||
|
((PUCHAR)MessageTable + MessageTable->Blocks[i].OffsetToEntries);
|
||||||
|
|
||||||
DPRINT("EntryOffset 0x%08lx\n", EntryOffset);
|
DPRINT("EntryOffset 0x%08lx\n", EntryOffset);
|
||||||
DPRINT("IdOffset 0x%08lx\n", IdOffset);
|
DPRINT("IdOffset 0x%08lx\n", IdOffset);
|
||||||
|
|
||||||
DPRINT("MessageEntry: %p\n", MessageEntry);
|
DPRINT("MessageEntry: %p\n", MessageEntry);
|
||||||
for (i = 0; i < IdOffset; i++)
|
for (i = 0; i < IdOffset; i++)
|
||||||
{
|
{
|
||||||
MessageEntry = (PRTL_MESSAGE_RESOURCE_ENTRY)((PUCHAR)MessageEntry + (ULONG)MessageEntry->Length);
|
MessageEntry = (PRTL_MESSAGE_RESOURCE_ENTRY)
|
||||||
}
|
((PUCHAR)MessageEntry + (ULONG)MessageEntry->Length);
|
||||||
|
}
|
||||||
|
|
||||||
if (MessageEntry->Flags == 0)
|
if (MessageEntry->Flags == 0)
|
||||||
{
|
{
|
||||||
DPRINT("AnsiText: %s\n", MessageEntry->Text);
|
DPRINT("AnsiText: %s\n", MessageEntry->Text);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DPRINT("UnicodeText: %S\n", (PWSTR)MessageEntry->Text);
|
DPRINT("UnicodeText: %S\n", (PWSTR)MessageEntry->Text);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MessageResourceEntry != NULL)
|
if (MessageResourceEntry != NULL)
|
||||||
{
|
{
|
||||||
*MessageResourceEntry = MessageEntry;
|
*MessageResourceEntry = MessageEntry;
|
||||||
}
|
}
|
||||||
|
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -139,22 +143,24 @@ RtlFindMessage(PVOID BaseAddress,
|
||||||
*
|
*
|
||||||
* @unimplemented
|
* @unimplemented
|
||||||
*/
|
*/
|
||||||
NTSTATUS NTAPI
|
NTSTATUS
|
||||||
RtlFormatMessage(PWSTR Message,
|
NTAPI
|
||||||
UCHAR MaxWidth,
|
RtlFormatMessage(
|
||||||
BOOLEAN IgnoreInserts,
|
PWSTR Message,
|
||||||
BOOLEAN Ansi,
|
UCHAR MaxWidth,
|
||||||
BOOLEAN ArgumentIsArray,
|
BOOLEAN IgnoreInserts,
|
||||||
va_list *Arguments,
|
BOOLEAN Ansi,
|
||||||
PWSTR Buffer,
|
BOOLEAN ArgumentIsArray,
|
||||||
ULONG BufferSize)
|
va_list *Arguments,
|
||||||
|
PWSTR Buffer,
|
||||||
|
ULONG BufferSize)
|
||||||
{
|
{
|
||||||
DPRINT1("RtlFormatMessage(%S, %u, %s, %s, %s, %s, %p, %lu)\n",
|
DPRINT1("RtlFormatMessage(%S, %u, %s, %s, %s, %s, %p, %lu)\n",
|
||||||
Message, MaxWidth, IgnoreInserts ? "TRUE" : "FALSE", Ansi ? "TRUE" : "FALSE",
|
Message, MaxWidth, IgnoreInserts ? "TRUE" : "FALSE", Ansi ? "TRUE" : "FALSE",
|
||||||
ArgumentIsArray ? "TRUE" : "FALSE", (PSTR)Arguments, Buffer, BufferSize);
|
ArgumentIsArray ? "TRUE" : "FALSE", (PSTR)Arguments, Buffer, BufferSize);
|
||||||
|
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue