Admin Production ni-theme
Current Publication

RegReadBinary

LabWindows/CVI

RegReadBinary

int RegReadBinary (unsigned int rootKey, const char subkeyName[], const char valueName[], unsigned char dataBuffer[], size_t bufferSize, unsigned int *realDataSize);

Purpose

This function reads raw binary data from the specified Key Value in the Windows Registry. You must specify a Root Key, a Subkey of that Root Key, and the actual Value of that Subkey which you want to read.

If you do not know the size of the data in the Registry, you may pass NULL for the dataBuffer parameter. The function will determine the size of the data and return it through realDataSize. You may then use this value to allocate appropriate space for the data, and call the function again.

Example:

unsigned char *buffer = NULL;
unsigned int size;

RegReadBinary (REGKEY_HKLM, "Software\\MySubKey",
               "MyBinaryValue", NULL, 0, &size);
buffer = (unsigned char*) malloc(size * sizeof(unsigned char));
if (buffer != NULL) {

RegReadBinary (REGKEY_HKLM, "Software\\MySubKey",
               "MyBinaryValue", buffer, size, &size);
// use the data in buffer …
free (buffer);

}

(Linux) This function is not supported.

Parameters

Input
Name Type Description
rootKey unsigned int The Root Key under which you wish to access a Subkey and its value.

See the Windows Registry functions Class help for more information about Root Keys.
subkeyName const char[] The name of the Subkey, relative to the Root Key, from which you wish to read value data.

See the Windows Registry functions Class help for more information about Subkeys.
valueName const char[] The name of the Value from which you want to read data.

See the Windows Registry functions Class help for more information about Key Values.
bufferSize size_t The size of the buffer passed to dataBuffer. This parameter is ignored when you pass NULL in place of an actual buffer.
Output
Name Type Description
dataBuffer unsigned char [] Returns the binary contents of the specified Value of the specified Subkey. This buffer must be large enough to receive all of the binary data. If you are unsure of the size of the data, you may pass NULL. The realDataSize parameter will return the actual size of the data in the Registry.
realDataSize unsigned int Returns the actual size of the data associated with the specified registry Key. You may pass NULL for the dataBuffer parameter and use this value to allocate adequate memory before calling this function again.

Return Value

Name Type Description
status int The status code that the function returns.

0 indicates success.

A negative value indicates an error.

This function may return a Programmer's Toolbox or UI Library error code. Call GetGeneralErrorString to obtain a text description of the error.

Additional Information

Library: Programmer's Toolbox

Include file: toolbox\toolbox.h

LabWindows/CVI compatibility: LabWindows/CVI 5.5 and later