windows-nt/Source/XPSP1/NT/multimedia/directx/applicationmanager/cominterface/win32api.h
2020-09-26 16:20:57 +08:00

104 lines
4.8 KiB
C++

//////////////////////////////////////////////////////////////////////////////////////////////
//
// 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_