1 /*
2  * Copyright (C) 2006 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /** \file
18   Visual Studio generated include file for standard system include files, or
19   project specific include files that are used frequently, but are changed
20   infrequently.
21 */
22 
23 #pragma once
24 
25 #ifndef STRICT
26 #define STRICT
27 #endif
28 
29 // Modify the following defines if you have to target a platform prior to the ones specified below.
30 // Refer to MSDN for the latest info on corresponding values for different platforms.
31 #ifndef WINVER				// Allow use of features specific to Windows 95 and Windows NT 4 or later.
32 #define WINVER 0x0500		// Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
33 #endif
34 
35 #ifndef _WIN32_WINNT		// Allow use of features specific to Windows NT 4 or later.
36 #define _WIN32_WINNT 0x0500	// Change this to the appropriate value to target Windows 2000 or later.
37 #endif
38 
39 #ifndef _WIN32_WINDOWS		// Allow use of features specific to Windows 98 or later.
40 #define _WIN32_WINDOWS 0x0500 // Change this to the appropriate value to target Windows Me or later.
41 #endif
42 
43 #ifndef _WIN32_IE			// Allow use of features specific to IE 4.0 or later.
44 #define _WIN32_IE 0x0501	// Change this to the appropriate value to target IE 5.0 or later.
45 #endif
46 
47 // These defines prevent the MS header files from ejecting #pragma comment
48 // statements with the manifest information of the used ATL, STL, and CRT
49 #define _ATL_NOFORCE_MANIFEST
50 #define _STL_NOFORCE_MANIFEST
51 #define _CRT_NOFORCE_MANIFEST
52 
53 #define _ATL_APARTMENT_THREADED
54 #define _ATL_NO_AUTOMATIC_NAMESPACE
55 
56 #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS	// some CString constructors will be explicit
57 
58 // turns off ATL's hiding of some common and often safely ignored warning messages
59 #define _ATL_ALL_WARNINGS
60 
61 // #define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers
62 
63 #include <windows.h>
64 #pragma warning(disable: 4702)
65 #pragma warning(disable: 4201)
66 #include <atlbase.h>
67 #include <winioctl.h>
68 #include <setupapi.h>
69 #include <vector>
70 #include <map>
71 #include <string>
72 #pragma warning(default: 4201)
73 #pragma warning(disable: 4200)
74 #include <usbdi.h>
75 #include <usb100.h>
76 
77 #include "resource.h"
78 
79 using namespace ATL;
80