reactos/dll/win32/advapi32/reg/reg.h

99 lines
1.9 KiB
C

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
* FILE: lib/advapi32/reg/reg.c
* PURPOSE: Registry functions
*/
#pragma once
/* FUNCTIONS ****************************************************************/
FORCEINLINE
BOOL
IsHKCRKey(_In_ HKEY hKey)
{
return ((ULONG_PTR)hKey & 0x2) != 0;
}
FORCEINLINE
void
MakeHKCRKey(_Inout_ HKEY* hKey)
{
*hKey = (HKEY)((ULONG_PTR)(*hKey) | 0x2);
}
LONG
WINAPI
CreateHKCRKey(
_In_ HKEY hKey,
_In_ LPCWSTR lpSubKey,
_In_ DWORD Reserved,
_In_opt_ LPWSTR lpClass,
_In_ DWORD dwOptions,
_In_ REGSAM samDesired,
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
_Out_ PHKEY phkResult,
_Out_opt_ LPDWORD lpdwDisposition);
LONG
WINAPI
OpenHKCRKey(
_In_ HKEY hKey,
_In_ LPCWSTR lpSubKey,
_In_ DWORD ulOptions,
_In_ REGSAM samDesired,
_In_ PHKEY phkResult);
LONG
WINAPI
DeleteHKCRKey(
_In_ HKEY hKey,
_In_ LPCWSTR lpSubKey,
_In_ REGSAM RegSam,
_In_ DWORD Reserved);
LONG
WINAPI
QueryHKCRValue(
_In_ HKEY hKey,
_In_ LPCWSTR Name,
_In_ LPDWORD Reserved,
_In_ LPDWORD Type,
_In_ LPBYTE Data,
_In_ LPDWORD Count);
LONG
WINAPI
SetHKCRValue(
_In_ HKEY hKey,
_In_ LPCWSTR Name,
_In_ DWORD Reserved,
_In_ DWORD Type,
_In_ CONST BYTE* Data,
_In_ DWORD DataSize);
LONG
WINAPI
EnumHKCRKey(
_In_ HKEY hKey,
_In_ DWORD dwIndex,
_Out_ LPWSTR lpName,
_Inout_ LPDWORD lpcbName,
_Reserved_ LPDWORD lpReserved,
_Out_opt_ LPWSTR lpClass,
_Inout_opt_ LPDWORD lpcbClass,
_Out_opt_ PFILETIME lpftLastWriteTime);
LONG
WINAPI
EnumHKCRValue(
_In_ HKEY hKey,
_In_ DWORD index,
_Out_ LPWSTR value,
_Inout_ PDWORD val_count,
_Reserved_ PDWORD reserved,
_Out_opt_ PDWORD type,
_Out_opt_ LPBYTE data,
_Inout_opt_ PDWORD count);