secharptr
You should not use char * in your programs, use secharptr instead. This typedef gives you a pointer to a string of the correct type for the build mode. String constants should be encased in the UNISTR() macro. While "foo" is a literal of type char *, UNISTR("foo") is a literal of type secharptr. If you insist on writing your literals without the UNISTR() macro, your program will not build correctly on Unicode or MBCS systems.
All standard library functions that take a char * parameter have a version that takes an secharptr. Append to the name of the function _sechar. For instance, sprintf only works on ASCII ScriptEase builds while sprintf_sechar works on all builds.