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