userStrings property
Get an enumerated list of all hard-coded strings in this scope.
Implementation
List<String> get userStrings {
if (_userStrings.isEmpty) {
using((Arena arena) {
final phEnum = arena<HCORENUM>();
final rgStrings = arena<mdString>();
final pcStrings = arena<ULONG>();
final szString = arena<WCHAR>(MAX_STRING_SIZE).cast<Utf16>();
final pchString = arena<ULONG>();
var hr = reader.EnumUserStrings(phEnum, rgStrings, 1, pcStrings);
while (hr == S_OK) {
final stringToken = rgStrings.value;
hr = reader.GetUserString(
stringToken, szString, MAX_STRING_SIZE, pchString);
if (hr == S_OK) {
_userStrings.add(szString.toDartString());
}
hr = reader.EnumUserStrings(phEnum, rgStrings, 1, pcStrings);
}
reader.CloseEnum(phEnum.value);
});
}
return _userStrings;
}