dos name in km

Is there a way to get a DOS file name in kernel mode. I found exports from
ntdll.dll with names RtlIsNameLegalDOS8Dot3 and RtlGenerate8dot3Name and
their prototypes:

RtlIsNameLegalDOS8Dot3(
IN PUNICODE_STRING UnicodeName,
IN PANSI_STRING AnsiName,
PBOOLEAN);

RtlGenerate8dot3Name(
IN PUNICODE_STRING Name,
IN BOOLEAN AllowExtendedCharacters,
IN OUT PGENERATE_NAME_CONTEXT Context,
OUT PUNICODE_STRING Name8dot3);

typedef struct __GENERATE_NAME_CONTEXT {
USHORT Checksum;
BOOLEAN CheckSumInserted;
UCHAR NameLength;
WCHAR NameBuffer[8];
ULONG ExtensionLength;
WCHAR ExtensionBuffer[4];
ULONG LastIndexValue;
} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;

But there is no any documentation. Does anyone know a workaround for all
this?


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Those are for generating 8.3 names. Depending on the filesystem, a
directory query can produce ‘long names’, ‘short names’, or both long
and short names.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Alexey Logachyov
Sent: Sunday, October 07, 2001 4:35 AM
To: File Systems Developers
Subject: [ntfsd] dos name in km

Is there a way to get a DOS file name in kernel mode. I found
exports from ntdll.dll with names RtlIsNameLegalDOS8Dot3 and
RtlGenerate8dot3Name and their prototypes:

RtlIsNameLegalDOS8Dot3(
IN PUNICODE_STRING UnicodeName,
IN PANSI_STRING AnsiName,
PBOOLEAN);

RtlGenerate8dot3Name(
IN PUNICODE_STRING Name,
IN BOOLEAN AllowExtendedCharacters,
IN OUT PGENERATE_NAME_CONTEXT Context,
OUT PUNICODE_STRING Name8dot3);

typedef struct __GENERATE_NAME_CONTEXT {
USHORT Checksum;
BOOLEAN CheckSumInserted;
UCHAR NameLength;
WCHAR NameBuffer[8];
ULONG ExtensionLength;
WCHAR ExtensionBuffer[4];
ULONG LastIndexValue;
} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;

But there is no any documentation. Does anyone know a
workaround for all this?


You are currently subscribed to ntfsd as:
xxxxx@hollistech.com To unsubscribe send a blank email to
leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com

What does it mean “to get”?
For existing file? Then use IRP_MJ_QUERY_INFORMATION.
Or you are creating a new file? Then the functions below are for you.

Max

----- Original Message -----
From: “Alexey Logachyov”
To: “File Systems Developers”
Sent: Sunday, October 07, 2001 12:35 PM
Subject: [ntfsd] dos name in km

> Is there a way to get a DOS file name in kernel mode. I found exports from
> ntdll.dll with names RtlIsNameLegalDOS8Dot3 and RtlGenerate8dot3Name and
> their prototypes:
>
> RtlIsNameLegalDOS8Dot3(
> IN PUNICODE_STRING UnicodeName,
> IN PANSI_STRING AnsiName,
> PBOOLEAN);
>
> RtlGenerate8dot3Name(
> IN PUNICODE_STRING Name,
> IN BOOLEAN AllowExtendedCharacters,
> IN OUT PGENERATE_NAME_CONTEXT Context,
> OUT PUNICODE_STRING Name8dot3);
>
> typedef struct __GENERATE_NAME_CONTEXT {
> USHORT Checksum;
> BOOLEAN CheckSumInserted;
> UCHAR NameLength;
> WCHAR NameBuffer[8];
> ULONG ExtensionLength;
> WCHAR ExtensionBuffer[4];
> ULONG LastIndexValue;
> } GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;
>
> But there is no any documentation. Does anyone know a workaround for all
> this?
>
>
>
> —
> You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Short name for existing file. Could you please explain how to use
IRP_MJ_QUERY_INFORMATION for this.

----- Original Message -----
From: “Maxim S. Shatskih”
To: “File Systems Developers”
Sent: Sunday, October 07, 2001 20:54
Subject: [ntfsd] Re: dos name in km

> What does it mean “to get”?
> For existing file? Then use IRP_MJ_QUERY_INFORMATION.
> Or you are creating a new file? Then the functions below are for you.
>
> Max
>
> ----- Original Message -----
> From: “Alexey Logachyov”
> To: “File Systems Developers”
> Sent: Sunday, October 07, 2001 12:35 PM
> Subject: [ntfsd] dos name in km
>
>
> > Is there a way to get a DOS file name in kernel mode. I found exports
from
> > ntdll.dll with names RtlIsNameLegalDOS8Dot3 and RtlGenerate8dot3Name and
> > their prototypes:
> >
> > RtlIsNameLegalDOS8Dot3(
> > IN PUNICODE_STRING UnicodeName,
> > IN PANSI_STRING AnsiName,
> > PBOOLEAN);
> >
> > RtlGenerate8dot3Name(
> > IN PUNICODE_STRING Name,
> > IN BOOLEAN AllowExtendedCharacters,
> > IN OUT PGENERATE_NAME_CONTEXT Context,
> > OUT PUNICODE_STRING Name8dot3);
> >
> > typedef struct __GENERATE_NAME_CONTEXT {
> > USHORT Checksum;
> > BOOLEAN CheckSumInserted;
> > UCHAR NameLength;
> > WCHAR NameBuffer[8];
> > ULONG ExtensionLength;
> > WCHAR ExtensionBuffer[4];
> > ULONG LastIndexValue;
> > } GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;
> >
> > But there is no any documentation. Does anyone know a workaround for all
> > this?
> >
> >
> >
> > —
> > You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
> > To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> >
>
>
> —
> You are currently subscribed to ntfsd as: xxxxx@vba.com.by
> To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com