⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kwin32.h

📁 WinCE5.0部分核心源码
💻 H
📖 第 1 页 / 共 2 页
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// This source code is licensed under Microsoft Shared Source License
// Version 1.0 for Windows CE.
// For a copy of the license visit http://go.microsoft.com/fwlink/?LinkId=3223.
//
/**     TITLE("Kernel Win32 function declarations")
 *++
 *
 *
 * Module Name:
 *
 *    KWin32.h
 *
 * Abstract:
 *
 *  This file contains the function prototypes and defines used by the kernel part
 * of the Win32 API implemented via the Win32 system API handle.
 *
 *--
 */

#ifdef __cplusplus
extern "C" {            /* Assume C declarations for C++ */
#endif  /* __cplusplus */

typedef struct VERBLOCK {
    WORD wTotLen;
    WORD wValLen;
    WORD wType;
    WCHAR szKey[1];
} VERBLOCK ;

LONG NKRegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult);
LONG NKRegQueryValueExW(HKEY hKey, LPCWSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
LONG NKRegSetValueExW(HKEY hKey, LPCWSTR lpValueName, DWORD dwReserved, DWORD dwType, LPBYTE lpData, DWORD cbData);
BOOL SC_IsSystemFile(LPCWSTR lpFileName);
HANDLE SC_CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
BOOL SC_ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);
CEOID SC_CeWriteRecordProps(HANDLE hDbase, CEOID oidRecord, WORD cPropID, CEPROPVAL *rgPropVal);
BOOL SC_ReadFileWithSeek(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped, DWORD dwLowOffset, DWORD dwHighOffset);
BOOL SC_WriteFileWithSeek(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped, DWORD dwLowOffset, DWORD dwHighOffset);

HANDLE
SC_OpenDatabaseEx(
	PCEGUID				pguid,
	PCEOID				poid,
	LPWSTR				lpszName,
	SORTORDERSPECEX*	pSort,
	DWORD				dwFlags,
	CENOTIFYREQUEST*	pReq
	);

CEOID SC_SeekDatabase(HANDLE hDatabase, DWORD dwSeekType, DWORD dwValue, WORD wNumVals, LPDWORD lpdwIndex);
CEOID SC_ReadRecordPropsEx (HANDLE hDbase, DWORD dwFlags, LPWORD lpcPropID, CEPROPID *rgPropID, LPBYTE *lplpBuffer, LPDWORD lpcbBuffer, HANDLE hHeap);
LONG NKRegCreateKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD Reserved, LPWSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition);
BOOL SC_DeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuf, DWORD nInBufSize, LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
BOOL SC_CloseHandle(HANDLE hObj);
LONG NKRegCloseKey(HKEY hKey);
DWORD SC_PerformCallBack4(CALLBACKINFO *pcbi, ...);
VOID SC_RegisterGwesHandler(LPVOID);
LPVOID SC_GetProfileBaseAddress(void);
VOID SC_SetProfilePortAddress(LPVOID lpv);

LPVOID SC_VirtualAlloc(
        LPVOID lpvAddress, DWORD cbSize, DWORD fdwAllocationType,
        DWORD fdwProtect);
BOOL SC_VirtualFree(LPVOID lpvAddress, DWORD cbSize, DWORD fdwFreeType);
BOOL SC_VirtualProtect(LPVOID lpvAddress, DWORD cbSize,
        DWORD fdwNewProtect, PDWORD pfdwOldProtect);
DWORD SC_VirtualQuery(LPVOID lpvAddress,
        PMEMORY_BASIC_INFORMATION pmbiBuffer, DWORD cbLength);

LPVOID SC_CeVirtualSharedAlloc (LPVOID lpvAddr, DWORD cbSize, DWORD fdwAction);
BOOL DoVirtualCopy(LPVOID lpvDest, LPVOID lpvSrc, DWORD cbSize, DWORD fdwProtect);
BOOL SC_VirtualCopy(LPVOID lpvDest, LPVOID lpvSrc, DWORD cbSize, DWORD fdwProtect);
BOOL DoLockPages(LPCVOID lpvAddress, DWORD cbSize, PDWORD pPFNs, int fOptions);
BOOL SC_LockPages(LPVOID lpvAddress, DWORD cbSize, PDWORD pPFNs, int fOptions);
BOOL DoUnlockPages(LPCVOID lpvAddress, DWORD cbSize);
BOOL SC_UnlockPages(LPVOID lpvAddress, DWORD cbSize);
LPVOID SC_AllocPhysMem(DWORD cbSize, DWORD fdwProtect, DWORD dwAlignmentMask, DWORD dwFlags, PULONG pPhysicalAddress);
BOOL SC_FreePhysMem(LPVOID lpvAddress);
BOOL NKVirtualSetAttributes (LPVOID lpvAddress, DWORD cbSize, DWORD dwNewFlags, DWORD dwMask, LPDWORD lpdwOldFlags);

HANDLE SC_CreateAPISet(char acName[4], USHORT cFunctions,
        const PFNVOID *ppfnMethods, const DWORD *pdwSig);
HANDLE SC_CreateAPIHandle(HANDLE hSet, LPVOID pvData);

HMODULE SC_LoadLibraryExW(LPCWSTR lpLibFileName, DWORD dwFlags, LPDWORD pdwCnt);
BOOL SC_FreeLibrary(HANDLE hInst, LPDWORD pdwCnt);
DWORD SC_ThreadAttachOrDetach (void) ;
DWORD SC_ProcessDetachAllDLLs(void);
DWORD SC_GetTickCount(void);
DWORD SC_TlsCall(DWORD,DWORD);
VOID SC_GetSystemInfo(LPSYSTEM_INFO);
BOOL SC_QueryInstructionSet(DWORD, LPDWORD);
BOOL SC_IsProcessorFeaturePresent(DWORD);
HANDLE SC_LoadIntChainHandler(LPCTSTR lpszFileName, LPCTSTR lpszFunctionName, BYTE bIRQ);
BOOL SC_FreeIntChainHandler(HANDLE hInstance);
HANDLE SC_LoadKernelLibrary(LPCWSTR lpszFileName);
BOOL NKKernelLibIoControl(HANDLE hLib, DWORD dwIoControlCode, LPVOID lpInBuf, DWORD nInBufSize, LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned);
BOOL SC_KernelLibIoControl(HANDLE hLib, DWORD dwIoControlCode, LPVOID lpInBuf, DWORD nInBufSize, LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned);
LPVOID SC_CreateStaticMapping(DWORD dwPhysBase, DWORD dwSize);
DWORD SC_GetProcessVersion(DWORD dwProcessId);
DWORD SC_GetModuleFileNameW(HMODULE hModule, LPWSTR lpFilename, DWORD nSize);
HMODULE SC_GetModuleHandleW(LPCWSTR lpModuleName);
BOOL SC_QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount);
BOOL SC_QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);
VOID SC_WriteDebugLED(WORD wIndex, DWORD dwPattern);
void SC_ForcePageout(void);
BOOL SC_GetThreadTimes(HANDLE hThread, LPFILETIME lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime);

HANDLE SC_CreateCallBack(PFNVOID pfn, LPVOID pvData);

BOOL SC_RegisterDbgZones(HANDLE hMod, LPDBGPARAM lpdbgparam);
void SC_ProfileSyscall(DWORD* lpdwArg);

HANDLE SC_FindResource(HANDLE hModule, LPCWSTR lpszName, LPCWSTR lpszType);
HANDLE SC_LoadResource(HANDLE hModule, HANDLE hRsrc);
int SC_LoadStringW(HINSTANCE hInstance, UINT wID, LPWSTR lpBuffer, int nBufMax);

