1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

s3:registry: add a delete_subkey method to the backend ops.

This is to provide a more atomic means of deleting a subkey of a key.

Michael
This commit is contained in:
Michael Adam 2009-02-26 02:54:50 +01:00
parent 61bdfd09ed
commit 97508eefb7
3 changed files with 11 additions and 0 deletions

View File

@ -5096,6 +5096,7 @@ void reghook_dump_cache( int debuglevel );
bool store_reg_keys( REGISTRY_KEY *key, struct regsubkey_ctr *subkeys );
bool store_reg_values( REGISTRY_KEY *key, REGVAL_CTR *val );
WERROR create_reg_subkey(REGISTRY_KEY *key, const char *subkey);
WERROR delete_reg_subkey(REGISTRY_KEY *key, const char *subkey);
int fetch_reg_keys( REGISTRY_KEY *key, struct regsubkey_ctr *subkey_ctr );
int fetch_reg_values( REGISTRY_KEY *key, REGVAL_CTR *val );
bool regkey_access_check( REGISTRY_KEY *key, uint32 requested, uint32 *granted,

View File

@ -132,6 +132,7 @@ typedef struct {
int (*fetch_values) ( const char *key, REGVAL_CTR *val );
bool (*store_subkeys)( const char *key, struct regsubkey_ctr *subkeys );
WERROR (*create_subkey)(const char *key, const char *subkey);
WERROR (*delete_subkey)(const char *key, const char *subkey);
bool (*store_values)( const char *key, REGVAL_CTR *val );
bool (*reg_access_check)( const char *keyname, uint32 requested,
uint32 *granted,

View File

@ -109,6 +109,15 @@ WERROR create_reg_subkey(REGISTRY_KEY *key, const char *subkey)
return WERR_NOT_SUPPORTED;
}
WERROR delete_reg_subkey(REGISTRY_KEY *key, const char *subkey)
{
if (key->ops && key->ops->delete_subkey) {
return key->ops->delete_subkey(key->name, subkey);
}
return WERR_NOT_SUPPORTED;
}
/***********************************************************************
High level wrapper function for enumerating registry subkeys
Initialize the TALLOC_CTX if necessary