The UTF8 conversion functions treat UTF8_STRING as:
struct {
USHORT Length;
CHAR Buffer[ANYSIZE_ARRAY];
} UTF8_STRING;
But UTF8_STRING is defined by later WDKs as:
struct {
USHORT Length;
USHORT MaximumLength;
PCHAR Buffer;
} UTF8_STRING;
This difference leads to an 0x3B BSOD when anything attempts to use any WMI
method that deals with strings.
Replace UTF8_STRING with OEM_STRING which is available in all WDKs, and has
the same definition as UTF8_STRING from later WDKs, simplifying the usage
of retrieving strings from, or putting strings into, WMI buffers.
Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx>