📄 winbase.h
字号:
IN PVOID Comperand
)
{
return((PVOID)(LONG_PTR)InterlockedCompareExchange((LONG volatile *)Destination, (LONG)(LONG_PTR)ExChange, (LONG)(LONG_PTR)Comperand));
}
#define InterlockedCompareExchangePointer __InlineInterlockedCompareExchangePointer
#else
#define InterlockedCompareExchangePointer(Destination, ExChange, Comperand) \
(PVOID)(LONG_PTR)InterlockedCompareExchange((LONG volatile *)(Destination), (LONG)(LONG_PTR)(ExChange), (LONG)(LONG_PTR)(Comperand))
#endif /* __cplusplus */
#endif /* X86 | IA64 */
#if defined(_SLIST_HEADER_) && !defined(_NTOSP_)
WINBASEAPI
VOID
WINAPI
InitializeSListHead (
IN PSLIST_HEADER ListHead
);
WINBASEAPI
PSINGLE_LIST_ENTRY
WINAPI
InterlockedPopEntrySList (
IN PSLIST_HEADER ListHead
);
WINBASEAPI
PSINGLE_LIST_ENTRY
WINAPI
InterlockedPushEntrySList (
IN PSLIST_HEADER ListHead,
IN PSINGLE_LIST_ENTRY ListEntry
);
WINBASEAPI
PSINGLE_LIST_ENTRY
WINAPI
InterlockedFlushSList (
IN PSLIST_HEADER ListHead
);
WINBASEAPI
USHORT
WINAPI
QueryDepthSList (
IN PSLIST_HEADER ListHead
);
#endif /* _SLIST_HEADER_ */
#endif /* _NTOS_ */
#endif /* NOWINBASEINTERLOCK */
WINBASEAPI
BOOL
WINAPI
FreeResource(
IN HGLOBAL hResData
);
WINBASEAPI
LPVOID
WINAPI
LockResource(
IN HGLOBAL hResData
);
#define UnlockResource(hResData) ((hResData), 0)
#define MAXINTATOM 0xC000
#define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i)))
#define INVALID_ATOM ((ATOM)0)
#ifndef _MAC
int
WINAPI
#else
int
CALLBACK
#endif
WinMain(
IN HINSTANCE hInstance,
IN HINSTANCE hPrevInstance,
IN LPSTR lpCmdLine,
IN int nShowCmd
);
WINBASEAPI
BOOL
WINAPI
FreeLibrary(
IN OUT HMODULE hLibModule
);
WINBASEAPI
DECLSPEC_NORETURN
VOID
WINAPI
FreeLibraryAndExitThread(
IN HMODULE hLibModule,
IN DWORD dwExitCode
);
WINBASEAPI
BOOL
WINAPI
DisableThreadLibraryCalls(
IN HMODULE hLibModule
);
WINBASEAPI
FARPROC
WINAPI
GetProcAddress(
IN HMODULE hModule,
IN LPCSTR lpProcName
);
WINBASEAPI
DWORD
WINAPI
GetVersion( VOID );
WINBASEAPI
HGLOBAL
WINAPI
GlobalAlloc(
IN UINT uFlags,
IN SIZE_T dwBytes
);
WINBASEAPI
HGLOBAL
WINAPI
GlobalReAlloc(
IN HGLOBAL hMem,
IN SIZE_T dwBytes,
IN UINT uFlags
);
WINBASEAPI
SIZE_T
WINAPI
GlobalSize(
IN HGLOBAL hMem
);
WINBASEAPI
UINT
WINAPI
GlobalFlags(
IN HGLOBAL hMem
);
WINBASEAPI
LPVOID
WINAPI
GlobalLock(
IN HGLOBAL hMem
);
//!!!MWH My version win31 = DWORD WINAPI GlobalHandle(UINT)
WINBASEAPI
HGLOBAL
WINAPI
GlobalHandle(
IN LPCVOID pMem
);
WINBASEAPI
BOOL
WINAPI
GlobalUnlock(
IN HGLOBAL hMem
);
WINBASEAPI
HGLOBAL
WINAPI
GlobalFree(
IN HGLOBAL hMem
);
WINBASEAPI
SIZE_T
WINAPI
GlobalCompact(
IN DWORD dwMinFree
);
WINBASEAPI
VOID
WINAPI
GlobalFix(
IN HGLOBAL hMem
);
WINBASEAPI
VOID
WINAPI
GlobalUnfix(
IN HGLOBAL hMem
);
WINBASEAPI
LPVOID
WINAPI
GlobalWire(
IN HGLOBAL hMem
);
WINBASEAPI
BOOL
WINAPI
GlobalUnWire(
IN HGLOBAL hMem
);
WINBASEAPI
VOID
WINAPI
GlobalMemoryStatus(
IN OUT LPMEMORYSTATUS lpBuffer
);
typedef struct _MEMORYSTATUSEX {
DWORD dwLength;
DWORD dwMemoryLoad;
DWORDLONG ullTotalPhys;
DWORDLONG ullAvailPhys;
DWORDLONG ullTotalPageFile;
DWORDLONG ullAvailPageFile;
DWORDLONG ullTotalVirtual;
DWORDLONG ullAvailVirtual;
DWORDLONG ullAvailExtendedVirtual;
} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
WINBASEAPI
BOOL
WINAPI
GlobalMemoryStatusEx(
IN OUT LPMEMORYSTATUSEX lpBuffer
);
WINBASEAPI
HLOCAL
WINAPI
LocalAlloc(
IN UINT uFlags,
IN SIZE_T uBytes
);
WINBASEAPI
HLOCAL
WINAPI
LocalReAlloc(
IN HLOCAL hMem,
IN SIZE_T uBytes,
IN UINT uFlags
);
WINBASEAPI
LPVOID
WINAPI
LocalLock(
IN HLOCAL hMem
);
WINBASEAPI
HLOCAL
WINAPI
LocalHandle(
IN LPCVOID pMem
);
WINBASEAPI
BOOL
WINAPI
LocalUnlock(
IN HLOCAL hMem
);
WINBASEAPI
SIZE_T
WINAPI
LocalSize(
IN HLOCAL hMem
);
WINBASEAPI
UINT
WINAPI
LocalFlags(
IN HLOCAL hMem
);
WINBASEAPI
HLOCAL
WINAPI
LocalFree(
IN HLOCAL hMem
);
WINBASEAPI
SIZE_T
WINAPI
LocalShrink(
IN HLOCAL hMem,
IN UINT cbNewSize
);
WINBASEAPI
SIZE_T
WINAPI
LocalCompact(
IN UINT uMinFree
);
WINBASEAPI
BOOL
WINAPI
FlushInstructionCache(
IN HANDLE hProcess,
IN LPCVOID lpBaseAddress,
IN SIZE_T dwSize
);
WINBASEAPI
LPVOID
WINAPI
VirtualAlloc(
IN LPVOID lpAddress,
IN SIZE_T dwSize,
IN DWORD flAllocationType,
IN DWORD flProtect
);
WINBASEAPI
BOOL
WINAPI
VirtualFree(
IN LPVOID lpAddress,
IN SIZE_T dwSize,
IN DWORD dwFreeType
);
WINBASEAPI
BOOL
WINAPI
VirtualProtect(
IN LPVOID lpAddress,
IN SIZE_T dwSize,
IN DWORD flNewProtect,
OUT PDWORD lpflOldProtect
);
WINBASEAPI
SIZE_T
WINAPI
VirtualQuery(
IN LPCVOID lpAddress,
OUT PMEMORY_BASIC_INFORMATION lpBuffer,
IN SIZE_T dwLength
);
WINBASEAPI
LPVOID
WINAPI
VirtualAllocEx(
IN HANDLE hProcess,
IN LPVOID lpAddress,
IN SIZE_T dwSize,
IN DWORD flAllocationType,
IN DWORD flProtect
);
WINBASEAPI
UINT
WINAPI
GetWriteWatch(
IN DWORD dwFlags,
IN PVOID lpBaseAddress,
IN SIZE_T dwRegionSize,
IN OUT PVOID *lpAddresses,
IN OUT PULONG_PTR lpdwCount,
OUT PULONG lpdwGranularity
);
WINBASEAPI
UINT
WINAPI
ResetWriteWatch(
IN LPVOID lpBaseAddress,
IN SIZE_T dwRegionSize
);
WINBASEAPI
BOOL
WINAPI
VirtualFreeEx(
IN HANDLE hProcess,
IN LPVOID lpAddress,
IN SIZE_T dwSize,
IN DWORD dwFreeType
);
WINBASEAPI
BOOL
WINAPI
VirtualProtectEx(
IN HANDLE hProcess,
IN LPVOID lpAddress,
IN SIZE_T dwSize,
IN DWORD flNewProtect,
OUT PDWORD lpflOldProtect
);
WINBASEAPI
SIZE_T
WINAPI
VirtualQueryEx(
IN HANDLE hProcess,
IN LPCVOID lpAddress,
OUT PMEMORY_BASIC_INFORMATION lpBuffer,
IN SIZE_T dwLength
);
WINBASEAPI
HANDLE
WINAPI
HeapCreate(
IN DWORD flOptions,
IN SIZE_T dwInitialSize,
IN SIZE_T dwMaximumSize
);
WINBASEAPI
BOOL
WINAPI
HeapDestroy(
IN OUT HANDLE hHeap
);
WINBASEAPI
LPVOID
WINAPI
HeapAlloc(
IN HANDLE hHeap,
IN DWORD dwFlags,
IN SIZE_T dwBytes
);
WINBASEAPI
LPVOID
WINAPI
HeapReAlloc(
IN HANDLE hHeap,
IN DWORD dwFlags,
IN LPVOID lpMem,
IN SIZE_T dwBytes
);
WINBASEAPI
BOOL
WINAPI
HeapFree(
IN HANDLE hHeap,
IN DWORD dwFlags,
IN LPVOID lpMem
);
WINBASEAPI
SIZE_T
WINAPI
HeapSize(
IN HANDLE hHeap,
IN DWORD dwFlags,
IN LPCVOID lpMem
);
WINBASEAPI
BOOL
WINAPI
HeapValidate(
IN HANDLE hHeap,
IN DWORD dwFlags,
IN LPCVOID lpMem
);
WINBASEAPI
SIZE_T
WINAPI
HeapCompact(
IN HANDLE hHeap,
IN DWORD dwFlags
);
WINBASEAPI
HANDLE
WINAPI
GetProcessHeap( VOID );
WINBASEAPI
DWORD
WINAPI
GetProcessHeaps(
IN DWORD NumberOfHeaps,
OUT PHANDLE ProcessHeaps
);
typedef struct _PROCESS_HEAP_ENTRY {
PVOID lpData;
DWORD cbData;
BYTE cbOverhead;
BYTE iRegionIndex;
WORD wFlags;
union {
struct {
HANDLE hMem;
DWORD dwReserved[ 3 ];
} Block;
struct {
DWORD dwCommittedSize;
DWORD dwUnCommittedSize;
LPVOID lpFirstBlock;
LPVOID lpLastBlock;
} Region;
};
} PROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY, *PPROCESS_HEAP_ENTRY;
#define PROCESS_HEAP_REGION 0x0001
#define PROCESS_HEAP_UNCOMMITTED_RANGE 0x0002
#define PROCESS_HEAP_ENTRY_BUSY 0x0004
#define PROCESS_HEAP_ENTRY_MOVEABLE 0x0010
#define PROCESS_HEAP_ENTRY_DDESHARE 0x0020
WINBASEAPI
BOOL
WINAPI
HeapLock(
IN HANDLE hHeap
);
WINBASEAPI
BOOL
WINAPI
HeapUnlock(
IN HANDLE hHeap
);
WINBASEAPI
BOOL
WINAPI
HeapWalk(
IN HANDLE hHeap,
IN OUT LPPROCESS_HEAP_ENTRY lpEntry
);
WINBASEAPI
BOOL
WINAPI
HeapSetInformation (
IN PVOID HeapHandle,
IN HEAP_INFORMATION_CLASS HeapInformationClass,
IN PVOID HeapInformation OPTIONAL,
IN SIZE_T HeapInformationLength OPTIONAL
);
WINBASEAPI
BOOL
WINAPI
HeapQueryInformation (
IN PVOID HeapHandle,
IN HEAP_INFORMATION_CLASS HeapInformationClass,
OUT PVOID HeapInformation OPTIONAL,
IN SIZE_T HeapInformationLength OPTIONAL,
OUT PSIZE_T ReturnLength OPTIONAL
);
// GetBinaryType return values.
#define SCS_32BIT_BINARY 0
#define SCS_DOS_BINARY 1
#define SCS_WOW_BINARY 2
#define SCS_PIF_BINARY 3
#define SCS_POSIX_BINARY 4
#define SCS_OS216_BINARY 5
#define SCS_64BIT_BINARY 6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -