What is OEM_STRING?

Basically, my question is, “What is the difference between ANSI_STRING and
OEM_STRING?”

I was debugging an NT crash yesterday and saw that RDR.SYS calls
RtlUnicodeStringToOemString(), which seems to take 4 parameters versus the 3
that RtlUnicodeStringToAnsiString() takes. I eventually discovered that
OEM_STRING and ANSI_STRING have the same typedef of STRING. But I couldn’t
find a prototype or other information for any OemString routines.

Can anyone satisfy my curiosity?

This is good old AnsiToOem from Win16 :slight_smile:

----- Original Message -----
From: “Taed Wynnell”
To: “NT Developers Interest List”
Sent: Wednesday, May 22, 2002 7:56 PM
Subject: [ntdev] What is OEM_STRING?

> Basically, my question is, “What is the difference between ANSI_STRING and
> OEM_STRING?”
>
> I was debugging an NT crash yesterday and saw that RDR.SYS calls
> RtlUnicodeStringToOemString(), which seems to take 4 parameters versus the 3
> that RtlUnicodeStringToAnsiString() takes. I eventually discovered that
> OEM_STRING and ANSI_STRING have the same typedef of STRING. But I couldn’t
> find a prototype or other information for any OemString routines.
>
> Can anyone satisfy my curiosity?
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>

> This is good old AnsiToOem from Win16 :slight_smile:

OK, but as far as I can tell, ANSI_STRING and OEM_STRING are exactly the
same. If so, why would one need to convert between them? Or is there some
subtle difference?

I think that NetBIOS is using the OEM_STRING, so I guess your Win16 comment
makes sense.

> OK, but as far as I can tell, ANSI_STRING and OEM_STRING are exactly
the

same. If so, why would one need to convert between them? Or is
there some
subtle difference?

Some languages like Russian use different charset encodings for DOS
and Windows.
OEM is DOS, ANSI is Windows.

Max

At 17.44 24/05/2002, you wrote:

> This is good old AnsiToOem from Win16 :slight_smile:
OK, but as far as I can tell, ANSI_STRING and OEM_STRING are exactly the
same. If so, why would one need to convert between them? Or is there
some subtle difference?

Characters beyond code 127 are mapped differently in Unicode between ANSI
and OEM