uLib
User mode C/C++ extended API library for Win32 programmers.
|
These functions operate on multi-string composites, such as those
returned when reading a whole ini-file section or registry multi-sz.
Macros | |
#define | EnumerateMultiSz EnumerateMultiSzA |
#define | PFnEnumMultiString PFnEnumMultiStringA |
#define | MultiSzLength MultiSzLengthA |
#define | MultiSzCount MultiSzCountA |
Typedefs | |
typedef bool(__stdcall * | PFnEnumMultiStringA) (ASTR Str, PVOID Context) |
typedef bool(__stdcall * | PFnEnumMultiStringW) (WSTR Str, PVOID Context) |
Functions | |
UINT | EnumerateMultiSzA (ASTR MultiSz, PFnEnumMultiStringA Action, PVOID Context) |
UINT | EnumerateMultiSzW (WSTR MultiSz, PFnEnumMultiStringW Action, PVOID Context) |
UINT | MultiSzLengthA (ACSTR MultiSz) |
UINT | MultiSzLengthW (WCSTR MultiSz) |
UINT | MultiSzCountA (ACSTR MultiSz) |
UINT | MultiSzCountW (WCSTR MultiSz) |
TSTR | MultiCrLfToLf (TSTR pText) |
TSTR | LinesToMultiSz (TSTR pText, UINT *ccSz) |
TSTR | MultiSzToLines (TSTR pText) |
TSTR | DuplicateMultiSz (CSTR pzMulti) |
TSTR | FreeMultiSz (TSTR pzMulti) |
#define EnumerateMultiSz EnumerateMultiSzA |
#define PFnEnumMultiString PFnEnumMultiStringA |
#define MultiSzLength MultiSzLengthA |
#define MultiSzCount MultiSzCountA |
typedef bool(__stdcall * PFnEnumMultiStringA) (ASTR Str, PVOID Context) |
PFnEnumMultiString() is the callback function for EnumerateMultiSz().
Str | A string in the multi-sz block. You may subdivide it freely. |
Context | Whatever you passed to EnumerateMultiSz. Return true to continue enumeration. |
typedef bool(__stdcall * PFnEnumMultiStringW) (WSTR Str, PVOID Context) |
UINT EnumerateMultiSzA | ( | ASTR | MultiSz, |
PFnEnumMultiStringA | Action, | ||
PVOID | Context | ||
) |
Enumerate multi-strings.
Return nr of strings actually processed by Action.
MultiSz | Sequential NUL separated strings, ended with an extra NUL. |
Action | Enumeration callback function, PFnEnumMultiString. |
Context | Anything your Action might need. |
Definition at line 392 of file StrFunc.cpp.
UINT EnumerateMultiSzW | ( | WSTR | MultiSz, |
PFnEnumMultiStringW | Action, | ||
PVOID | Context | ||
) |
See EnumerateMultiSzA().
Definition at line 407 of file StrFunc.cpp.
UINT MultiSzLengthA | ( | ACSTR | MultiSz | ) |
MultiSzLength() returns the nr of TCHARs in a multi-string, including the final NUL.
Definition at line 423 of file StrFunc.cpp.
UINT MultiSzLengthW | ( | WCSTR | MultiSz | ) |
See MultiSzLengthA().
Definition at line 430 of file StrFunc.cpp.
UINT MultiSzCountA | ( | ACSTR | MultiSz | ) |
MultiSzCount() returns the nr of strings in a multi-string.
Definition at line 439 of file StrFunc.cpp.
UINT MultiSzCountW | ( | WCSTR | MultiSz | ) |
See MultiSzCountA().
Definition at line 451 of file StrFunc.cpp.
MultiCrLfToLf() ompacts the string by changing CRLFs into single LF delimiters.
The presence of CRLF is assumed already detected or known.
Note:: This does currently not deal with Mac style CR only, or mixed line endings, only strict CRLF endings.
Definition at line 467 of file StrFunc.cpp.
LinesToMultiSz() replaces LFs with NUL, in preparation for writing to registry or ini section.
Optionally return the length of the multi-string, in TCHARs, including final NUL.
Definition at line 493 of file StrFunc.cpp.
MultiSzToLines() replaces NUL delimiters with LF (eg. in multi-sz from registry or ini section).
Definition at line 514 of file StrFunc.cpp.
DuplicateMultiSz() duplicates a multi-string. Free it with FreeMultiSz();
Definition at line 527 of file StrFunc.cpp.
Free a DuplicateMultiSz() string.
Definition at line 538 of file StrFunc.cpp.