VOID CdGenerate8dot3Name( IN PIRP_CONTEXT IrpContext, IN PUNICODE_STRING FileName, IN ULONG DirentOffset, OUT PWCHAR ShortFileName, OUT PUSHORT ShortByteCount ); Routine Description: This routine is called to generate a short name from the given long name. We will generate a short name from the given long name. We go through the following steps to make this conversion. 1 - Generate the generic short name. This will also be in unicode format. 2 - Build the string representation of the dirent offset. 3 - Build the biased short name string by combining the generic short name with the dirent offset string. 4 - Copy the final unicode string back to our caller's buffer. Arguments: FileName - String of bytes containing the name. DirentOffset - Offset in the directory for this filename. We incorporate the offset into the short name by dividing this by 32 and prepending a tilde character to the digit character. We then append this to the base of the generated short name. ShortFileName - Pointer to the buffer to store the short name into. ShortByteCount - Address to store the number of bytes in the short name. Return Value: None.