[MMIXER] Fix additional data size initialization for different audio formats (#6753)
[reactos.git] / modules / rostests / apitests / win32nt / ntuser / NtUserGetKeyboardLayoutName.c
1 /*
2 * PROJECT: ReactOS api tests
3 * LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
4 * PURPOSE: Test for NtUserGetKeyboardLayoutName
5 * COPYRIGHT: Copyright 2022 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6 */
7
8 #include "../win32nt.h"
9 #include <pseh/pseh2.h>
10
11 typedef BOOL (APIENTRY *FN_NtUserGetKeyboardLayoutName)(PVOID);
12
13 START_TEST(NtUserGetKeyboardLayoutName)
14 {
15 FN_NtUserGetKeyboardLayoutName fn = (FN_NtUserGetKeyboardLayoutName)NtUserGetKeyboardLayoutName;
16 UNICODE_STRING ustr;
17 WCHAR szBuff[MAX_PATH];
18 BOOL bHung, ret;
19
20 /* Try NULL */
21 ok_int(fn(NULL), FALSE);
22
23 /* Try szBuff */
24 ret = bHung = FALSE;
25 RtlZeroMemory(szBuff, sizeof(szBuff));
26 _SEH2_TRY
27 {
28 ret = fn(szBuff);
29 }
30 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
31 {
32 bHung = TRUE;
33 }
34 _SEH2_END;
35
36 ok_int(bHung, FALSE);
37 //ok_int(ret, FALSE); // XP:TRUE, 2k3:FALSE
38 ok(szBuff[0] == 0, "szBuff[0] was %d\n", szBuff[0]);
39
40 /* Try ustr */
41 RtlZeroMemory(szBuff, sizeof(szBuff));
42 ustr.Buffer = szBuff;
43 ustr.Length = 0;
44 ustr.MaximumLength = RTL_NUMBER_OF(szBuff) * sizeof(WCHAR);
45 ret = bHung = FALSE;
46 _SEH2_TRY
47 {
48 ret = fn(&ustr);
49 }
50 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
51 {
52 bHung = TRUE;
53 }
54 _SEH2_END;
55
56 ok_int(bHung, FALSE);
57 ok_int(ret, TRUE);
58 ok(szBuff[0] != 0, "szBuff[0] was %d\n", szBuff[0]);
59 trace("szBuff: %S\n", szBuff);
60 }