972ecc2156976e073b505dbd89c9cd631ba62768
[reactos.git] / lib / kernel32 / misc / error.c
1 /* $Id$
2  *
3  * reactos/lib/kernel32/misc/error.c
4  *
5  */
6
7 #include <k32.h>
8
9 #define NDEBUG
10 #include <kernel32/kernel32.h>
11
12
13 VOID
14 STDCALL
15 SetLastError (
16         DWORD   dwErrorCode
17         )
18 {
19         NtCurrentTeb ()->LastErrorValue = (ULONG) dwErrorCode;
20 }
21
22 DWORD
23 STDCALL
24 GetLastError (VOID)
25 {
26         return (DWORD) (NtCurrentTeb ()->LastErrorValue);
27 }
28
29
30 WINBOOL
31 STDCALL
32 Beep (DWORD dwFreq, DWORD dwDuration)
33 {
34     HANDLE hBeep;
35     BEEP_SET_PARAMETERS BeepSetParameters;
36     DWORD dwReturned;
37
38     hBeep = CreateFile("\\\\.\\Beep",
39                        FILE_GENERIC_READ | FILE_GENERIC_WRITE,
40                        0,
41                        NULL,
42                        OPEN_EXISTING,
43                        0,
44                        NULL);
45     if (hBeep == INVALID_HANDLE_VALUE)
46         return FALSE;
47
48     /* Set beep data */
49     BeepSetParameters.Frequency = dwFreq;
50     BeepSetParameters.Duration  = dwDuration;
51
52     DeviceIoControl(hBeep,
53                     IOCTL_BEEP_SET,
54                     &BeepSetParameters,
55                     sizeof(BEEP_SET_PARAMETERS),
56                     NULL,
57                     0,
58                     &dwReturned,
59                     NULL);
60
61     CloseHandle (hBeep);
62
63     return TRUE;
64 }
65
66
67 /* EOF */