|
|
//////////////////////////////////////////////////////////////////////////////////////////////
//
// Win32Unicode.h
//
// Copyright (C) 1998, 1999 Microsoft Corporation. All rights reserved.
//
// Abstract :
//
// History :
//
// 05/06/1999 luish Created
//
//////////////////////////////////////////////////////////////////////////////////////////////
#if !defined(__WIN32API_)
#define __WIN32API_
#ifdef __cplusplus
extern "C" { #endif
#include <windows.h>
#include <stdio.h>
#define OS_VERSION_WIN32S 0x00000000
#define OS_VERSION_WIN95 0x00000001
#define OS_VERSION_WIN95_OSR1 0x00000002
#define OS_VERSION_WIN95_OSR2 0x00000004
#define OS_VERSION_WIN95_OSR3 0x00000008
#define OS_VERSION_WIN95_OSR4 0x00000010
#define OS_VERSION_WIN98 0x00000020
#define OS_VERSION_WIN98_OSR1 0x00000040
#define OS_VERSION_WIN98_OSR2 0x00000080
#define OS_VERSION_WIN98_OSR3 0x00000100
#define OS_VERSION_WIN98_OSR4 0x00000200
#define OS_VERSION_WINNT 0x00000400
#define OS_VERSION_9x (OS_VERSION_WIN95 | OS_VERSION_WIN95_OSR1 | OS_VERSION_WIN95_OSR2 | OS_VERSION_WIN95_OSR3 | OS_VERSION_WIN95_OSR4 | OS_VERSION_WIN98 | OS_VERSION_WIN98_OSR1 | OS_VERSION_WIN98_OSR2 | OS_VERSION_WIN98_OSR3 | OS_VERSION_WIN98_OSR4)
#define OS_VERSION_NT (OS_VERSION_WINNT)
#define KILOBYTES(a) ((((a).HighPart & 0x3ff) << 22)||(((a).LowPart) >> 10))
class CWin32API { public :
CWin32API(void); ~CWin32API(void);
static DWORD WideCharToMultiByte(LPCWSTR wszSourceString, const DWORD dwSourceLen, LPSTR szDestinationString, const DWORD dwDestinationLen); static DWORD MultiByteToWideChar(LPCSTR szSourceString, const DWORD dwSourceLen, LPWSTR wszDestinationString, const DWORD dwDestinationLen);
DWORD GetOSVersion(void); DWORD GetDriveType(LPCSTR lpRootPathName); DWORD GetDriveType(LPCWSTR lpRootPathName); BOOL IsDriveFormatted(LPCSTR lpRootPathName); BOOL IsDriveFormatted(LPCWSTR lpRootPathName); DWORD GetDriveSize(LPCSTR lpRootPathName); DWORD GetDriveSize(LPCWSTR lpRootPathName); DWORD GetDriveFreeSpace(LPCSTR lpRootPathName); DWORD GetDriveFreeSpace(LPCWSTR lpRootPathName); DWORD GetDriveUserFreeSpace(LPCSTR lpRootPathName); DWORD GetDriveUserFreeSpace(LPCWSTR lpRootPathName); BOOL GetVolumeInformation(LPCSTR lpRootPathName, LPSTR lpVolumeLabel, const DWORD dwVolumeLabelSize, LPDWORD lpdwVolumeSerialNumber); BOOL GetVolumeInformation(LPCWSTR lpRootPathName, LPSTR lpVolumeLabel, const DWORD dwVolumeLabelSize, LPDWORD lpdwVolumeSerialNumber); BOOL CreateProcess(LPSTR lpCommandLine, PROCESS_INFORMATION * lpProcessInfo); BOOL CreateProcess(LPWSTR lpCommandLine, PROCESS_INFORMATION * lpProcessInfo); BOOL CreateProcess(LPSTR lpApplication, LPSTR lpCommandLine, PROCESS_INFORMATION * lpProcessInfo); BOOL CreateProcess(LPWSTR lpApplication, LPWSTR lpCommandLine, PROCESS_INFORMATION * lpProcessInfo); BOOL CreateDirectory(LPCSTR lpPathName, const BOOL fInitAppManRoot); BOOL CreateDirectory(LPCWSTR lpPathName, const BOOL fInitAppManRoot); BOOL RemoveDirectory(LPCSTR lpPathName); BOOL RemoveDirectory(LPCWSTR lpPathName); DWORD GetDirectorySize(LPCSTR lpPathName); DWORD GetDirectorySize(LPCWSTR lpPathName); BOOL IsValidFilename(LPCSTR lpFilename); BOOL IsValidFilename(LPCWSTR lpFilename); BOOL FileExists(LPCSTR lpFileName); BOOL FileExists(LPCWSTR lpFileName); DWORD FileAttributes(LPCSTR lpFilename); DWORD FileAttributes(LPCWSTR lpFilename); DWORD GetFileSize(LPCSTR lpFileName); DWORD GetFileSize(LPCWSTR lpFileName); HANDLE CreateFile(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes); HANDLE CreateFile(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes); BOOL DeleteFile(LPCSTR lpFileName); BOOL DeleteFile(LPCWSTR lpFileName); HANDLE CreateFileMapping(HANDLE hFile, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCSTR lpName); HANDLE CreateFileMapping(HANDLE hFile, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCWSTR lpName); BOOL CopyFile(LPCSTR lpSourceFileName, LPCSTR lpDestinationFileName, BOOL bFailIfExists); BOOL CopyFile(LPCWSTR lpSourceFileName, LPCWSTR lpDestinationFileName, BOOL bFailIfExists); BOOL SetFileAttributes(LPCSTR lpFileName, const DWORD dwFileAttributes); BOOL SetFileAttributes(LPCWSTR lpFileName, const DWORD dwFileAttributes);
private :
DWORD m_dwOSVersion; };
#ifdef __cplusplus
} #endif
#endif // __WIN32API_
|