CRegKey::QueryMultiStringValue
Call this method to retrieve the multistring data for a specified value name.
LONG QueryMultiStringValue(
LPCTSTR pszValueName,
LPTSTR pszValue,
ULONG* pnChars
) throw( );
Parameters
pszValueName
Pointer to a null-terminated string containing the name of the value to query.pszValue
Pointer to a buffer that receives the multistring data. A multistring is an array of null-terminated strings, terminated by two null characters.pnChars
The size, in TCHARs, of the buffer pointed to by pszValue. When the method returns, pnChars contains the size, in TCHARs, of the multistring retrieved, including a terminating null character.
Return Value
If the method succeeds, ERROR_SUCCESS is returned. If the method fails to read a value, it returns a nonzero error code defined in WINERROR.H. If the data referenced is not of type REG_MULTI_SZ, ERROR_INVALID_DATA is returned.
Remarks
This method makes use of RegQueryValueEx and confirms that the correct type of data is returned. See RegQueryValueEx for more details.
Security Note |
---|
This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the RegQueryValueEx function used by this method does not explicitly handle strings which are NULL terminated. Both conditions should be checked for by the calling code. |
Requirements
Header: atlbase.h