|
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 #pragma once |
|
7 |
|
8 /* |
|
9 * Includes <wrl.h> and it's children. Defines imports needed by |
|
10 * corewrappers.h in the case where windows.h has already been |
|
11 * included w/WINVER < 0x600. Also ups WINVER/_WIN32_WINNT prior |
|
12 * to including wrl.h. Mozilla's build currently has WINVER set to |
|
13 * 0x502 for XP support. |
|
14 */ |
|
15 |
|
16 #if _WIN32_WINNT < 0x600 |
|
17 |
|
18 #include <windows.h> |
|
19 |
|
20 VOID |
|
21 WINAPI |
|
22 ReleaseSRWLockExclusive( |
|
23 _Inout_ PSRWLOCK SRWLock |
|
24 ); |
|
25 |
|
26 VOID |
|
27 WINAPI |
|
28 ReleaseSRWLockShared( |
|
29 _Inout_ PSRWLOCK SRWLock |
|
30 ); |
|
31 |
|
32 BOOL |
|
33 WINAPI |
|
34 InitializeCriticalSectionEx( |
|
35 _Out_ LPCRITICAL_SECTION lpCriticalSection, |
|
36 _In_ DWORD dwSpinCount, |
|
37 _In_ DWORD Flags |
|
38 ); |
|
39 |
|
40 VOID |
|
41 WINAPI |
|
42 InitializeSRWLock( |
|
43 _Out_ PSRWLOCK SRWLock |
|
44 ); |
|
45 |
|
46 VOID |
|
47 WINAPI |
|
48 AcquireSRWLockExclusive( |
|
49 _Inout_ PSRWLOCK SRWLock |
|
50 ); |
|
51 |
|
52 BOOLEAN |
|
53 WINAPI |
|
54 TryAcquireSRWLockExclusive( |
|
55 _Inout_ PSRWLOCK SRWLock |
|
56 ); |
|
57 |
|
58 BOOLEAN |
|
59 WINAPI |
|
60 TryAcquireSRWLockShared( |
|
61 _Inout_ PSRWLOCK SRWLock |
|
62 ); |
|
63 |
|
64 VOID |
|
65 WINAPI |
|
66 AcquireSRWLockShared( |
|
67 _Inout_ PSRWLOCK SRWLock |
|
68 ); |
|
69 |
|
70 #undef WINVER |
|
71 #undef _WIN32_WINNT |
|
72 #define WINVER 0x600 |
|
73 #define _WIN32_WINNT 0x600 |
|
74 |
|
75 #endif // _WIN32_WINNT < 0x600 |
|
76 |
|
77 #include <wrl.h> |