typedef struct {
fstring valuename;
uint16 type;
+ /* this should be encapsulated in an RPC_DATA_BLOB */
uint32 size; /* in bytes */
uint8 *data_p;
} REGISTRY_VALUE;
#define REG_GET_KEY_SEC 0x0c
#define REG_OPEN_ENTRY 0x0f
#define REG_QUERY_KEY 0x10
-#define REG_INFO 0x11
+#define REG_QUERY_VALUE 0x11
#define REG_RESTORE_KEY 0x13
#define REG_SAVE_KEY 0x14
#define REG_SET_KEY_SEC 0x15
} REG_Q_DELETE_KEY;
typedef struct {
- POLICY_HND key_pol;
WERROR status;
} REG_R_DELETE_KEY;
uint32 ptr_buflen2;
uint32 buflen2;
-} REG_Q_INFO;
+} REG_Q_QUERY_VALUE;
typedef struct {
uint32 *type;
uint32 *buf_max_len;
uint32 *buf_len;
WERROR status; /* return status */
-} REG_R_INFO;
+} REG_R_QUERY_VALUE;
/***********************************************/
/****************************************************************************
do a REG Query Info
****************************************************************************/
-WERROR cli_reg_query_info(struct cli_state *cli, TALLOC_CTX *mem_ctx,
+WERROR cli_reg_query_value(struct cli_state *cli, TALLOC_CTX *mem_ctx,
POLICY_HND *hnd, const char *val_name,
uint32 *type, REGVAL_BUFFER *buffer)
{
- REG_Q_INFO in;
- REG_R_INFO out;
+ REG_Q_QUERY_VALUE in;
+ REG_R_QUERY_VALUE out;
prs_struct qbuf, rbuf;
ZERO_STRUCT (in);
ZERO_STRUCT (out);
- init_reg_q_info(&in, hnd, val_name, buffer);
+ init_reg_q_query_value(&in, hnd, val_name, buffer);
- CLI_DO_RPC( cli, mem_ctx, PI_WINREG, REG_QUERY_KEY,
+ CLI_DO_RPC( cli, mem_ctx, PI_WINREG, REG_QUERY_VALUE,
in, out,
qbuf, rbuf,
- reg_io_q_info,
- reg_io_r_info,
+ reg_io_q_query_value,
+ reg_io_r_query_value,
WERR_GENERAL_FAILURE );
makes a structure.
********************************************************************/
-BOOL init_reg_q_info(REG_Q_INFO *q_u, POLICY_HND *pol, const char *val_name,
+BOOL init_reg_q_query_value(REG_Q_QUERY_VALUE *q_u, POLICY_HND *pol, const char *val_name,
REGVAL_BUFFER *value_output)
{
if (q_u == NULL)
reads or writes a structure.
********************************************************************/
-BOOL reg_io_q_info(const char *desc, REG_Q_INFO *q_u, prs_struct *ps, int depth)
+BOOL reg_io_q_query_value(const char *desc, REG_Q_QUERY_VALUE *q_u, prs_struct *ps, int depth)
{
if ( !q_u )
return False;
- prs_debug(ps, depth, desc, "reg_io_q_info");
+ prs_debug(ps, depth, desc, "reg_io_q_query_value");
depth++;
if(!prs_align(ps))
/*******************************************************************
Inits a structure.
- New version to replace older init_reg_r_info()
+ New version to replace older init_reg_r_query_value()
********************************************************************/
-BOOL init_reg_r_info(uint32 include_keyval, REG_R_INFO *r_u,
+BOOL init_reg_r_query_value(uint32 include_keyval, REG_R_QUERY_VALUE *r_u,
REGISTRY_VALUE *val, WERROR status)
{
uint32 buf_len = 0;
reads or writes a structure.
********************************************************************/
-BOOL reg_io_r_info(const char *desc, REG_R_INFO *r_u, prs_struct *ps, int depth)
+BOOL reg_io_r_query_value(const char *desc, REG_R_QUERY_VALUE *r_u, prs_struct *ps, int depth)
{
if ( !r_u )
return False;
- prs_debug(ps, depth, desc, "reg_io_r_info");
+ prs_debug(ps, depth, desc, "reg_io_r_query_value");
depth++;
if(!prs_align(ps))
}
/*******************************************************************
- api_reg_info
+ api_reg_query_value
********************************************************************/
-static BOOL api_reg_info(pipes_struct *p)
+static BOOL api_reg_query_value(pipes_struct *p)
{
- REG_Q_INFO q_u;
- REG_R_INFO r_u;
+ REG_Q_QUERY_VALUE q_u;
+ REG_R_QUERY_VALUE r_u;
prs_struct *data = &p->in_data.data;
prs_struct *rdata = &p->out_data.rdata;
ZERO_STRUCT(r_u);
/* grab the reg unknown 0x11*/
- if(!reg_io_q_info("", &q_u, data, 0))
+ if(!reg_io_q_query_value("", &q_u, data, 0))
return False;
- r_u.status = _reg_info(p, &q_u, &r_u);
+ r_u.status = _reg_query_value(p, &q_u, &r_u);
- if(!reg_io_r_info("", &r_u, rdata, 0))
+ if(!reg_io_r_query_value("", &r_u, rdata, 0))
return False;
return True;
{ "REG_ENUM_KEY" , REG_ENUM_KEY , api_reg_enum_key },
{ "REG_ENUM_VALUE" , REG_ENUM_VALUE , api_reg_enum_value },
{ "REG_QUERY_KEY" , REG_QUERY_KEY , api_reg_query_key },
- { "REG_INFO" , REG_INFO , api_reg_info },
+ { "REG_QUERY_VALUE" , REG_QUERY_VALUE , api_reg_query_value },
{ "REG_SHUTDOWN" , REG_SHUTDOWN , api_reg_shutdown },
{ "REG_SHUTDOWN_EX" , REG_SHUTDOWN_EX , api_reg_shutdown_ex },
{ "REG_ABORT_SHUTDOWN" , REG_ABORT_SHUTDOWN , api_reg_abort_shutdown },
reg_reply_info
********************************************************************/
-WERROR _reg_info(pipes_struct *p, REG_Q_INFO *q_u, REG_R_INFO *r_u)
+WERROR _reg_query_value(pipes_struct *p, REG_Q_QUERY_VALUE *q_u, REG_R_QUERY_VALUE *r_u)
{
WERROR status = WERR_BADFILE;
fstring name;
regval_ctr_addvalue(®vals, "RefusePasswordChange",
REG_DWORD,
(const char*)&dwValue, sizeof(dwValue));
- val = dup_registry_value(
- regval_ctr_specific_value( ®vals, 0 ) );
+ val = dup_registry_value( regval_ctr_specific_value( ®vals, 0 ) );
status = WERR_OK;
for ( i=0; fetch_reg_values_specific(regkey, &val, i); i++ )
{
DEBUG(10,("_reg_info: Testing value [%s]\n", val->valuename));
- if ( StrCaseCmp( val->valuename, name ) == 0 ) {
+ if ( strequal( val->valuename, name ) ) {
DEBUG(10,("_reg_info: Found match for value [%s]\n", name));
status = WERR_OK;
break;
out:
- init_reg_r_info(q_u->ptr_buf, r_u, val, status);
+ init_reg_r_query_value(q_u->ptr_buf, r_u, val, status);
regval_ctr_destroy( ®vals );
free_registry_value( val );
if ( newparent != parent )
close_registry_key( p, &newparent_handle );
- /* rpc_reg.h says there is a POLICY_HDN in the reply...no idea if that is correct */
-
return write_result ? WERR_OK : WERR_REG_IO_FAILURE;
}