mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 02:25:17 +00:00
94 lines
3.2 KiB
C
94 lines
3.2 KiB
C
|
#ifndef __REGUTILS_H__
|
||
|
#define __REGUTILS_H__
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
typedef LRESULT
|
||
|
(*PQUERY_REGISTRY_KEYS_ROUTINE)(IN HKEY hRootKey,
|
||
|
IN LPCWSTR KeyName,
|
||
|
IN LPWSTR SubKeyName,
|
||
|
IN HKEY hOpenedSubKey,
|
||
|
IN PVOID Context,
|
||
|
IN PVOID EntryContext);
|
||
|
|
||
|
#define QUERY_REGISTRY_KEYS_ROUTINE(fnName) \
|
||
|
LRESULT (fnName)(IN HKEY hRootKey, \
|
||
|
IN LPCWSTR KeyName, \
|
||
|
IN LPWSTR SubKeyName, \
|
||
|
IN HKEY hOpenedSubKey, \
|
||
|
IN PVOID Context, \
|
||
|
IN PVOID EntryContext)
|
||
|
|
||
|
typedef struct __tagQUERY_REGISTRY_KEYS_TABLE
|
||
|
{
|
||
|
PQUERY_REGISTRY_KEYS_ROUTINE QueryRoutine;
|
||
|
PVOID EntryContext;
|
||
|
// Other fields ?
|
||
|
} QUERY_REGISTRY_KEYS_TABLE, *PQUERY_REGISTRY_KEYS_TABLE;
|
||
|
|
||
|
LRESULT
|
||
|
RegQueryRegistryKeys(IN HKEY hRootKey,
|
||
|
IN LPCWSTR KeyName,
|
||
|
IN PQUERY_REGISTRY_KEYS_TABLE QueryTable,
|
||
|
IN PVOID Context);
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
typedef LRESULT
|
||
|
(*PQUERY_REGISTRY_VALUES_ROUTINE)(IN HKEY hRootKey,
|
||
|
IN LPCWSTR KeyName,
|
||
|
IN LPWSTR ValueName,
|
||
|
IN DWORD ValueType,
|
||
|
IN LPBYTE ValueData,
|
||
|
IN DWORD ValueLength,
|
||
|
IN PVOID Context,
|
||
|
IN PVOID EntryContext);
|
||
|
|
||
|
#define QUERY_REGISTRY_VALUES_ROUTINE(fnName) \
|
||
|
LRESULT (fnName)(IN HKEY hRootKey, \
|
||
|
IN LPCWSTR KeyName, \
|
||
|
IN LPWSTR ValueName, \
|
||
|
IN DWORD ValueType, \
|
||
|
IN LPBYTE ValueData, \
|
||
|
IN DWORD ValueLength, \
|
||
|
IN PVOID Context, \
|
||
|
IN PVOID EntryContext)
|
||
|
|
||
|
typedef struct __tagQUERY_REGISTRY_VALUES_TABLE
|
||
|
{
|
||
|
PQUERY_REGISTRY_VALUES_ROUTINE QueryRoutine;
|
||
|
PVOID EntryContext;
|
||
|
// Other fields ?
|
||
|
} QUERY_REGISTRY_VALUES_TABLE, *PQUERY_REGISTRY_VALUES_TABLE;
|
||
|
|
||
|
LRESULT
|
||
|
RegQueryRegistryValues(IN HKEY hRootKey,
|
||
|
IN LPCWSTR KeyName,
|
||
|
IN PQUERY_REGISTRY_VALUES_TABLE QueryTable,
|
||
|
IN PVOID Context);
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
LONG
|
||
|
RegGetDWORDValue(IN HKEY hKey,
|
||
|
IN LPCWSTR lpSubKey OPTIONAL,
|
||
|
IN LPCWSTR lpValue OPTIONAL,
|
||
|
OUT LPDWORD lpData OPTIONAL);
|
||
|
|
||
|
LONG
|
||
|
RegSetDWORDValue(IN HKEY hKey,
|
||
|
IN LPCWSTR lpSubKey OPTIONAL,
|
||
|
IN LPCWSTR lpValue OPTIONAL,
|
||
|
IN BOOL bCreateKeyIfDoesntExist,
|
||
|
IN DWORD dwData);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} // extern "C"
|
||
|
#endif
|
||
|
|
||
|
#endif // __REGUTILS_H__
|