📄 winbase.h
字号:
*/
WINBASEAPI
int
WINAPI
lstrcmpiA(
LPCSTR lpString1,
LPCSTR lpString2
);
WINBASEAPI
int
WINAPI
lstrcmpiW(
LPCWSTR lpString1,
LPCWSTR lpString2
);
#ifdef UNICODE
#define lstrcmpi lstrcmpiW
#else
#define lstrcmpi lstrcmpiA
#endif // !UNICODE
/*
@doc BOTH EXTERNAL
@func LPTSTR | lstrcpy| Copies a string to a buffer.
@parm LPTSTR | lpszString1 | address of buffer
@parm LPTSTR | lpszString2 | address of string to copy
@comm Follows the Win32 reference description with these restrictions:
@comm Supports only the Unicode version of this function.
*/
WINBASEAPI
LPSTR
WINAPI
lstrcpyA(
LPSTR lpString1,
LPCSTR lpString2
);
#define lstrcpyW wcscpy
#ifdef UNICODE
#define lstrcpy lstrcpyW
#else
#define lstrcpy lstrcpyA
#endif
/*
@doc BOTH EXTERNAL
@func int | lstrlen| The lstrlen function returns the length, in characters, of
the specified string (not including the terminating null character).
@parm LPTSTR | lpszString | address of string to count
@comm Follows the Win32 reference description with these restrictions:
@comm Supports only the Unicode version of this function.
*/
WINBASEAPI
int
WINAPI
lstrlenA(
LPCSTR lpString
);
#define lstrlenW wcslen
#ifdef UNICODE
#define lstrlen lstrlenW
#else
#define lstrlen lstrlenA
#endif
DWORD
WINAPI
CharLowerBuffA (
LPSTR lpsz,
DWORD cchLength
);
DWORD
WINAPI
CharLowerBuffW (
LPWSTR lpsz,
DWORD cchLength
);
#ifdef UNICODE
#define CharLowerBuff CharLowerBuffW
#else
#define CharLowerBuff CharLowerBuffA
#endif
DWORD
WINAPI
CharUpperBuffA (
LPSTR lpsz,
DWORD cchLength
);
DWORD
WINAPI
CharUpperBuffW (
LPWSTR lpsz,
DWORD cchLength
);
#ifdef UNICODE
#define CharUpperBuff CharUpperBuffW
#else
#define CharUpperBuff CharUpperBuffA
#endif
LPSTR WINAPI CharLowerA(LPSTR lpsz);
LPWSTR WINAPI CharLowerW(LPWSTR lpsz);
#ifdef UNICODE
#define CharLower CharLowerW
#else
#define CharLower CharLowerA
#endif
LPSTR WINAPI CharUpperA(LPSTR lpsz);
LPWSTR WINAPI CharUpperW(LPWSTR lpsz);
#ifdef UNICODE
#define CharUpper CharUpperW
#else
#define CharUpper CharUpperA
#endif
LPSTR
WINAPI
CharPrevA(
LPCSTR lpszStart,
LPCSTR lpszCurrent);
LPWSTR
WINAPI
CharPrevW(
LPCWSTR lpszStart,
LPCWSTR lpszCurrent);
#ifdef UNICODE
#define CharPrev CharPrevW
#else
#define CharPrev CharPrevA
#endif // !UNICODE
LPSTR
WINAPI
CharNextA(
LPCSTR lpsz);
LPWSTR
WINAPI
CharNextW(
LPCWSTR lpsz);
#ifdef UNICODE
#define CharNext CharNextW
#else
#define CharNext CharNextA
#endif // !UNICODE
/*
@doc BOTH EXTERNAL
@func BOOL | IsCharAlpha| Determines whether a character is an alphabetic character.
@parm TCHAR | ch | character to test
@comm Follows the Win32 reference description without restrictions or modifications.
*/
#define IsCharAlphaA isalpha
#define IsCharAlphaW iswalpha
#ifdef UNICODE
#define IsCharAlpha IsCharAlphaW
#else
#define IsCharAlpha IsCharAlphaA
#endif
/*
@doc BOTH EXTERNAL
@func BOOL | IsCharAlphaNumericW| Determines whether a character is either an
alphabetic or a numeric character.
@comm Follows the Win32 reference description without restrictions or modifications.
*/
#define IsCharAlphaNumericA isalnum
#define IsCharAlphaNumericW iswalnum
#ifdef UNICODE
#define IsCharAlphaNumeric IsCharAlphaNumericW
#else
#define IsCharAlphaNumeric IsCharAlphaNumericA
#endif
/*
@doc BOTH EXTERNAL
@func BOOL | IsCharLower | Determines whether a character is lowercase.
@parm TCHAR | ch | character to test
@comm Follows the Win32 reference description with these restrictions:
@comm Supports only the Unicode version of this function.
*/
#define IsCharLowerA islower
#define IsCharLowerW iswlower
#ifdef UNICODE
#define IsCharLower IsCharLowerW
#else
#define IsCharLower IsCharLowerA
#endif
/*
@doc BOTH EXTERNAL
@func BOOL | IsCharUpper | Determines whether a character is uppercase.
@parm TCHAR | ch | character to test
@comm Follows the Win32 reference description with these restrictions:
@comm Supports only the Unicode version of this function.
*/
#define IsCharUpperA isupper
#define IsCharUpperW iswupper
#ifdef UNICODE
#define IsCharUpper IsCharUpperW
#else
#define IsCharUpper IsCharUpperA
#endif
#include <stdarg.h>
int
WINAPIV
wsprintfA (
LPSTR lpBuffer,
LPCSTR lpFormat,
...
);
int
WINAPIV
wsprintfW (
LPWSTR lpBuffer,
LPCWSTR lpFormat,
...
);
#ifdef UNICODE
#define wsprintf wsprintfW
#else
#define wsprintf wsprintfA
#endif
#ifdef COREDLL
// need STDLIB.H for this to work
#define wsprintfW swprintf
#define wvsprintfW vswprintf
#endif
int
WINAPI
wvsprintfA (
LPSTR,
LPCSTR,
va_list ArgList
);
int
WINAPI
wvsprintfW (
LPWSTR,
LPCWSTR,
va_list ArgList
);
#ifdef UNICODE
#define wvsprintf wvsprintfW
#else
#define wvsprintf wvsprintfA
#endif
// @CESYSGEN IF COREDLL_LMEM
#define LMEM_FIXED 0x0000
#define LMEM_MOVEABLE 0x0002
#define LMEM_NOCOMPACT 0x0010 /**** Used for Moveable Memory ***/
#define LMEM_NODISCARD 0x0020 /**** Ignored *****/
#define LMEM_ZEROINIT 0x0040
#define LMEM_MODIFY 0x0080 /*** Used only in LocalReAlloc() **/
#define LMEM_DISCARDABLE 0x0F00 /**** Ignored ****/
#define LMEM_VALID_FLAGS 0x0F72
#define LMEM_INVALID_HANDLE 0x8000
#define LMEM_DDESHARE 0x0000 /**** Ignored ****/
#define LMEM_LOWER 0x0000 /**** Ignored ****/
#define LMEM_NOT_BANKED 0x0000 /**** Ignored ****/
#define LMEM_NOTIFY 0x0000 /**** Ignored ****/
#define LMEM_SHARE 0x0000 /**** Ignored ****/
#define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
#define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
#define NONZEROLHND (LMEM_MOVEABLE)
#define NONZEROLPTR (LMEM_FIXED)
/* Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE) */
#define LMEM_DISCARDED 0x4000
#define LMEM_LOCKCOUNT 0x00FF
#ifdef UNDER_CE
#define GMEM_FIXED LMEM_FIXED
#define GMEM_MOVEABLE LMEM_MOVEABLE
#define GPTR LPTR
#define GHND LHND
#define GMEM_DDESHARE LMEM_DDESHARE
#define GMEM_DISCARDABLE LMEM_DISCARDABLE
#define GMEM_LOWER LMEM_LOWER
#define GMEM_NOCOMPACT LMEM_NOCOMPACT
#define GMEM_NODISCARD LMEM_NODISCARD
#define GMEM_NOT_BANKED LMEM_NOT_BANKED
#define GMEM_NOTIFY LMEM_NOTIFY
#define GMEM_SHARE LMEM_SHARE
#define GMEM_ZEROINIT LMEM_ZEROINIT
#endif
// @CESYSGEN ENDIF
typedef struct _MEMORYSTATUS {
DWORD dwLength;
DWORD dwMemoryLoad;
DWORD dwTotalPhys;
DWORD dwAvailPhys;
DWORD dwTotalPageFile;
DWORD dwAvailPageFile;
DWORD dwTotalVirtual;
DWORD dwAvailVirtual;
} MEMORYSTATUS, *LPMEMORYSTATUS;
VOID
WINAPI
GlobalMemoryStatus(
LPMEMORYSTATUS lpBuffer
);
// @CESYSGEN IF COREDLL_LMEM
#ifdef UNDER_CE
#define LocalLock(X) ((LPVOID)(X))
#define LocalUnlock(X) (0)
#define LocalHandle(X) ((HLOCAL)(X))
#define LocalFlags(X) (0)
#else
WINBASEAPI
LPVOID
WINAPI
LocalLock(
HLOCAL hMem
);
WINBASEAPI
BOOL
WINAPI
LocalUnlock(
HLOCAL hMem
);
WINBASEAPI
HLOCAL
WINAPI
LocalHandle(
LPCVOID pMem
);
WINBASEAPI
UINT
WINAPI
LocalFlags(
HLOCAL hMem
);
#endif
HLOCAL
WINAPI
LocalAlloc (
UINT fuFlags,
UINT cbBytes
);
HLOCAL
WINAPI
LocalFree (
HLOCAL hMem
);
HLOCAL
WINAPI
LocalReAlloc (
HLOCAL hMem,
UINT cbBytes,
UINT fuFlags
);
UINT
WINAPI
LocalSize (
HLOCAL hMem
);
#ifdef UNDER_CE
#define GlobalAlloc(flags, cb) LocalAlloc(flags, cb)
#define GlobalFree(handle) LocalFree(handle)
#define GlobalReAlloc(handle, cb, flags) LocalReAlloc(handle, cb, LMEM_MOVEABLE)
#define GlobalLock(lp) LocalLock(lp)
#define GlobalHandle(lp) LocalHandle(lp)
#define GlobalUnlock(hMem) LocalUnlock(hMem)
#define GlobalSize(hMem) LocalSize(hMem)
#define GlobalFlags(X) LocalFlags(X)
#define LocalPtrHandle(lp) ((HLOCAL)LocalHandle(lp))
#define LocalLockPtr(lp) ((BOOL)LocalLock(LocalPtrHandle(lp)))
#define LocalUnlockPtr(lp) LocalUnlock(LocalPtrHandle(lp))
#define LocalFreePtr(lp) (LocalUnlockPtr(lp), (BOOL)LocalFree(LocalPtrHandle(lp)))
#endif
// @CESYSGEN ENDIF
LPVOID
WINAPI
VirtualAlloc(
LPVOID lpAddress,
DWORD dwSize,
DWORD flAllocationType,
DWORD flProtect
);
BOOL
WINAPI
VirtualFree(
LPVOID lpAddress,
DWORD dwSize,
DWORD dwFreeType
);
BOOL
WINAPI
VirtualProtect(
LPVOID lpAddress,
DWORD dwSize,
DWORD flNewProtect,
PDWORD lpflOldProtect
);
DWORD
WINAPI
VirtualQuery(
LPCVOID lpAddress,
PMEMORY_BASIC_INFORMATION lpBuffer,
DWORD dwLength
);
// @CESYSGEN IF COREDLL_LMEM
HANDLE WINAPI GetProcessHeap(VOID);
HANDLE
WINAPI
HeapCreate(
DWORD flOptions,
DWORD dwInitialSize,
DWORD dwMaximumSize
);
BOOL
WINAPI
HeapDestroy(
HANDLE hHeap
);
LPVOID
WINAPI
HeapAlloc(
HANDLE hHeap,
DWORD dwFlags,
DWORD dwBytes
);
LPVOID
WINAPI
HeapReAlloc(
HANDLE hHeap,
DWORD dwFlags,
LPVOID lpMem,
DWORD dwBytes
);
BOOL
WINAPI
HeapFree(
HANDLE hHeap,
DWORD dwFlags,
LPVOID lpMem
);
DWORD
WINAPI
HeapSize(
HANDLE hHeap,
DWORD dwFlags,
LPCVOID lpMem
);
BOOL
WINAPI
HeapValidate(
HANDLE hHeap,
DWORD dwFlags,
LPCVOID lpMem
);
// @CESYSGEN ENDIF
VOID
WINAPI
OutputDebugStringA(
LPCSTR lpOutputString
);
VOID
WINAPI
OutputDebugStringW(
LPCWSTR lpOutputString
);
#ifdef UNICODE
#define OutputDebugString OutputDebugStringW
#else
#define OutputDebugString OutputDebugStringA
#endif // !UNICODE
#if defined (_M_CEE) || !defined (UNDER_CE)
WINBASEAPI
VOID
WINAPI
DebugBreak(
VOID
);
#endif
VOID SignalStarted(DWORD dw);
BOOL
WINAPI
QueryPerformanceCounter(
LARGE_INTEGER *lpPerformanceCount
);
BOOL
WINAPI
QueryPerformanceFrequency(
LARGE_INTEGER *lpFrequency
);
#define VER_PLATFORM_WIN32s 0
#define VER_PLATFORM_WIN32_WINDOWS 1
#define VER_PLATFORM_WIN32_NT 2
#define VER_PLATFORM_WIN32_HH 3
#define VER_PLATFORM_WIN32_CE 3
typedef struct _OSVERSIONINFOA {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
CHAR szCSDVersion[ 128 ]; // Maintenance string for PSS usage
} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
typedef struct _OSVERSIONINFOW {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
WCHAR szCSDVersion[ 128 ]; // Maintenance string for PSS usage
} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW;
#ifdef UNICODE
typedef OSVERSIONINFOW OSVERSIONINFO;
typedef POSVERSIONINFOW POSVERSIONINFO;
typedef LPOSVERSIONINFOW LPOSVERSIONINFO;
#else
typedef OSVERSIONINFOA OSVERSIONINFO;
typedef POSVERSIONINFOA POSVERSIONINFO;
typedef LPOSVERSIONINFOA LPOSVERSIONINFO;
#endif // UNICODE
BOOL
WINAPI
GetVersionExA(
LPOSVERSIONINFOA lpVersionInformation
);
BOOL
WINAPI
GetVersionExW(
LPOSVERSIONINFOW lpVersionInformation
);
#ifdef UNICODE
#define GetVersionEx GetVersionExW
#else
#define GetVersionEx GetVersionExA
#endif // !UNICODE
typedef struct _SYSTEM_INFO {
union {
DWORD dwOemId; // Obsolete field...do not use
struct {
WORD wProcessorArchitecture;
WORD wReserved;
};
};
DWORD dwPageSize;
LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;
DWORD dwActiveProcessorMask;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -