[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 443
  • Last Modified:

Error 234 with CRegKey. Empty String values.

When I use CRegKey.QueryValue I get the correct number of letters in the string, but my LPTSTR is always empty. The error that is returned is 234 which is ERROR_MORE_DATA. What does this mean? And why does it only do half of what it's supposed to do?

//Here is the line (note, opening the key is ERROR_SUCCESS):
error_num = key.QueryValue(lpStringVal, "LocalService", &dwStringSize);

//dwStringSize is 39 (the correct number)
//but lpStringVal is empty.
0
xxchange
Asked:
xxchange
1 Solution
 
dirty_dogCommented:
You need to initialize dwStringSize to the maximum number of letters that lpStringVal can hold.  Then QueryValue will replace it with the letters actually read.

This allows you to query the value once with 0 bytes, allocate enough memory to hold the value, and then query again for the actual value.
0
 
xxchangeAuthor Commented:
Thanks alot. Worked like a charm. You rock.


0

Featured Post

[Webinar] Improve your customer journey

A positive customer journey is important in attracting and retaining business. To improve this experience, you can use Google Maps APIs to increase checkout conversions, boost user engagement, and optimize order fulfillment. Learn how in this webinar presented by Dito.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now