NWUXUnicodeToUntermBytePath
Converts a Unicode file path string into an unterminated byte string
#include <nunicode.h> N_EXTERN_LIBRARY(nint) NWUXUnicodeToUntermBytePath ( pCONVERT byteUniHandle, pnuint8 byteOutput, nuint outputBufferLen, const unicode N_FAR *unicodeInput, pnuint actualLength);
uses netwin32 Function NWUXUnicodeToUntermBytePath (byteUniHandle : pCONVERT; byteOutput : pnuint8; outputBufferLen : nuint unicodeInput : const unicode actualLength : pnuint ): nint;
When you want to convert a file path, call the NWUXUnicodeToUntermBytePath function rather than the NWUXUnicodeToUntermByte function.
Regardless of the language being converted, NWUXUnicodeToUntermBytePath interprets Unicode yen (00A5), won (20A9), backslash (005C), and the Novell defined path separator (F8F7) all as path separators and converts each to the byte backslash character (5C).
By default, NWUXUnicodeToUntermBytePath converts an unmappable Unicode character into a special unterminated 6-byte sequence. For example, 0x2620 is converted to "[2620]".
By default, NWUXUnicodeToUntermBytePath does not recognize any special Unicode sequences for conversion. For example, the Unicode string "ab[81]cd" will be returned as the byte string "ab[81]cd".
Call NWUXUnicodeToUntermBytePath to determine the size of the string before it is converted by setting the byteOutput parameter to NULL. The outputBufferLen parameter will be ignored, a converted string will not be returned, and the length of the string if it were converted will be returned in the actualLength parameter.
See exuniubp.c for sample code.