DWORD SC_SizeofResource(HANDLE hModule, HANDLE hRsrc);
LPVOID SC_ExtractResource(LPCWSTR lpszFile, LPCWSTR lpszName, LPCWSTR lpszType);
UINT SC_KernExtractIcons(LPCWSTR lpszFile, int nIconIndex, LPBYTE *pIconLarge, LPBYTE *pIconSmall, CALLBACKINFO *pcbi);
BOOL SC_GetRomFileInfo(DWORD type, LPWIN32_FIND_DATA lpfd, DWORD count);
DWORD SC_GetRomFileBytes(DWORD type, DWORD count, DWORD pos, LPVOID buffer, DWORD nBytesToRead);
BOOL SC_PrintTrackedItem(DWORD dwFlags, DWORD dwType, DWORD dwProcID, HANDLE handle);
BOOL SC_DeleteTrackedItem(DWORD dwType, HANDLE handle);
DWORD SC_RegisterTrackedItem(LPWSTR szName);
BOOL SC_AddTrackedItem(DWORD dwType, HANDLE handle, TRACKER_CALLBACK cb, DWORD dwProcID, 
    DWORD dwSize, DWORD dw1, DWORD dw2);
VOID SC_FilterTrackedItem(DWORD dwFlags, DWORD dwType, DWORD dwProcID);
HANDLE SC_CreateEvent(LPSECURITY_ATTRIBUTES lpsa, BOOL fManReset, BOOL fInitState, LPCWSTR lpEventName);
HANDLE SC_OpenEvent(DWORD dwDesiredAccess, BOOL fInheritHandle, LPCWSTR lpEventName);
BOOL SC_IsNamedEventSignaled (LPCWSTR pszName, DWORD dwFlags);

BOOL SC_CreateProc(LPCWSTR lpszImageName, LPCWSTR lpszCommandLine, LPSECURITY_ATTRIBUTES lpsaProcess,
    LPSECURITY_ATTRIBUTES lpsaThread, BOOL fInheritHandles, DWORD fdwCreate, LPVOID lpvEnvironment,
    LPWSTR lpszCurDir, LPSTARTUPINFO lpsiStartInfo, LPPROCESS_INFORMATION lppiProcInfo);
HANDLE SC_CreateThread(LPSECURITY_ATTRIBUTES lpsa, DWORD cbStack, LPTHREAD_START_ROUTINE lpStartAddr,
    LPVOID lpvThreadParm, DWORD fdwCreate, LPDWORD lpIDThread);
HANDLE SC_CreateMutex(LPSECURITY_ATTRIBUTES lpsa, BOOL bInitialOwner, LPCTSTR lpName);
HANDLE SC_CreateSemaphore(LPSECURITY_ATTRIBUTES lpsa, LONG lInitialCount, LONG lMaximumCount, LPCWSTR lpName);
int SC_CeGetThreadPriority(HANDLE hThread);
BOOL SC_CeSetThreadPriority(HANDLE hThread, DWORD nPriority);
DWORD SC_CeGetThreadQuantum(HANDLE hThread);
BOOL SC_CeSetThreadQuantum(HANDLE hThread, DWORD dwTime);
BOOL SC_CeMapArgumentArray(HANDLE hProc, LPVOID *pArgList, DWORD dwSig);
BOOL SC_CeSetExtendedPdata(LPVOID pData);
BOOL SC_VerQueryValueW(VERBLOCK *pBlock, LPWSTR lpSubBlock, LPVOID *lplpBuffer, PUINT puLen);
DWORD SC_GetFileVersionInfoSizeW(LPWSTR lpFilename, LPDWORD lpdwHandle);
BOOL SC_GetFileVersionInfoW(LPWSTR lpFilename, DWORD dwHandle, DWORD dwLen, LPVOID lpData);
LPBYTE SC_CreateLocaleView(BOOL bFirst);

// token APIs
HANDLE SC_CreateToken (LPVOID pTok, DWORD dwFlags);
BOOL   SC_RevertToSelf (void);
BOOL   SC_AccessCheck (HANDLE hTok, LPVOID pSecDesc, DWORD dwDesiredAccess);
BOOL   SC_PrivilegeCheck (HANDLE hTok, LPVOID pPriv, int nPrivs);
BOOL   SC_TokenCloseHandle (HANDLE hTok);
BOOL   SC_Impersonate (HANDLE hTok);
BOOL   SC_CeImpersonateCurrProc (void);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -