xref: /aoo42x/main/sal/inc/systools/win32/kernel9x.h (revision cdf0e10c)
1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir #pragma once
29*cdf0e10cSrcweir 
30*cdf0e10cSrcweir #ifndef _WINDOWS_
31*cdf0e10cSrcweir #include <windows.h>
32*cdf0e10cSrcweir #endif
33*cdf0e10cSrcweir 
34*cdf0e10cSrcweir #ifdef __cplusplus
35*cdf0e10cSrcweir extern "C" {
36*cdf0e10cSrcweir #endif
37*cdf0e10cSrcweir 
38*cdf0e10cSrcweir //------------------------------------------------------------------------
39*cdf0e10cSrcweir // undefine the macros defined in the winbase.h file in order to avoid
40*cdf0e10cSrcweir // warnings because of multiple defines
41*cdf0e10cSrcweir //------------------------------------------------------------------------
42*cdf0e10cSrcweir 
43*cdf0e10cSrcweir #ifdef LoadLibraryW
44*cdf0e10cSrcweir #undef LoadLibraryW
45*cdf0e10cSrcweir #endif
46*cdf0e10cSrcweir 
47*cdf0e10cSrcweir #ifdef LoadLibraryExW
48*cdf0e10cSrcweir #undef LoadLibraryExW
49*cdf0e10cSrcweir #endif
50*cdf0e10cSrcweir 
51*cdf0e10cSrcweir #ifdef GetModuleFileNameW
52*cdf0e10cSrcweir #undef GetModuleFileNameW
53*cdf0e10cSrcweir #endif
54*cdf0e10cSrcweir 
55*cdf0e10cSrcweir #ifdef GetLogicalDriveStringsW
56*cdf0e10cSrcweir #undef GetLogicalDriveStringsW
57*cdf0e10cSrcweir #endif
58*cdf0e10cSrcweir 
59*cdf0e10cSrcweir #ifdef DeleteFileW
60*cdf0e10cSrcweir #undef DeleteFileW
61*cdf0e10cSrcweir #endif
62*cdf0e10cSrcweir 
63*cdf0e10cSrcweir #ifdef CopyFileW
64*cdf0e10cSrcweir #undef CopyFileW
65*cdf0e10cSrcweir #endif
66*cdf0e10cSrcweir 
67*cdf0e10cSrcweir #ifdef MoveFileW
68*cdf0e10cSrcweir #undef MoveFileW
69*cdf0e10cSrcweir #endif
70*cdf0e10cSrcweir 
71*cdf0e10cSrcweir #ifdef MoveFileExW
72*cdf0e10cSrcweir #undef MoveFileExW
73*cdf0e10cSrcweir #endif
74*cdf0e10cSrcweir 
75*cdf0e10cSrcweir #ifdef CreateFileW
76*cdf0e10cSrcweir #undef CreateFileW
77*cdf0e10cSrcweir #endif
78*cdf0e10cSrcweir 
79*cdf0e10cSrcweir #ifdef RemoveDirectoryW
80*cdf0e10cSrcweir #undef RemoveDirectoryW
81*cdf0e10cSrcweir #endif
82*cdf0e10cSrcweir 
83*cdf0e10cSrcweir #ifdef CreateDirectoryW
84*cdf0e10cSrcweir #undef CreateDirectoryW
85*cdf0e10cSrcweir #endif
86*cdf0e10cSrcweir 
87*cdf0e10cSrcweir #ifdef CreateDirectoryExW
88*cdf0e10cSrcweir #undef CreateDirectoryExW
89*cdf0e10cSrcweir #endif
90*cdf0e10cSrcweir 
91*cdf0e10cSrcweir #ifdef CreateFileW
92*cdf0e10cSrcweir #undef CreateFileW
93*cdf0e10cSrcweir #endif
94*cdf0e10cSrcweir 
95*cdf0e10cSrcweir #ifdef GetLongPathNameW
96*cdf0e10cSrcweir #undef GetLongPathNameW
97*cdf0e10cSrcweir #endif
98*cdf0e10cSrcweir 
99*cdf0e10cSrcweir #ifdef GetLocaleInfoW
100*cdf0e10cSrcweir #undef GetLocaleInfoW
101*cdf0e10cSrcweir #endif
102*cdf0e10cSrcweir 
103*cdf0e10cSrcweir #ifdef GetFullPathNameW
104*cdf0e10cSrcweir #undef GetFullPathNameW
105*cdf0e10cSrcweir #endif
106*cdf0e10cSrcweir 
107*cdf0e10cSrcweir #ifdef CreateProcessW
108*cdf0e10cSrcweir #undef CreateProcessW
109*cdf0e10cSrcweir #endif
110*cdf0e10cSrcweir 
111*cdf0e10cSrcweir #ifdef CreateProcessAsUserW
112*cdf0e10cSrcweir #undef CreateProcessAsUserW
113*cdf0e10cSrcweir #endif
114*cdf0e10cSrcweir 
115*cdf0e10cSrcweir #ifdef GetEnvironmentVariableW
116*cdf0e10cSrcweir #undef GetEnvironmentVariableW
117*cdf0e10cSrcweir #endif
118*cdf0e10cSrcweir 
119*cdf0e10cSrcweir #ifdef GetDriveTypeW
120*cdf0e10cSrcweir #undef GetDriveTypeW
121*cdf0e10cSrcweir #endif
122*cdf0e10cSrcweir 
123*cdf0e10cSrcweir #ifdef GetCurrentDirectoryW
124*cdf0e10cSrcweir #undef GetCurrentDirectoryW
125*cdf0e10cSrcweir #endif
126*cdf0e10cSrcweir 
127*cdf0e10cSrcweir #ifdef SetCurrentDirectoryW
128*cdf0e10cSrcweir #undef SetCurrentDirectoryW
129*cdf0e10cSrcweir #endif
130*cdf0e10cSrcweir 
131*cdf0e10cSrcweir #ifdef GetVolumeInformationW
132*cdf0e10cSrcweir #undef GetVolumeInformationW
133*cdf0e10cSrcweir #endif
134*cdf0e10cSrcweir 
135*cdf0e10cSrcweir 
136*cdf0e10cSrcweir #ifdef GetDiskFreeSpaceExA
137*cdf0e10cSrcweir #undef GetDiskFreeSpaceExA
138*cdf0e10cSrcweir #endif
139*cdf0e10cSrcweir 
140*cdf0e10cSrcweir #ifdef GetDiskFreeSpaceExW
141*cdf0e10cSrcweir #undef GetDiskFreeSpaceExW
142*cdf0e10cSrcweir #endif
143*cdf0e10cSrcweir 
144*cdf0e10cSrcweir //------------------------------------------------------------------------
145*cdf0e10cSrcweir // set the compiler directives for the function pointer we declare below
146*cdf0e10cSrcweir // if we build sal or sal will be used as static library we define extern
147*cdf0e10cSrcweir // else sal exports the function pointers from a dll and we use __declspec
148*cdf0e10cSrcweir //------------------------------------------------------------------------
149*cdf0e10cSrcweir 
150*cdf0e10cSrcweir #define KERNEL9X_API extern
151*cdf0e10cSrcweir 
152*cdf0e10cSrcweir //------------------------------------------------------------------------
153*cdf0e10cSrcweir // declare function pointers to the appropriate kernel functions
154*cdf0e10cSrcweir //------------------------------------------------------------------------
155*cdf0e10cSrcweir 
156*cdf0e10cSrcweir //BOOL WINAPI RegisterServiceProcess( DWORD dwProcessID, BOOL fRegister );
157*cdf0e10cSrcweir 
158*cdf0e10cSrcweir KERNEL9X_API HMODULE (WINAPI *lpfnLoadLibraryExW ) (
159*cdf0e10cSrcweir 	LPCWSTR lpLibFileName,  // file name of module
160*cdf0e10cSrcweir 	HANDLE hFile,           // reserved, must be NULL
161*cdf0e10cSrcweir 	DWORD dwFlags           // entry-point execution option
162*cdf0e10cSrcweir );
163*cdf0e10cSrcweir 
164*cdf0e10cSrcweir KERNEL9X_API DWORD (WINAPI *lpfnGetModuleFileNameW ) (
165*cdf0e10cSrcweir 	HMODULE hModule,    // handle to module
166*cdf0e10cSrcweir 	LPWSTR lpFilename,  // file name of module
167*cdf0e10cSrcweir 	DWORD nSize         // size of buffer
168*cdf0e10cSrcweir );
169*cdf0e10cSrcweir 
170*cdf0e10cSrcweir KERNEL9X_API DWORD (WINAPI *lpfnGetLogicalDriveStringsW ) (
171*cdf0e10cSrcweir 	DWORD nBufferLength,	// size of buffer
172*cdf0e10cSrcweir 	LPWSTR lpBuffer			// drive strings buffer
173*cdf0e10cSrcweir );
174*cdf0e10cSrcweir 
175*cdf0e10cSrcweir KERNEL9X_API HANDLE ( WINAPI *lpfnCreateFileW )(
176*cdf0e10cSrcweir 	LPCWSTR	lpFileName,
177*cdf0e10cSrcweir 	DWORD	dwDesiredAccess,
178*cdf0e10cSrcweir 	DWORD	dwShareMode,
179*cdf0e10cSrcweir 	LPSECURITY_ATTRIBUTES	lpSecurityAttributes,
180*cdf0e10cSrcweir 	DWORD	dwCreationDisposition,
181*cdf0e10cSrcweir 	DWORD	dwFlagsAndAttributes,
182*cdf0e10cSrcweir 	HANDLE	hTemplateFile
183*cdf0e10cSrcweir );
184*cdf0e10cSrcweir 
185*cdf0e10cSrcweir KERNEL9X_API DWORD WINAPI GetCanonicalPathNameA(
186*cdf0e10cSrcweir 	LPCSTR lpszPath,			// file name
187*cdf0e10cSrcweir 	LPSTR lpszCanonicalPath,	// path buffer
188*cdf0e10cSrcweir 	DWORD cchBuffer				// size of path buffer
189*cdf0e10cSrcweir );
190*cdf0e10cSrcweir 
191*cdf0e10cSrcweir KERNEL9X_API DWORD WINAPI GetCanonicalPathNameW(
192*cdf0e10cSrcweir 	LPCWSTR lpszPath,			// file name
193*cdf0e10cSrcweir 	LPWSTR lpszCanonicalPath,	// path buffer
194*cdf0e10cSrcweir 	DWORD cchBuffer				// size of path buffer
195*cdf0e10cSrcweir );
196*cdf0e10cSrcweir 
197*cdf0e10cSrcweir KERNEL9X_API HANDLE ( WINAPI * lpfnCreateFileW ) (
198*cdf0e10cSrcweir 	LPCWSTR	lpFileName,
199*cdf0e10cSrcweir 	DWORD	dwDesiredAccess,
200*cdf0e10cSrcweir 	DWORD	dwShareMode,
201*cdf0e10cSrcweir 	LPSECURITY_ATTRIBUTES	lpSecurityAttributes,
202*cdf0e10cSrcweir 	DWORD	dwCreationDisposition,
203*cdf0e10cSrcweir 	DWORD	dwFlagsAndAttributes,
204*cdf0e10cSrcweir 	HANDLE	hTemplateFile );
205*cdf0e10cSrcweir 
206*cdf0e10cSrcweir KERNEL9X_API BOOL (WINAPI *lpfnDeleteFileW ) (
207*cdf0e10cSrcweir 	LPCWSTR	lpFileName			// file name
208*cdf0e10cSrcweir );
209*cdf0e10cSrcweir 
210*cdf0e10cSrcweir KERNEL9X_API BOOL (WINAPI *lpfnCopyFileW ) (
211*cdf0e10cSrcweir 	LPCWSTR lpExistingFileName,	// file name
212*cdf0e10cSrcweir 	LPCWSTR lpNewFileName,		// new file name
213*cdf0e10cSrcweir 	BOOL	bFailIfExist		// operation if file exists
214*cdf0e10cSrcweir );
215*cdf0e10cSrcweir 
216*cdf0e10cSrcweir KERNEL9X_API BOOL (WINAPI *lpfnMoveFileW ) (
217*cdf0e10cSrcweir 	LPCWSTR lpExistingFileName,	// file name
218*cdf0e10cSrcweir 	LPCWSTR lpNewFileName		// new file name
219*cdf0e10cSrcweir );
220*cdf0e10cSrcweir 
221*cdf0e10cSrcweir KERNEL9X_API BOOL (WINAPI *lpfnMoveFileExW ) (
222*cdf0e10cSrcweir   LPCWSTR lpExistingFileName,	// file name
223*cdf0e10cSrcweir   LPCWSTR lpNewFileName,		// new file name
224*cdf0e10cSrcweir   DWORD dwFlags					// move options
225*cdf0e10cSrcweir );
226*cdf0e10cSrcweir 
227*cdf0e10cSrcweir KERNEL9X_API BOOL (WINAPI *lpfnRemoveDirectoryW ) (
228*cdf0e10cSrcweir 	LPCWSTR	lpPathName			// directory name
229*cdf0e10cSrcweir );
230*cdf0e10cSrcweir 
231*cdf0e10cSrcweir KERNEL9X_API BOOL ( WINAPI * lpfnCreateDirectoryW ) (
232*cdf0e10cSrcweir 	LPCWSTR	lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes );
233*cdf0e10cSrcweir 
234*cdf0e10cSrcweir KERNEL9X_API BOOL ( WINAPI * lpfnCreateDirectoryExW ) (
235*cdf0e10cSrcweir 	LPCWSTR	lpTemplateDirectory,
236*cdf0e10cSrcweir 	LPCWSTR	lpNewDirectory,
237*cdf0e10cSrcweir 	LPSECURITY_ATTRIBUTES	lpSecurityAttributes );
238*cdf0e10cSrcweir 
239*cdf0e10cSrcweir KERNEL9X_API DWORD ( WINAPI * lpfnGetLongPathNameW ) (
240*cdf0e10cSrcweir   LPCWSTR lpszShortPath, // file name
241*cdf0e10cSrcweir   LPWSTR lpszLongPath,   // path buffer
242*cdf0e10cSrcweir   DWORD cchBuffer        // size of path buffer
243*cdf0e10cSrcweir );
244*cdf0e10cSrcweir 
245*cdf0e10cSrcweir // GetCanonicalPath is a tool function with no exact counterpart
246*cdf0e10cSrcweir // in the win32 api; we use nevertheless a function pointer
247*cdf0e10cSrcweir // because every variable etc. must root in the Kernel9x.lib else
248*cdf0e10cSrcweir // we loose our AutoSystoolInit object during linking
249*cdf0e10cSrcweir KERNEL9X_API DWORD ( WINAPI * lpfnGetCanonicalPathW ) (
250*cdf0e10cSrcweir 	LPCWSTR lpszPath,			// file name
251*cdf0e10cSrcweir 	LPWSTR lpszCanonicalPath,	// path buffer
252*cdf0e10cSrcweir 	DWORD cchBuffer				// size of path buffer
253*cdf0e10cSrcweir );
254*cdf0e10cSrcweir 
255*cdf0e10cSrcweir KERNEL9X_API int ( WINAPI* lpfnGetLocaleInfoW ) (
256*cdf0e10cSrcweir     LCID Locale,        // locale identifier
257*cdf0e10cSrcweir     LCTYPE LCType,      // information type
258*cdf0e10cSrcweir     LPWSTR lpLCData,    // information buffer
259*cdf0e10cSrcweir     int cchData         // size of buffer
260*cdf0e10cSrcweir );
261*cdf0e10cSrcweir 
262*cdf0e10cSrcweir KERNEL9X_API DWORD ( WINAPI * lpfnGetFullPathNameW )(
263*cdf0e10cSrcweir 	LPCWSTR	lpFileName,		// file name
264*cdf0e10cSrcweir 	DWORD	nBufferLength,	// size of path buffer
265*cdf0e10cSrcweir 	LPWSTR	lpBuffer,		// path buffer
266*cdf0e10cSrcweir 	LPWSTR	*lpFilePart		// address of file name in path
267*cdf0e10cSrcweir );
268*cdf0e10cSrcweir 
269*cdf0e10cSrcweir KERNEL9X_API BOOL ( WINAPI * lpfnCreateProcessW )(
270*cdf0e10cSrcweir     LPCWSTR lpApplicationName,                 // name of executable module
271*cdf0e10cSrcweir     LPWSTR lpCommandLine,                      // command line string
272*cdf0e10cSrcweir     LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD
273*cdf0e10cSrcweir     LPSECURITY_ATTRIBUTES lpThreadAttributes,  // SD
274*cdf0e10cSrcweir     BOOL bInheritHandles,                      // handle inheritance option
275*cdf0e10cSrcweir     DWORD dwCreationFlags,                     // creation flags
276*cdf0e10cSrcweir     LPVOID lpEnvironment,                      // new environment block
277*cdf0e10cSrcweir     LPCWSTR lpCurrentDirectory,                // current directory name
278*cdf0e10cSrcweir     LPSTARTUPINFOW lpStartupInfo,              // startup information
279*cdf0e10cSrcweir     LPPROCESS_INFORMATION lpProcessInformation // process information
280*cdf0e10cSrcweir );
281*cdf0e10cSrcweir 
282*cdf0e10cSrcweir KERNEL9X_API BOOL ( WINAPI * lpfnCreateProcessAsUserW )(
283*cdf0e10cSrcweir     HANDLE hToken,                             // handle to user token
284*cdf0e10cSrcweir     LPCWSTR lpApplicationName,                 // name of executable module
285*cdf0e10cSrcweir     LPWSTR lpCommandLine,                      // command-line string
286*cdf0e10cSrcweir     LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD
287*cdf0e10cSrcweir     LPSECURITY_ATTRIBUTES lpThreadAttributes,  // SD
288*cdf0e10cSrcweir     BOOL bInheritHandles,                      // inheritance option
289*cdf0e10cSrcweir     DWORD dwCreationFlags,                     // creation flags
290*cdf0e10cSrcweir     LPVOID lpEnvironment,                      // new environment block
291*cdf0e10cSrcweir     LPCWSTR lpCurrentDirectory,                // current directory name
292*cdf0e10cSrcweir     LPSTARTUPINFOW lpStartupInfo,              // startup information
293*cdf0e10cSrcweir     LPPROCESS_INFORMATION lpProcessInformation // process information
294*cdf0e10cSrcweir );
295*cdf0e10cSrcweir 
296*cdf0e10cSrcweir KERNEL9X_API DWORD ( WINAPI * lpfnGetEnvironmentVariableW )(
297*cdf0e10cSrcweir     LPCWSTR lpName,  // environment variable name
298*cdf0e10cSrcweir     LPWSTR lpBuffer, // buffer for variable value
299*cdf0e10cSrcweir     DWORD nSize      // size of buffer
300*cdf0e10cSrcweir );
301*cdf0e10cSrcweir 
302*cdf0e10cSrcweir 
303*cdf0e10cSrcweir KERNEL9X_API UINT ( WINAPI * lpfnGetDriveTypeW )(
304*cdf0e10cSrcweir 	LPCWSTR lpRootPathName	// root directory
305*cdf0e10cSrcweir );
306*cdf0e10cSrcweir 
307*cdf0e10cSrcweir KERNEL9X_API DWORD ( WINAPI * lpfnGetCurrentDirectoryW )(
308*cdf0e10cSrcweir     DWORD  nBufferLength,   // size of directory buffer
309*cdf0e10cSrcweir     LPWSTR lpBuffer         // directory buffer
310*cdf0e10cSrcweir );
311*cdf0e10cSrcweir 
312*cdf0e10cSrcweir KERNEL9X_API BOOL ( WINAPI * lpfnSetCurrentDirectoryW )(
313*cdf0e10cSrcweir     LPCWSTR lpPathName  // new directory name
314*cdf0e10cSrcweir );
315*cdf0e10cSrcweir 
316*cdf0e10cSrcweir // GetVolumeInformation
317*cdf0e10cSrcweir KERNEL9X_API BOOL ( WINAPI* lpfnGetVolumeInformationW )(
318*cdf0e10cSrcweir 	LPCWSTR	lpRootPathName,				// root directory
319*cdf0e10cSrcweir 	LPWSTR	lpVolumeNameBuffer,			// volume name buffer
320*cdf0e10cSrcweir 	DWORD	nVolumeNameSize,			// length of name buffer
321*cdf0e10cSrcweir 	LPDWORD	lpVolumeSerialNumber,		// volume serial number
322*cdf0e10cSrcweir 	LPDWORD	lpMaximumComponentLength,	// maximum file name length
323*cdf0e10cSrcweir 	LPDWORD	lpFileSystemFlags,			// file system options
324*cdf0e10cSrcweir 	LPWSTR	lpFileSystemName,			// file system name buffer
325*cdf0e10cSrcweir 	DWORD	nFileSystemNameSize			// length of file system name buffer
326*cdf0e10cSrcweir );
327*cdf0e10cSrcweir 
328*cdf0e10cSrcweir // GetDiskFreeSpaceExA
329*cdf0e10cSrcweir KERNEL9X_API BOOL (WINAPI *lpfnGetDiskFreeSpaceExA)(
330*cdf0e10cSrcweir   LPCSTR lpDirectoryName,                  // directory name
331*cdf0e10cSrcweir   PULARGE_INTEGER lpFreeBytesAvailable,    // bytes available to caller
332*cdf0e10cSrcweir   PULARGE_INTEGER lpTotalNumberOfBytes,    // bytes on disk
333*cdf0e10cSrcweir   PULARGE_INTEGER lpTotalNumberOfFreeBytes // free bytes on disk
334*cdf0e10cSrcweir );
335*cdf0e10cSrcweir 
336*cdf0e10cSrcweir // GetDiskFreeSpaceExW
337*cdf0e10cSrcweir KERNEL9X_API BOOL (WINAPI *lpfnGetDiskFreeSpaceExW)(
338*cdf0e10cSrcweir   LPCWSTR lpDirectoryName,                 // directory name
339*cdf0e10cSrcweir   PULARGE_INTEGER lpFreeBytesAvailable,    // bytes available to caller
340*cdf0e10cSrcweir   PULARGE_INTEGER lpTotalNumberOfBytes,    // bytes on disk
341*cdf0e10cSrcweir   PULARGE_INTEGER lpTotalNumberOfFreeBytes // free bytes on disk
342*cdf0e10cSrcweir );
343*cdf0e10cSrcweir 
344*cdf0e10cSrcweir //------------------------------------------------------------------------
345*cdf0e10cSrcweir // redefine the above undefined macros so that the preprocessor replaces
346*cdf0e10cSrcweir // all occurrences of this macros with our function pointer
347*cdf0e10cSrcweir //------------------------------------------------------------------------
348*cdf0e10cSrcweir 
349*cdf0e10cSrcweir #define LoadLibraryExW				lpfnLoadLibraryExW
350*cdf0e10cSrcweir #define LoadLibraryW(c)				LoadLibraryExW(c, NULL, 0)
351*cdf0e10cSrcweir #define GetModuleFileNameW			lpfnGetModuleFileNameW
352*cdf0e10cSrcweir #define GetLogicalDriveStringsW		lpfnGetLogicalDriveStringsW
353*cdf0e10cSrcweir #define CreateFileW					lpfnCreateFileW
354*cdf0e10cSrcweir #define DeleteFileW					lpfnDeleteFileW
355*cdf0e10cSrcweir #define CopyFileW					lpfnCopyFileW
356*cdf0e10cSrcweir #define MoveFileW					lpfnMoveFileW
357*cdf0e10cSrcweir #define MoveFileExW					lpfnMoveFileExW
358*cdf0e10cSrcweir #define RemoveDirectoryW			lpfnRemoveDirectoryW
359*cdf0e10cSrcweir #define CreateDirectoryW			lpfnCreateDirectoryW
360*cdf0e10cSrcweir #define CreateDirectoryExW			lpfnCreateDirectoryExW
361*cdf0e10cSrcweir #define GetLongPathNameW			lpfnGetLongPathNameW
362*cdf0e10cSrcweir #define GetFullPathNameW			lpfnGetFullPathNameW
363*cdf0e10cSrcweir 
364*cdf0e10cSrcweir #define GetCanonicalPath			lpfnGetCanonicalPathW
365*cdf0e10cSrcweir #define GetLocaleInfoW              lpfnGetLocaleInfoW
366*cdf0e10cSrcweir 
367*cdf0e10cSrcweir #define CreateProcessW              lpfnCreateProcessW
368*cdf0e10cSrcweir #define CreateProcessAsUserW        lpfnCreateProcessAsUserW
369*cdf0e10cSrcweir #define GetEnvironmentVariableW     lpfnGetEnvironmentVariableW
370*cdf0e10cSrcweir #define GetDriveTypeW				lpfnGetDriveTypeW
371*cdf0e10cSrcweir 
372*cdf0e10cSrcweir #define GetCurrentDirectoryW        lpfnGetCurrentDirectoryW
373*cdf0e10cSrcweir #define SetCurrentDirectoryW        lpfnSetCurrentDirectoryW
374*cdf0e10cSrcweir 
375*cdf0e10cSrcweir #define GetVolumeInformationW		lpfnGetVolumeInformationW
376*cdf0e10cSrcweir #define GetDiskFreeSpaceExA			lpfnGetDiskFreeSpaceExA
377*cdf0e10cSrcweir #define GetDiskFreeSpaceExW			lpfnGetDiskFreeSpaceExW
378*cdf0e10cSrcweir 
379*cdf0e10cSrcweir #ifdef __cplusplus
380*cdf0e10cSrcweir }
381*cdf0e10cSrcweir #endif
382*cdf0e10cSrcweir 
383*cdf0e10cSrcweir 
384