Fixed some bugs in the registry
[reactos.git] / reactos / apps / tests / regtest / regtest.c
1 #include <stdarg.h>
2 #include <string.h>
3 #include <stdio.h>
4 #include <windows.h>
5
6 HANDLE OutputHandle;
7 HANDLE InputHandle;
8
9 void dprintf(char* fmt, ...)
10 {
11 va_list args;
12 char buffer[255];
13
14 va_start(args,fmt);
15 vsprintf(buffer,fmt,args);
16 WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
17 va_end(args);
18 }
19
20
21 int main(int argc, char* argv[])
22 {
23 HKEY hKey = NULL;
24 DWORD dwDisposition;
25 DWORD dwError;
26
27 AllocConsole();
28 InputHandle = GetStdHandle(STD_INPUT_HANDLE);
29 OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
30
31 dprintf ("RegCreateKeyExW:\n");
32 dwError = RegCreateKeyExW (HKEY_LOCAL_MACHINE,
33 L"Test",
34 0,
35 L"",
36 REG_OPTION_VOLATILE,
37 KEY_ALL_ACCESS,
38 NULL,
39 &hKey,
40 &dwDisposition);
41
42 dprintf ("dwError %x\n", dwError);
43 if (dwError != ERROR_SUCCESS)
44 return 0;
45
46 dprintf ("dwDisposition %x\n", dwDisposition);
47
48 dprintf ("RegSetValueExW:\n");
49 dwError = RegSetValueExW (hKey,
50 L"TestValue",
51 0,
52 REG_SZ,
53 L"TestString",
54 20);
55
56 dprintf ("dwError %x\n", dwError);
57 if (dwError != ERROR_SUCCESS)
58 return 0;
59
60 dprintf ("RegCloseKey:\n");
61 dwError = RegCloseKey (hKey);
62 dprintf ("dwError %x\n", dwError);
63 if (dwError != ERROR_SUCCESS)
64 return 0;
65
66 dprintf ("\n\n");
67
68 hKey = NULL;
69
70 dprintf ("RegCreateKeyExW:\n");
71 dwError = RegCreateKeyExW (HKEY_LOCAL_MACHINE,
72 L"Test",
73 0,
74 L"",
75 REG_OPTION_VOLATILE,
76 KEY_ALL_ACCESS,
77 NULL,
78 &hKey,
79 &dwDisposition);
80
81 dprintf ("dwError %x\n", dwError);
82 if (dwError != ERROR_SUCCESS)
83 return 0;
84
85 dprintf ("dwDisposition %x\n", dwDisposition);
86
87 #if 0
88 dprintf ("RegQueryKeyExW:\n");
89
90 #endif
91
92 dprintf ("RegCloseKey:\n");
93 dwError = RegCloseKey (hKey);
94 dprintf ("dwError %x\n", dwError);
95 if (dwError != ERROR_SUCCESS)
96 return 0;
97
98 dprintf ("\nTests done...\n");
99
100 return 0;
101 }
102