Boost.Nowide
windows.hpp
1 //
2 // Copyright (c) 2012 Artyom Beilis (Tonkikh)
3 //
4 // Distributed under the Boost Software License, Version 1.0. (See
5 // accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //
8 #ifndef BOOST_NOWIDE_WINDOWS_HPP_INCLUDED
9 #define BOOST_NOWIDE_WINDOWS_HPP_INCLUDED
10 
11 #ifdef BOOST_USE_WINDOWS_H
12 #include <windows.h>
13 #else
14 
15 //
16 // These are function prototypes... Allow to avoid including windows.h
17 //
18 extern "C" {
19 
20 __declspec(dllimport) wchar_t* __stdcall GetEnvironmentStringsW(void);
21 __declspec(dllimport) int __stdcall FreeEnvironmentStringsW(wchar_t*);
22 __declspec(dllimport) wchar_t* __stdcall GetCommandLineW(void);
23 __declspec(dllimport) wchar_t** __stdcall CommandLineToArgvW(const wchar_t*, int*);
24 __declspec(dllimport) unsigned long __stdcall GetLastError();
25 __declspec(dllimport) void* __stdcall LocalFree(void*);
26 __declspec(dllimport) int __stdcall SetEnvironmentVariableW(const wchar_t*, const wchar_t*);
27 __declspec(dllimport) unsigned long __stdcall GetEnvironmentVariableW(const wchar_t*, wchar_t*, unsigned long);
28 }
29 
30 #endif
31 
32 #endif