📄 winbase.h
字号:
#if defined(_WIN64)
# define SCS_THIS_PLATFORM_BINARY SCS_64BIT_BINARY
#else
# define SCS_THIS_PLATFORM_BINARY SCS_32BIT_BINARY
#endif
WINBASEAPI
BOOL
WINAPI
GetBinaryTypeA(
IN LPCSTR lpApplicationName,
OUT LPDWORD lpBinaryType
);
WINBASEAPI
BOOL
WINAPI
GetBinaryTypeW(
IN LPCWSTR lpApplicationName,
OUT LPDWORD lpBinaryType
);
#ifdef UNICODE
#define GetBinaryType GetBinaryTypeW
#else
#define GetBinaryType GetBinaryTypeA
#endif // !UNICODE
WINBASEAPI
DWORD
WINAPI
GetShortPathNameA(
IN LPCSTR lpszLongPath,
OUT LPSTR lpszShortPath,
IN DWORD cchBuffer
);
WINBASEAPI
DWORD
WINAPI
GetShortPathNameW(
IN LPCWSTR lpszLongPath,
OUT LPWSTR lpszShortPath,
IN DWORD cchBuffer
);
#ifdef UNICODE
#define GetShortPathName GetShortPathNameW
#else
#define GetShortPathName GetShortPathNameA
#endif // !UNICODE
WINBASEAPI
DWORD
WINAPI
GetLongPathNameA(
IN LPCSTR lpszShortPath,
OUT LPSTR lpszLongPath,
IN DWORD cchBuffer
);
WINBASEAPI
DWORD
WINAPI
GetLongPathNameW(
IN LPCWSTR lpszShortPath,
OUT LPWSTR lpszLongPath,
IN DWORD cchBuffer
);
#ifdef UNICODE
#define GetLongPathName GetLongPathNameW
#else
#define GetLongPathName GetLongPathNameA
#endif // !UNICODE
WINBASEAPI
BOOL
WINAPI
GetProcessAffinityMask(
IN HANDLE hProcess,
OUT PDWORD_PTR lpProcessAffinityMask,
OUT PDWORD_PTR lpSystemAffinityMask
);
WINBASEAPI
BOOL
WINAPI
SetProcessAffinityMask(
IN HANDLE hProcess,
IN DWORD_PTR dwProcessAffinityMask
);
#if _WIN32_WINNT >= 0x0501
WINBASEAPI
BOOL
WINAPI
GetProcessHandleCount(
IN HANDLE hProcess,
OUT PDWORD pdwHandleCount
);
#endif // (_WIN32_WINNT >= 0x0501)
WINBASEAPI
BOOL
WINAPI
GetProcessTimes(
IN HANDLE hProcess,
OUT LPFILETIME lpCreationTime,
OUT LPFILETIME lpExitTime,
OUT LPFILETIME lpKernelTime,
OUT LPFILETIME lpUserTime
);
WINBASEAPI
BOOL
WINAPI
GetProcessIoCounters(
IN HANDLE hProcess,
OUT PIO_COUNTERS lpIoCounters
);
WINBASEAPI
BOOL
WINAPI
GetProcessWorkingSetSize(
IN HANDLE hProcess,
OUT PSIZE_T lpMinimumWorkingSetSize,
OUT PSIZE_T lpMaximumWorkingSetSize
);
WINBASEAPI
BOOL
WINAPI
SetProcessWorkingSetSize(
IN HANDLE hProcess,
IN SIZE_T dwMinimumWorkingSetSize,
IN SIZE_T dwMaximumWorkingSetSize
);
WINBASEAPI
HANDLE
WINAPI
OpenProcess(
IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN DWORD dwProcessId
);
WINBASEAPI
HANDLE
WINAPI
GetCurrentProcess(
VOID
);
WINBASEAPI
DWORD
WINAPI
GetCurrentProcessId(
VOID
);
#if _WIN32_WINNT >= 0x0501
WINBASEAPI
DWORD
WINAPI
GetProcessId(
HANDLE Process
);
#endif // (_WIN32_WINNT >= 0x0501)
WINBASEAPI
DECLSPEC_NORETURN
VOID
WINAPI
ExitProcess(
IN UINT uExitCode
);
WINBASEAPI
BOOL
WINAPI
TerminateProcess(
IN HANDLE hProcess,
IN UINT uExitCode
);
WINBASEAPI
BOOL
WINAPI
GetExitCodeProcess(
IN HANDLE hProcess,
OUT LPDWORD lpExitCode
);
WINBASEAPI
VOID
WINAPI
FatalExit(
IN int ExitCode
);
WINBASEAPI
LPSTR
WINAPI
GetEnvironmentStrings(
VOID
);
WINBASEAPI
LPWSTR
WINAPI
GetEnvironmentStringsW(
VOID
);
#ifdef UNICODE
#define GetEnvironmentStrings GetEnvironmentStringsW
#else
#define GetEnvironmentStringsA GetEnvironmentStrings
#endif // !UNICODE
WINBASEAPI
BOOL
WINAPI
FreeEnvironmentStringsA(
IN LPSTR
);
WINBASEAPI
BOOL
WINAPI
FreeEnvironmentStringsW(
IN LPWSTR
);
#ifdef UNICODE
#define FreeEnvironmentStrings FreeEnvironmentStringsW
#else
#define FreeEnvironmentStrings FreeEnvironmentStringsA
#endif // !UNICODE
WINBASEAPI
VOID
WINAPI
RaiseException(
IN DWORD dwExceptionCode,
IN DWORD dwExceptionFlags,
IN DWORD nNumberOfArguments,
IN CONST ULONG_PTR *lpArguments
);
WINBASEAPI
LONG
WINAPI
UnhandledExceptionFilter(
IN struct _EXCEPTION_POINTERS *ExceptionInfo
);
typedef LONG (WINAPI *PTOP_LEVEL_EXCEPTION_FILTER)(
struct _EXCEPTION_POINTERS *ExceptionInfo
);
typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
WINBASEAPI
LPTOP_LEVEL_EXCEPTION_FILTER
WINAPI
SetUnhandledExceptionFilter(
IN LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
);
#if(_WIN32_WINNT >= 0x0400)
WINBASEAPI
LPVOID
WINAPI
CreateFiber(
IN SIZE_T dwStackSize,
IN LPFIBER_START_ROUTINE lpStartAddress,
IN LPVOID lpParameter
);
WINBASEAPI
LPVOID
WINAPI
CreateFiberEx(
SIZE_T dwStackCommitSize,
SIZE_T dwStackReserveSize,
DWORD dwFlags,
LPFIBER_START_ROUTINE lpStartAddress,
LPVOID lpParameter
);
WINBASEAPI
VOID
WINAPI
DeleteFiber(
IN LPVOID lpFiber
);
WINBASEAPI
LPVOID
WINAPI
ConvertThreadToFiber(
IN LPVOID lpParameter
);
WINBASEAPI
BOOL
WINAPI
ConvertFiberToThread(
VOID
);
WINBASEAPI
VOID
WINAPI
SwitchToFiber(
IN LPVOID lpFiber
);
WINBASEAPI
BOOL
WINAPI
SwitchToThread(
VOID
);
#endif /* _WIN32_WINNT >= 0x0400 */
WINBASEAPI
HANDLE
WINAPI
CreateThread(
IN LPSECURITY_ATTRIBUTES lpThreadAttributes,
IN SIZE_T dwStackSize,
IN LPTHREAD_START_ROUTINE lpStartAddress,
IN LPVOID lpParameter,
IN DWORD dwCreationFlags,
OUT LPDWORD lpThreadId
);
WINBASEAPI
HANDLE
WINAPI
CreateRemoteThread(
IN HANDLE hProcess,
IN LPSECURITY_ATTRIBUTES lpThreadAttributes,
IN SIZE_T dwStackSize,
IN LPTHREAD_START_ROUTINE lpStartAddress,
IN LPVOID lpParameter,
IN DWORD dwCreationFlags,
OUT LPDWORD lpThreadId
);
WINBASEAPI
HANDLE
WINAPI
GetCurrentThread(
VOID
);
WINBASEAPI
DWORD
WINAPI
GetCurrentThreadId(
VOID
);
WINBASEAPI
DWORD_PTR
WINAPI
SetThreadAffinityMask(
IN HANDLE hThread,
IN DWORD_PTR dwThreadAffinityMask
);
#if(_WIN32_WINNT >= 0x0400)
WINBASEAPI
DWORD
WINAPI
SetThreadIdealProcessor(
IN HANDLE hThread,
IN DWORD dwIdealProcessor
);
#endif /* _WIN32_WINNT >= 0x0400 */
WINBASEAPI
BOOL
WINAPI
SetProcessPriorityBoost(
IN HANDLE hProcess,
IN BOOL bDisablePriorityBoost
);
WINBASEAPI
BOOL
WINAPI
GetProcessPriorityBoost(
IN HANDLE hProcess,
OUT PBOOL pDisablePriorityBoost
);
WINBASEAPI
BOOL
WINAPI
RequestWakeupLatency(
IN LATENCY_TIME latency
);
WINBASEAPI
BOOL
WINAPI
IsSystemResumeAutomatic(
VOID
);
WINBASEAPI
HANDLE
WINAPI
OpenThread(
DWORD dwDesiredAccess,
BOOL bInheritHandle,
DWORD dwThreadId
);
WINBASEAPI
BOOL
WINAPI
SetThreadPriority(
IN HANDLE hThread,
IN int nPriority
);
WINBASEAPI
BOOL
WINAPI
SetThreadPriorityBoost(
IN HANDLE hThread,
IN BOOL bDisablePriorityBoost
);
WINBASEAPI
BOOL
WINAPI
GetThreadPriorityBoost(
IN HANDLE hThread,
OUT PBOOL pDisablePriorityBoost
);
WINBASEAPI
int
WINAPI
GetThreadPriority(
IN HANDLE hThread
);
WINBASEAPI
BOOL
WINAPI
GetThreadTimes(
IN HANDLE hThread,
OUT LPFILETIME lpCreationTime,
OUT LPFILETIME lpExitTime,
OUT LPFILETIME lpKernelTime,
OUT LPFILETIME lpUserTime
);
#if _WIN32_WINNT >= 0x0501
WINBASEAPI
BOOL
WINAPI
GetThreadIOPendingFlag(
IN HANDLE hThread,
OUT PBOOL lpIOIsPending
);
#endif // (_WIN32_WINNT >= 0x0501)
WINBASEAPI
DECLSPEC_NORETURN
VOID
WINAPI
ExitThread(
IN DWORD dwExitCode
);
WINBASEAPI
BOOL
WINAPI
TerminateThread(
IN OUT HANDLE hThread,
IN DWORD dwExitCode
);
WINBASEAPI
BOOL
WINAPI
GetExitCodeThread(
IN HANDLE hThread,
OUT LPDWORD lpExitCode
);
WINBASEAPI
BOOL
WINAPI
GetThreadSelectorEntry(
IN HANDLE hThread,
IN DWORD dwSelector,
OUT LPLDT_ENTRY lpSelectorEntry
);
WINBASEAPI
EXECUTION_STATE
WINAPI
SetThreadExecutionState(
IN EXECUTION_STATE esFlags
);
WINBASEAPI
DWORD
WINAPI
GetLastError(
VOID
);
WINBASEAPI
VOID
WINAPI
SetLastError(
IN DWORD dwErrCode
);
#if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_RESTORE_LAST_ERROR" is a bit long.
//#if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_RESTORE_LAST_ERROR)
#if defined(WINBASE_DECLARE_RESTORE_LAST_ERROR)
WINBASEAPI
VOID
WINAPI
RestoreLastError(
IN DWORD dwErrCode
);
typedef VOID (WINAPI* PRESTORE_LAST_ERROR)(DWORD);
#define RESTORE_LAST_ERROR_NAME_A "RestoreLastError"
#define RESTORE_LAST_ERROR_NAME_W L"RestoreLastError"
#define RESTORE_LAST_ERROR_NAME TEXT("RestoreLastError")
#endif
#endif
#define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
WINBASEAPI
BOOL
WINAPI
GetOverlappedResult(
IN HANDLE hFile,
IN LPOVERLAPPED lpOverlapped,
OUT LPDWORD lpNumberOfBytesTransferred,
IN BOOL bWait
);
WINBASEAPI
HANDLE
WINAPI
CreateIoCompletionPort(
IN HANDLE FileHandle,
IN HANDLE ExistingCompletionPort,
IN ULONG_PTR CompletionKey,
IN DWORD NumberOfConcurrentThreads
);
WINBASEAPI
BOOL
WINAPI
GetQueuedCompletionStatus(
IN HANDLE CompletionPort,
OUT LPDWORD lpNumberOfBytesTransferred,
OUT PULONG_PTR lpCompletionKey,
OUT LPOVERLAPPED *lpOverlapped,
IN DWORD dwMilliseconds
);
WINBASEAPI
BOOL
WINAPI
PostQueuedCompletionStatus(
IN HANDLE CompletionPort,
IN DWORD dwNumberOfBytesTransferred,
IN ULONG_PTR dwCompletionKey,
IN LPOVERLAPPED lpOverlapped
);
#define SEM_FAILCRITICALERRORS 0x0001
#define SEM_NOGPFAULTERRORBOX 0x0002
#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
#define SEM_NOOPENFILEERRORBOX 0x8000
WINBASEAPI
UINT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -