[ADVAPI32]
[reactos.git] / reactos / dll / win32 / advapi32 / reg / reg.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS system libraries
4 * FILE: lib/advapi32/reg/reg.c
5 * PURPOSE: Registry functions
6 */
7
8 #pragma once
9
10 /* FUNCTIONS ****************************************************************/
11 FORCEINLINE
12 BOOL
13 IsHKCRKey(_In_ HKEY hKey)
14 {
15 return ((ULONG_PTR)hKey & 0x2) != 0;
16 }
17
18 FORCEINLINE
19 void
20 MakeHKCRKey(_Inout_ HKEY* hKey)
21 {
22 *hKey = (HKEY)((ULONG_PTR)(*hKey) | 0x2);
23 }
24
25 LONG
26 WINAPI
27 CreateHKCRKey(
28 _In_ HKEY hKey,
29 _In_ LPCWSTR lpSubKey,
30 _In_ DWORD Reserved,
31 _In_opt_ LPWSTR lpClass,
32 _In_ DWORD dwOptions,
33 _In_ REGSAM samDesired,
34 _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
35 _Out_ PHKEY phkResult,
36 _Out_opt_ LPDWORD lpdwDisposition);
37
38 LONG
39 WINAPI
40 OpenHKCRKey(
41 _In_ HKEY hKey,
42 _In_ LPCWSTR lpSubKey,
43 _In_ DWORD ulOptions,
44 _In_ REGSAM samDesired,
45 _In_ PHKEY phkResult);
46
47 LONG
48 WINAPI
49 DeleteHKCRKey(
50 _In_ HKEY hKey,
51 _In_ LPCWSTR lpSubKey,
52 _In_ REGSAM RegSam,
53 _In_ DWORD Reserved);
54
55 LONG
56 WINAPI
57 QueryHKCRValue(
58 _In_ HKEY hKey,
59 _In_ LPCWSTR Name,
60 _In_ LPDWORD Reserved,
61 _In_ LPDWORD Type,
62 _In_ LPBYTE Data,
63 _In_ LPDWORD Count);
64
65 LONG
66 WINAPI
67 SetHKCRValue(
68 _In_ HKEY hKey,
69 _In_ LPCWSTR Name,
70 _In_ DWORD Reserved,
71 _In_ DWORD Type,
72 _In_ CONST BYTE* Data,
73 _In_ DWORD DataSize);
74