val_context


struct val_context {
      int valuelen;    // the total length of this value
      PVOID value_context;  // the value context 
      PVOID val_buff_ptr;  // where in the ouput buffer the value is.
  };
  typedef struct val_context *PVALCONTEXT;

An array of these structures is passed to the handler function. There is one structure for each value. This structure should not be confused with a value_context, which is one of the fields in this structure.

valuelen

The length of the value. It includes the null terminating character for strings. If the provider keeps value lengths, then this needs to be filled in by the provider in the handler function. (It is sometimes an "output" parameter).

value_context

The value context for this value - the 32-bit value that is meaningful only to the provider. It is provided to the handler function by the registry code (it is an "input" parameter)

val_buff_ptr

A pointer to the place in the buffer where the value is. It must be filled by the provider in the handler function. (It is an "output" parameter)