"Juan Lang" juan.lang@gmail.com writes:
- if (dwFormatStrType & CRYPT_FORMAT_STR_NO_HEX)
- {
static BOOL stringLoaded = FALSE;DWORD bytesNeeded;if (!stringLoaded){LoadStringW(hInstance, IDS_VERISIGN_STATEMENT, verisign_statement,sizeof(verisign_statement) / sizeof(verisign_statement[0]));stringLoaded = TRUE;}
There's no need to store a copy of the string. You should load it directly into the destination buffer.
There's no need to store a copy of the string. You should load it directly into the destination buffer.
LoadStringW doesn't do what FormatVerisignExtension does: it doesn't SetLastError(ERROR_MORE_DATA) if the buffer is too small. The callers of FormatVerisignExtension call it with a NULL pointer to determine the size. --Juan
"Juan Lang" juan.lang@gmail.com writes:
There's no need to store a copy of the string. You should load it directly into the destination buffer.
LoadStringW doesn't do what FormatVerisignExtension does: it doesn't SetLastError(ERROR_MORE_DATA) if the buffer is too small. The callers of FormatVerisignExtension call it with a NULL pointer to determine the size.
Sure, that still doesn't mean you need to store a copy of the string, you can just retrieve a pointer to it by setting length to 0.