In some of its API function Microsoft use the "multi-string" format to specify a list of strings.
As I understand it, a multi-string is a null-terminated buffer of concatenated null-terminated strings. But this can also be interpreted as a list of strings, separated by a null character and terminated by two null characters.
Here comes an example. A list composed of the following items:
"apple", "banana", "orange"
Becomes:
apple\0banana\0orange\0\0
But now I wonder:
How would an empty list be represented ?
Would it be:
\0
Or:
\0\0
I failed to found an accurate documentation that clarifies this. Any clue ?
It would be \0
.
Raymond Chen describes how this works on his blog: the list of strings is terminated by an empty string. If the first string in the list is empty, the list itself is empty.
\0
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With