extern void func_RtlMemoryStream(void);
extern void func_RtlNtPathNameToDosPathName(void);
extern void func_RtlpEnsureBufferSize(void);
+extern void func_RtlQueryTimeZoneInformation(void);
extern void func_RtlReAllocateHeap(void);
extern void func_RtlUnicodeStringToAnsiString(void);
extern void func_RtlUpcaseUnicodeStringToCountedOemString(void);
{ "RtlMemoryStream", func_RtlMemoryStream },
{ "RtlNtPathNameToDosPathName", func_RtlNtPathNameToDosPathName },
{ "RtlpEnsureBufferSize", func_RtlpEnsureBufferSize },
+ { "RtlQueryTimeZoneInformation", func_RtlQueryTimeZoneInformation },
{ "RtlReAllocateHeap", func_RtlReAllocateHeap },
{ "RtlUnicodeStringToAnsiString", func_RtlUnicodeStringToAnsiString },
{ "RtlUpcaseUnicodeStringToCountedOemString", func_RtlUpcaseUnicodeStringToCountedOemString },
}
else
{
- /* Check if there's space for the length and type, plus data */
- if (*Length < (2 * sizeof(ULONG) + ValueLength))
+ if (ValueType != REG_BINARY)
{
- /* Nope, fail */
- return STATUS_BUFFER_TOO_SMALL;
- }
+ /* Check if there's space for the length and type, plus data */
+ if (*Length < (2 * sizeof(ULONG) + ValueLength))
+ {
+ /* Nope, fail */
+ return STATUS_BUFFER_TOO_SMALL;
+ }
- /* Return the data */
- *Length++ = ValueLength;
- *Length++ = ValueType;
- RtlCopyMemory(Length, ValueData, ValueLength);
+ /* Return the data */
+ *Length++ = ValueLength;
+ *Length++ = ValueType;
+ RtlCopyMemory(Length, ValueData, ValueLength);
+ }
+ else
+ {
+ /* Return the REG_BINARY data */
+ RtlCopyMemory(Length, ValueData, ValueLength);
+ }
}
}