mirror of
https://github.com/UzixLS/KernelEx.git
synced 2025-07-19 07:21:20 +03:00
import KernelEx-4.0-RC2
This commit is contained in:
36
apilibs/kexbases/Advapi32/OpenSCManager_stub.c
Executable file
36
apilibs/kexbases/Advapi32/OpenSCManager_stub.c
Executable file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* KernelEx
|
||||
* Copyright (C) 2009, Xeno86
|
||||
*
|
||||
* This file is part of KernelEx source code.
|
||||
*
|
||||
* KernelEx is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* KernelEx is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GNU Make; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
/* MAKE_EXPORT OpenSCManagerA_stub=OpenSCManagerA */
|
||||
SC_HANDLE WINAPI OpenSCManagerA_stub(LPCSTR lpMachineName, LPCSTR lpDatabaseName,
|
||||
DWORD dwDesiredAccess)
|
||||
{
|
||||
return (SC_HANDLE) 0xCAFE;
|
||||
}
|
||||
|
||||
/* MAKE_EXPORT OpenSCManagerW_stub=OpenSCManagerW */
|
||||
SC_HANDLE WINAPI OpenSCManagerW_stub(LPCWSTR lpMachineName, LPCWSTR lpDatabaseName,
|
||||
DWORD dwDesiredAccess)
|
||||
{
|
||||
return (SC_HANDLE) 0xCAFE;
|
||||
}
|
0
apilibs/kexbases/Advapi32/RegDisablePredefinedCache.c
Normal file → Executable file
0
apilibs/kexbases/Advapi32/RegDisablePredefinedCache.c
Normal file → Executable file
0
apilibs/kexbases/Advapi32/RegOpenCurrentUser.c
Normal file → Executable file
0
apilibs/kexbases/Advapi32/RegOpenCurrentUser.c
Normal file → Executable file
0
apilibs/kexbases/Advapi32/TraceMessage.c
Normal file → Executable file
0
apilibs/kexbases/Advapi32/TraceMessage.c
Normal file → Executable file
2
apilibs/kexbases/Advapi32/_advapi32_apilist.c
Normal file → Executable file
2
apilibs/kexbases/Advapi32/_advapi32_apilist.c
Normal file → Executable file
@ -89,6 +89,8 @@ static const apilib_named_api advapi32_named_apis[] =
|
||||
DECL_API("MakeSelfRelativeSD", MakeSelfRelativeSD_new),
|
||||
DECL_API("NotifyBootConfigStatus", NotifyBootConfigStatus_new),
|
||||
DECL_API("OpenProcessToken", OpenProcessToken_new),
|
||||
DECL_API("OpenSCManagerA", OpenSCManagerA_stub),
|
||||
DECL_API("OpenSCManagerW", OpenSCManagerW_stub),
|
||||
DECL_API("OpenThreadToken", OpenThreadToken_new),
|
||||
DECL_API("PrivilegeCheck", PrivilegeCheck_new),
|
||||
DECL_API("QueryServiceStatusEx", QueryServiceStatusEx_stub),
|
||||
|
2
apilibs/kexbases/Advapi32/_advapi32_apilist.h
Normal file → Executable file
2
apilibs/kexbases/Advapi32/_advapi32_apilist.h
Normal file → Executable file
@ -29,6 +29,8 @@ BOOL init_advapi32();
|
||||
extern const apilib_api_table apitable_advapi32;
|
||||
|
||||
/*** AUTOGENERATED APILIST DECLARATIONS BEGIN ***/
|
||||
SC_HANDLE WINAPI OpenSCManagerA_stub(LPCSTR lpMachineName, LPCSTR lpDatabaseName, DWORD dwDesiredAccess);
|
||||
SC_HANDLE WINAPI OpenSCManagerW_stub(LPCWSTR lpMachineName, LPCWSTR lpDatabaseName, DWORD dwDesiredAccess);
|
||||
BOOL WINAPI RegDisablePredefinedCache_new();
|
||||
LONG WINAPI RegOpenCurrentUser_new(REGSAM access, PHKEY retkey);
|
||||
ULONG CDECL TraceMessage_new(ULONG64 LoggerHandle, ULONG MessageFlags, LPGUID MessageGuid, USHORT MessageNumber, ...);
|
||||
|
0
apilibs/kexbases/Advapi32/_advapi32_stubs.c
Normal file → Executable file
0
apilibs/kexbases/Advapi32/_advapi32_stubs.c
Normal file → Executable file
0
apilibs/kexbases/Advapi32/security.c
Normal file → Executable file
0
apilibs/kexbases/Advapi32/security.c
Normal file → Executable file
0
apilibs/kexbases/Advapi32/uniadvapi32.c
Normal file → Executable file
0
apilibs/kexbases/Advapi32/uniadvapi32.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/FontResourceExA.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/FontResourceExA.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/GetGlyphOutlineA_fix.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/GetGlyphOutlineA_fix.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/TextOut.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/TextOut.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/_gdi32_apilist.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/_gdi32_apilist.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/_gdi32_apilist.h
Normal file → Executable file
0
apilibs/kexbases/Gdi32/_gdi32_apilist.h
Normal file → Executable file
0
apilibs/kexbases/Gdi32/_gdi32_stubs.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/_gdi32_stubs.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/unigdi32.c
Normal file → Executable file
0
apilibs/kexbases/Gdi32/unigdi32.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/CopyFileEx.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/CopyFileEx.c
Normal file → Executable file
@ -1,44 +0,0 @@
|
||||
/*
|
||||
* KernelEx
|
||||
* Copyright (C) 2008-2009, Xeno86
|
||||
*
|
||||
* This file is part of KernelEx source code.
|
||||
*
|
||||
* KernelEx is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* KernelEx is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GNU Make; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
/* MAKE_EXPORT CreateFileA_fix=CreateFileA */
|
||||
HANDLE WINAPI CreateFileA_fix(LPCSTR lpFileName, DWORD dwDesiredAccess,
|
||||
DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
||||
DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
|
||||
{
|
||||
/* translate NT-specific access rights to generic ones */
|
||||
if (dwDesiredAccess & ~0xf0010100)
|
||||
{
|
||||
DWORD oldaccess = dwDesiredAccess;
|
||||
dwDesiredAccess &= 0xf0010100;
|
||||
if (oldaccess & FILE_READ_DATA)
|
||||
dwDesiredAccess |= GENERIC_READ;
|
||||
if (oldaccess & FILE_WRITE_DATA)
|
||||
dwDesiredAccess |= GENERIC_WRITE;
|
||||
if (oldaccess & FILE_EXECUTE)
|
||||
dwDesiredAccess |= GENERIC_EXECUTE;
|
||||
}
|
||||
// hTemplate has to be NULL on 9x
|
||||
return CreateFileA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes,
|
||||
dwCreationDistribution, dwFlagsAndAttributes, NULL);
|
||||
}
|
0
apilibs/kexbases/Kernel32/CreateThread_fix.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/CreateThread_fix.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/DeleteCriticalSection.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/DeleteCriticalSection.c
Normal file → Executable file
107
apilibs/kexbases/Kernel32/FileApis_fix.c
Executable file
107
apilibs/kexbases/Kernel32/FileApis_fix.c
Executable file
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* KernelEx
|
||||
* Copyright (C) 2008-2009, Xeno86
|
||||
*
|
||||
* This file is part of KernelEx source code.
|
||||
*
|
||||
* KernelEx is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* KernelEx is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GNU Make; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
/* MAKE_EXPORT CreateFileA_fix=CreateFileA */
|
||||
HANDLE WINAPI CreateFileA_fix(LPCSTR lpFileName, DWORD dwDesiredAccess,
|
||||
DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
||||
DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
|
||||
{
|
||||
/* translate NT-specific access rights to generic ones */
|
||||
if (dwDesiredAccess & ~0xf0010100)
|
||||
{
|
||||
DWORD oldaccess = dwDesiredAccess;
|
||||
dwDesiredAccess &= 0xf0010100;
|
||||
if (oldaccess & FILE_READ_DATA)
|
||||
dwDesiredAccess |= GENERIC_READ;
|
||||
if (oldaccess & FILE_WRITE_DATA)
|
||||
dwDesiredAccess |= GENERIC_WRITE;
|
||||
if (oldaccess & FILE_EXECUTE)
|
||||
dwDesiredAccess |= GENERIC_EXECUTE;
|
||||
}
|
||||
// hTemplate has to be NULL on 9x
|
||||
hTemplateFile = NULL;
|
||||
// special case: overlapped I/O
|
||||
if (dwFlagsAndAttributes & FILE_FLAG_OVERLAPPED)
|
||||
{
|
||||
DWORD lasterr = GetLastError();
|
||||
HANDLE h;
|
||||
h = CreateFileA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes,
|
||||
dwCreationDistribution, dwFlagsAndAttributes, hTemplateFile);
|
||||
if (h != INVALID_HANDLE_VALUE)
|
||||
return h;
|
||||
SetLastError(lasterr);
|
||||
dwFlagsAndAttributes &= ~FILE_FLAG_OVERLAPPED;
|
||||
}
|
||||
return CreateFileA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes,
|
||||
dwCreationDistribution, dwFlagsAndAttributes, hTemplateFile);
|
||||
}
|
||||
|
||||
/* MAKE_EXPORT ReadFile_fix=ReadFile */
|
||||
BOOL WINAPI ReadFile_fix(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead,
|
||||
LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped)
|
||||
{
|
||||
DWORD lasterr = GetLastError();
|
||||
|
||||
if (ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead,
|
||||
lpOverlapped))
|
||||
return TRUE;
|
||||
|
||||
if (lpOverlapped && GetLastError() == ERROR_INVALID_PARAMETER)
|
||||
{
|
||||
LONG high = lpOverlapped->OffsetHigh;
|
||||
DWORD nr;
|
||||
SetLastError(lasterr);
|
||||
if ((SetFilePointer(hFile, lpOverlapped->Offset, &high, FILE_BEGIN)
|
||||
== (DWORD)-1 && GetLastError() != NO_ERROR) ||
|
||||
(ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, &nr, 0) && !nr))
|
||||
{
|
||||
SetLastError(ERROR_HANDLE_EOF);
|
||||
return FALSE;
|
||||
}
|
||||
*lpNumberOfBytesRead = nr;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* MAKE_EXPORT WriteFile_fix=WriteFile */
|
||||
BOOL WINAPI WriteFile_fix(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite,
|
||||
LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped)
|
||||
{
|
||||
DWORD lasterr = GetLastError();
|
||||
|
||||
if (WriteFile(hFile, lpBuffer, nNumberOfBytesToWrite,
|
||||
lpNumberOfBytesWritten, lpOverlapped))
|
||||
return TRUE;
|
||||
|
||||
if (lpOverlapped && GetLastError() == ERROR_INVALID_PARAMETER)
|
||||
{
|
||||
LONG high = lpOverlapped->OffsetHigh;
|
||||
SetLastError(lasterr);
|
||||
if ((SetFilePointer(hFile, lpOverlapped->Offset, &high, FILE_BEGIN)
|
||||
== (DWORD)-1 && GetLastError() != NO_ERROR))
|
||||
return FALSE;
|
||||
return WriteFile(hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, 0);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
47
apilibs/kexbases/Kernel32/GetConsoleWindow.c
Executable file
47
apilibs/kexbases/Kernel32/GetConsoleWindow.c
Executable file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* KernelEx
|
||||
* Copyright (C) 2009, Xeno86
|
||||
*
|
||||
* This file is part of KernelEx source code.
|
||||
*
|
||||
* KernelEx is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* KernelEx is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GNU Make; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
BOOL CALLBACK GetConsoleWindowEnum(HWND hwnd, LPARAM lparam)
|
||||
{
|
||||
char name[5];
|
||||
if (GetClassName(hwnd, name, sizeof(name)) == (sizeof("tty")-1)
|
||||
&& !strcmp(name, "tty"))
|
||||
{
|
||||
DWORD pid;
|
||||
GetWindowThreadProcessId(hwnd, &pid);
|
||||
if (pid == GetCurrentProcessId())
|
||||
{
|
||||
*(HWND*) lparam = hwnd;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* MAKE_EXPORT GetConsoleWindow_new=GetConsoleWindow */
|
||||
HWND WINAPI GetConsoleWindow_new()
|
||||
{
|
||||
HWND window = NULL;
|
||||
EnumWindows(GetConsoleWindowEnum, (LPARAM) &window);
|
||||
return window;
|
||||
}
|
0
apilibs/kexbases/Kernel32/GetFileSizeEx.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/GetFileSizeEx.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/GlobalMemoryStatusEx.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/GlobalMemoryStatusEx.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/HeapLocks.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/HeapLocks.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/InitializeCriticalSectionAndSpinCount.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/InitializeCriticalSectionAndSpinCount.c
Normal file → Executable file
102
apilibs/kexbases/Kernel32/IsProcessorFeaturePresent.c
Executable file
102
apilibs/kexbases/Kernel32/IsProcessorFeaturePresent.c
Executable file
@ -0,0 +1,102 @@
|
||||
/*
|
||||
* Copyright 2009 Xeno86
|
||||
* Copyright 1995,1997 Morten Welinder
|
||||
* Copyright 1997-1998 Marcus Meissner
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
/* Processor feature flags. */
|
||||
#define PF_FLOATING_POINT_PRECISION_ERRATA 0
|
||||
#define PF_FLOATING_POINT_EMULATED 1
|
||||
#define PF_COMPARE_EXCHANGE_DOUBLE 2
|
||||
#define PF_MMX_INSTRUCTIONS_AVAILABLE 3
|
||||
#define PF_PPC_MOVEMEM_64BIT_OK 4
|
||||
#define PF_ALPHA_BYTE_INSTRUCTIONS 5
|
||||
#define PF_XMMI_INSTRUCTIONS_AVAILABLE 6
|
||||
#define PF_3DNOW_INSTRUCTIONS_AVAILABLE 7
|
||||
#define PF_RDTSC_INSTRUCTION_AVAILABLE 8
|
||||
#define PF_PAE_ENABLED 9
|
||||
#define PF_XMMI64_INSTRUCTIONS_AVAILABLE 10
|
||||
#define PF_SSE_DAZ_MODE_AVAILABLE 11
|
||||
#define PF_NX_ENABLED 12
|
||||
#define PF_SSE3_INSTRUCTIONS_AVAILABLE 13
|
||||
#define PF_COMPARE_EXCHANGE128 14
|
||||
#define PF_COMPARE64_EXCHANGE128 15
|
||||
#define PF_CHANNELS_ENABLED 16
|
||||
|
||||
#define AUTH 0x68747541 /* "Auth" */
|
||||
#define ENTI 0x69746e65 /* "enti" */
|
||||
#define CAMD 0x444d4163 /* "cAMD" */
|
||||
|
||||
static BYTE PF[17] = {0,};
|
||||
|
||||
static void do_cpuid(unsigned int _eax, unsigned int *p)
|
||||
{
|
||||
#ifdef __GNUC__
|
||||
__asm__("cpuid"
|
||||
: "=a" (p[0]), "=b" (p[1]), "=c" (p[2]), "=d" (p[3])
|
||||
: "a" (_eax));
|
||||
#else
|
||||
__asm {
|
||||
mov eax, _eax
|
||||
mov edi, p
|
||||
cpuid
|
||||
mov [edi], eax
|
||||
mov [edi+4], ebx
|
||||
mov [edi+8], ecx
|
||||
mov [edi+12], edx
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void get_cpuinfo()
|
||||
{
|
||||
unsigned int regs[4], regs2[4];
|
||||
|
||||
do_cpuid(0x00000000, regs); /* get standard cpuid level and vendor name */
|
||||
if (regs[0]>=0x00000001) /* Check for supported cpuid version */
|
||||
{
|
||||
do_cpuid(0x00000001, regs2); /* get cpu features */
|
||||
PF[PF_FLOATING_POINT_EMULATED] = !(regs2[3] & 1);
|
||||
PF[PF_RDTSC_INSTRUCTION_AVAILABLE] = (regs2[3] & (1 << 4 )) >> 4;
|
||||
PF[PF_COMPARE_EXCHANGE_DOUBLE] = (regs2[3] & (1 << 8 )) >> 8;
|
||||
PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = (regs2[3] & (1 << 23)) >> 23;
|
||||
PF[PF_XMMI_INSTRUCTIONS_AVAILABLE] = (regs2[3] & (1 << 25)) >> 25;
|
||||
PF[PF_XMMI64_INSTRUCTIONS_AVAILABLE] = (regs2[3] & (1 << 26)) >> 26;
|
||||
PF[PF_SSE3_INSTRUCTIONS_AVAILABLE] = (regs2[2] & 1);
|
||||
|
||||
if (regs[1] == AUTH &&
|
||||
regs[3] == ENTI &&
|
||||
regs[2] == CAMD) {
|
||||
do_cpuid(0x80000000, regs); /* get vendor cpuid level */
|
||||
if (regs[0]>=0x80000001) {
|
||||
do_cpuid(0x80000001, regs2); /* get vendor features */
|
||||
PF[PF_3DNOW_INSTRUCTIONS_AVAILABLE] = (regs2[3] & (1 << 31)) >> 31;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* MAKE_EXPORT IsProcessorFeaturePresent_new=IsProcessorFeaturePresent */
|
||||
BOOL WINAPI IsProcessorFeaturePresent_new(DWORD feature)
|
||||
{
|
||||
if (feature < 17)
|
||||
return PF[feature];
|
||||
else
|
||||
return FALSE;
|
||||
}
|
0
apilibs/kexbases/Kernel32/Jobs.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/Jobs.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/KEXVersion.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/KEXVersion.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/LockFileEx.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/LockFileEx.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/MapViewOfFile.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/MapViewOfFile.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/MoveFileExA.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/MoveFileExA.c
Normal file → Executable file
4
apilibs/kexbases/Kernel32/MoveFileWithProgressA.c
Normal file → Executable file
4
apilibs/kexbases/Kernel32/MoveFileWithProgressA.c
Normal file → Executable file
@ -20,9 +20,11 @@
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <common.h>
|
||||
#include "_kernel32_apilist.h"
|
||||
|
||||
/* MAKE_EXPORT MoveFileWithProgressA_new=MoveFileWithProgressA */
|
||||
BOOL WINAPI MoveFileWithProgressA_new(LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags)
|
||||
{
|
||||
return MoveFileExA(lpExistingFileName, lpNewFileName, dwFlags);
|
||||
return MoveFileExA_new(lpExistingFileName, lpNewFileName, dwFlags);
|
||||
}
|
||||
|
0
apilibs/kexbases/Kernel32/OpenThread.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/OpenThread.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/SetFilePointerEx.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/SetFilePointerEx.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/ThreadPool.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/ThreadPool.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/TryEnterCriticalSection.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/TryEnterCriticalSection.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/VirtualAllocEx.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/VirtualAllocEx.c
Normal file → Executable file
9
apilibs/kexbases/Kernel32/_kernel32_apilist.c
Normal file → Executable file
9
apilibs/kexbases/Kernel32/_kernel32_apilist.c
Normal file → Executable file
@ -28,11 +28,13 @@ http://17slon.com/blogs/gabr/2007/02/four-ways-to-detect-vista.html
|
||||
#include "kexcoresdk.h"
|
||||
#include "_kernel32_apilist.h"
|
||||
|
||||
void get_cpuinfo();
|
||||
BOOL init_tryentercritsec();
|
||||
BOOL init_openthread();
|
||||
|
||||
BOOL init_kernel32()
|
||||
{
|
||||
get_cpuinfo();
|
||||
return init_tryentercritsec() && init_openthread();
|
||||
}
|
||||
|
||||
@ -73,7 +75,7 @@ static const apilib_named_api kernel32_named_apis[] =
|
||||
DECL_API("FindResourceExW", FindResourceExW_new),
|
||||
DECL_API("FindResourceW", FindResourceW_new),
|
||||
DECL_API("FreeEnvironmentStringsW", FreeEnvironmentStringsW_new),
|
||||
DECL_API("GetConsoleWindow", GetConsoleWindow_stub),
|
||||
DECL_API("GetConsoleWindow", GetConsoleWindow_new),
|
||||
DECL_API("GetCurrentDirectoryW", GetCurrentDirectoryW_new),
|
||||
DECL_API("GetDefaultCommConfigW", GetDefaultCommConfigW_new),
|
||||
DECL_API("GetDiskFreeSpaceExW", GetDiskFreeSpaceExW_new),
|
||||
@ -103,6 +105,7 @@ static const apilib_named_api kernel32_named_apis[] =
|
||||
DECL_API("GetVersion", GetVersion_WIN2K3),
|
||||
DECL_API("GetVersion", GetVersion_VISTA),
|
||||
DECL_API("GetVersion", GetVersion_WIN2K8),
|
||||
DECL_API("GetVersionExA", GetVersionExA_ORIG),
|
||||
DECL_API("GetVersionExA", GetVersionExA_WIN95),
|
||||
DECL_API("GetVersionExA", GetVersionExA_WIN98),
|
||||
DECL_API("GetVersionExA", GetVersionExA_WINME),
|
||||
@ -112,6 +115,7 @@ static const apilib_named_api kernel32_named_apis[] =
|
||||
DECL_API("GetVersionExA", GetVersionExA_WIN2K3),
|
||||
DECL_API("GetVersionExA", GetVersionExA_VISTA),
|
||||
DECL_API("GetVersionExA", GetVersionExA_WIN2K8),
|
||||
DECL_API("GetVersionExW", GetVersionExW_ORIG),
|
||||
DECL_API("GetVersionExW", GetVersionExW_WIN95),
|
||||
DECL_API("GetVersionExW", GetVersionExW_WIN98),
|
||||
DECL_API("GetVersionExW", GetVersionExW_WINME),
|
||||
@ -130,6 +134,7 @@ static const apilib_named_api kernel32_named_apis[] =
|
||||
DECL_API("HeapUnlock", HeapUnlock_new),
|
||||
DECL_API("InitializeCriticalSectionAndSpinCount", InitializeCriticalSectionAndSpinCount_new),
|
||||
DECL_API("IsProcessInJob", IsProcessInJob_new),
|
||||
DECL_API("IsProcessorFeaturePresent", IsProcessorFeaturePresent_new),
|
||||
DECL_API("IsValidLanguageGroup", IsValidLanguageGroup_stub),
|
||||
DECL_API("KEXVersion", KEXVersion),
|
||||
DECL_API("LockFileEx", LockFileEx_new),
|
||||
@ -149,6 +154,7 @@ static const apilib_named_api kernel32_named_apis[] =
|
||||
DECL_API("Process32NextW", Process32NextW_new),
|
||||
DECL_API("QueryInformationJobObject", QueryInformationJobObject_new),
|
||||
DECL_API("QueueUserWorkItem", QueueUserWorkItem_stub),
|
||||
DECL_API("ReadFile", ReadFile_fix),
|
||||
DECL_API("RegisterWaitForSingleObject", RegisterWaitForSingleObject_new),
|
||||
DECL_API("RegisterWaitForSingleObjectEx", RegisterWaitForSingleObjectEx_new),
|
||||
DECL_API("RemoveDirectoryW", RemoveDirectoryW_new),
|
||||
@ -179,6 +185,7 @@ static const apilib_named_api kernel32_named_apis[] =
|
||||
DECL_API("VerifyVersionInfoW", VerifyVersionInfoW_WIN2K8),
|
||||
DECL_API("VirtualAllocEx", VirtualAllocEx_new),
|
||||
DECL_API("VirtualFreeEx", VirtualFreeEx_new),
|
||||
DECL_API("WriteFile", WriteFile_fix),
|
||||
DECL_API("lstrcpynW", lstrcpynW_new),
|
||||
/*** AUTOGENERATED APILIST NAMED EXPORTS END ***/
|
||||
};
|
||||
|
9
apilibs/kexbases/Kernel32/_kernel32_apilist.h
Normal file → Executable file
9
apilibs/kexbases/Kernel32/_kernel32_apilist.h
Normal file → Executable file
@ -31,14 +31,18 @@ extern const apilib_api_table apitable_kernel32;
|
||||
|
||||
/*** AUTOGENERATED APILIST DECLARATIONS BEGIN ***/
|
||||
BOOL WINAPI CopyFileExA_new(LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags);
|
||||
HANDLE WINAPI CreateFileA_fix(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
|
||||
HANDLE WINAPI CreateThread_fix(LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);
|
||||
void WINAPI DeleteCriticalSection_new(PCRITICAL_SECTION lpCriticalSection);
|
||||
HANDLE WINAPI CreateFileA_fix(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
|
||||
BOOL WINAPI ReadFile_fix(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);
|
||||
BOOL WINAPI WriteFile_fix(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped);
|
||||
HWND WINAPI GetConsoleWindow_new();
|
||||
BOOL WINAPI GetFileSizeEx_new(HANDLE hFile, PLARGE_INTEGER lpFileSize);
|
||||
BOOL WINAPI GlobalMemoryStatusEx_new(LPMEMORYSTATUSEX lpmemex);
|
||||
BOOL WINAPI HeapLock_new(HANDLE hHeap);
|
||||
BOOL WINAPI HeapUnlock_new(HANDLE hHeap);
|
||||
BOOL WINAPI InitializeCriticalSectionAndSpinCount_new(LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount);
|
||||
BOOL WINAPI IsProcessorFeaturePresent_new(DWORD feature);
|
||||
HANDLE WINAPI CreateJobObjectA_new(LPSECURITY_ATTRIBUTES sa, LPCSTR name);
|
||||
HANDLE WINAPI CreateJobObjectW_new(LPSECURITY_ATTRIBUTES sa, LPCWSTR name);
|
||||
BOOL WINAPI TerminateJobObject_new(HANDLE job, UINT exit_code);
|
||||
@ -64,7 +68,6 @@ LPVOID WINAPI VirtualAllocEx_new(HANDLE hProcess, LPVOID lpAddress, DWORD dwSize
|
||||
BOOL WINAPI VirtualFreeEx_new(HANDLE hProcess, LPVOID lpAddress, DWORD dwSize, DWORD dwFreeType);
|
||||
STUB CreateHardLinkA_stub;
|
||||
STUB CreateHardLinkW_stub;
|
||||
STUB GetConsoleWindow_stub;
|
||||
STUB IsValidLanguageGroup_stub;
|
||||
STUB QueueUserWorkItem_stub;
|
||||
STUB ReplaceFileA_stub;
|
||||
@ -132,6 +135,8 @@ DWORD WINAPI GetVersion_WINXP(void);
|
||||
DWORD WINAPI GetVersion_WIN2K3(void);
|
||||
DWORD WINAPI GetVersion_VISTA(void);
|
||||
DWORD WINAPI GetVersion_WIN2K8(void);
|
||||
BOOL WINAPI GetVersionExA_ORIG(LPOSVERSIONINFOA lpVersionInfo);
|
||||
BOOL WINAPI GetVersionExW_ORIG(LPOSVERSIONINFOW lpVersionInfo);
|
||||
BOOL WINAPI GetVersionExA_WIN95(LPOSVERSIONINFOA lpVersionInfo);
|
||||
BOOL WINAPI GetVersionExW_WIN95(LPOSVERSIONINFOW lpVersionInfo);
|
||||
BOOL WINAPI GetVersionExA_WIN98(LPOSVERSIONINFOA lpVersionInfo);
|
||||
|
1
apilibs/kexbases/Kernel32/_kernel32_stubs.c
Normal file → Executable file
1
apilibs/kexbases/Kernel32/_kernel32_stubs.c
Normal file → Executable file
@ -23,7 +23,6 @@
|
||||
|
||||
UNIMPL_FUNC(CreateHardLinkA, 3);
|
||||
UNIMPL_FUNC(CreateHardLinkW, 3);
|
||||
UNIMPL_FUNC(GetConsoleWindow, 0);
|
||||
UNIMPL_FUNC(IsValidLanguageGroup, 2);
|
||||
UNIMPL_FUNC(QueueUserWorkItem, 3);
|
||||
UNIMPL_FUNC(ReplaceFileA, 6);
|
||||
|
0
apilibs/kexbases/Kernel32/uilang.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/uilang.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/unikernel32.c
Normal file → Executable file
0
apilibs/kexbases/Kernel32/unikernel32.c
Normal file → Executable file
70
apilibs/kexbases/Kernel32/version.c
Normal file → Executable file
70
apilibs/kexbases/Kernel32/version.c
Normal file → Executable file
@ -109,6 +109,64 @@ static const OSVERSIONINFOEXA_PRIV VersionData[NB_WINDOWS_VERSIONS] =
|
||||
}
|
||||
};
|
||||
|
||||
static BOOL original_GetVersionEx(void* buf, BOOL unicode)
|
||||
{
|
||||
BOOL ret;
|
||||
OSVERSIONINFOA* ver = (OSVERSIONINFOA*) buf;
|
||||
DWORD structsize = ver->dwOSVersionInfoSize;
|
||||
|
||||
if (!unicode)
|
||||
{
|
||||
if (structsize != sizeof(OSVERSIONINFOA) && structsize != sizeof(OSVERSIONINFOEXA))
|
||||
{
|
||||
SetLastError(ERROR_INSUFFICIENT_BUFFER);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (structsize != sizeof(OSVERSIONINFOW) && structsize != sizeof(OSVERSIONINFOEXW))
|
||||
{
|
||||
SetLastError(ERROR_INSUFFICIENT_BUFFER);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
ver->dwOSVersionInfoSize = sizeof(OSVERSIONINFOA);
|
||||
ret = GetVersionExA(ver);
|
||||
if (ret)
|
||||
{
|
||||
char csdVer[128];
|
||||
OSVERSIONINFOEXA* verexA = (OSVERSIONINFOEXA*) ver;
|
||||
OSVERSIONINFOEXW* verexW = (OSVERSIONINFOEXW*) ver;
|
||||
|
||||
switch (structsize)
|
||||
{
|
||||
case sizeof(OSVERSIONINFOEXA):
|
||||
verexA->wServicePackMajor = 0;
|
||||
verexA->wServicePackMinor = 0;
|
||||
verexA->wSuiteMask = 0;
|
||||
verexA->wProductType = 0;
|
||||
verexA->wReserved = 0;
|
||||
case sizeof(OSVERSIONINFOA):
|
||||
break;
|
||||
case sizeof(OSVERSIONINFOEXW):
|
||||
verexW->wServicePackMajor = 0;
|
||||
verexW->wServicePackMinor = 0;
|
||||
verexW->wSuiteMask = 0;
|
||||
verexW->wProductType = 0;
|
||||
verexW->wReserved = 0;
|
||||
case sizeof(OSVERSIONINFOW):
|
||||
strcpy(csdVer, ver->szCSDVersion);
|
||||
MultiByteToWideChar(CP_ACP, 0, csdVer, -1, verexW->szCSDVersion,
|
||||
sizeof(csdVer));
|
||||
break;
|
||||
}
|
||||
}
|
||||
ver->dwOSVersionInfoSize = structsize;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static DWORD common_GetVersion(WINDOWS_VERSION version)
|
||||
{
|
||||
const OSVERSIONINFOEXA_PRIV* osv = &VersionData[version];
|
||||
@ -404,6 +462,18 @@ DWORD WINAPI GetVersion_WIN2K8(void)
|
||||
return common_GetVersion(WIN2K8);
|
||||
}
|
||||
|
||||
/* MAKE_EXPORT GetVersionExA_ORIG=GetVersionExA */
|
||||
BOOL WINAPI GetVersionExA_ORIG(LPOSVERSIONINFOA lpVersionInfo)
|
||||
{
|
||||
return original_GetVersionEx(lpVersionInfo, FALSE);
|
||||
}
|
||||
|
||||
/* MAKE_EXPORT GetVersionExW_ORIG=GetVersionExW */
|
||||
BOOL WINAPI GetVersionExW_ORIG(LPOSVERSIONINFOW lpVersionInfo)
|
||||
{
|
||||
return original_GetVersionEx(lpVersionInfo, TRUE);
|
||||
}
|
||||
|
||||
/* MAKE_EXPORT GetVersionExA_WIN95=GetVersionExA */
|
||||
BOOL WINAPI GetVersionExA_WIN95(LPOSVERSIONINFOA lpVersionInfo)
|
||||
{
|
||||
|
0
apilibs/kexbases/User32/CallWindowProcA_fix.c
Normal file → Executable file
0
apilibs/kexbases/User32/CallWindowProcA_fix.c
Normal file → Executable file
0
apilibs/kexbases/User32/DisableProcessWindowsGhosting.c
Normal file → Executable file
0
apilibs/kexbases/User32/DisableProcessWindowsGhosting.c
Normal file → Executable file
0
apilibs/kexbases/User32/EnableWindow.c
Normal file → Executable file
0
apilibs/kexbases/User32/EnableWindow.c
Normal file → Executable file
0
apilibs/kexbases/User32/ForegroundWindow.c
Normal file → Executable file
0
apilibs/kexbases/User32/ForegroundWindow.c
Normal file → Executable file
0
apilibs/kexbases/User32/GetAncestor.c
Normal file → Executable file
0
apilibs/kexbases/User32/GetAncestor.c
Normal file → Executable file
0
apilibs/kexbases/User32/GetMouseMovePointsEx.c
Normal file → Executable file
0
apilibs/kexbases/User32/GetMouseMovePointsEx.c
Normal file → Executable file
0
apilibs/kexbases/User32/IsHungAppWindow.c
Normal file → Executable file
0
apilibs/kexbases/User32/IsHungAppWindow.c
Normal file → Executable file
0
apilibs/kexbases/User32/LockWorkStation.c
Normal file → Executable file
0
apilibs/kexbases/User32/LockWorkStation.c
Normal file → Executable file
0
apilibs/kexbases/User32/MapVirtualKey_fix.c
Normal file → Executable file
0
apilibs/kexbases/User32/MapVirtualKey_fix.c
Normal file → Executable file
0
apilibs/kexbases/User32/SendMessage_fix.c
Normal file → Executable file
0
apilibs/kexbases/User32/SendMessage_fix.c
Normal file → Executable file
0
apilibs/kexbases/User32/UberUSER.c
Normal file → Executable file
0
apilibs/kexbases/User32/UberUSER.c
Normal file → Executable file
0
apilibs/kexbases/User32/UpdateLayeredWindow.c
Normal file → Executable file
0
apilibs/kexbases/User32/UpdateLayeredWindow.c
Normal file → Executable file
0
apilibs/kexbases/User32/_user32_apilist.c
Normal file → Executable file
0
apilibs/kexbases/User32/_user32_apilist.c
Normal file → Executable file
0
apilibs/kexbases/User32/_user32_apilist.h
Normal file → Executable file
0
apilibs/kexbases/User32/_user32_apilist.h
Normal file → Executable file
0
apilibs/kexbases/User32/_user32_stubs.c
Normal file → Executable file
0
apilibs/kexbases/User32/_user32_stubs.c
Normal file → Executable file
0
apilibs/kexbases/User32/uniuser32.c
Normal file → Executable file
0
apilibs/kexbases/User32/uniuser32.c
Normal file → Executable file
8
apilibs/kexbases/auxdecl.h
Normal file → Executable file
8
apilibs/kexbases/auxdecl.h
Normal file → Executable file
@ -109,7 +109,6 @@ typedef void *LPMOUSEMOVEPOINT;
|
||||
EXTERN_C int WINAPI GetRandomRgn(HDC hdc, HRGN hrgn, INT iNum);
|
||||
EXTERN_C HRESULT WINAPI SHGetFolderPathA(HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPSTR pszPath);
|
||||
EXTERN_C HWND WINAPI GetAncestor(HWND hwnd, UINT gaFlags);
|
||||
EXTERN_C UINT WINAPI RealGetWindowClass(HWND hwnd, LPTSTR pszType, UINT cchType);
|
||||
|
||||
#endif /* defined (_MSC_VER) && (WINVER < 0x0500) */
|
||||
|
||||
@ -131,6 +130,13 @@ typedef struct {
|
||||
#endif /* __MINGW32_VERSION */
|
||||
|
||||
/* declarations for everyone */
|
||||
#ifdef GetAltTabInfo
|
||||
#undef GetAltTabInfo
|
||||
#endif
|
||||
EXTERN_C BOOL WINAPI GetAltTabInfo(HWND,int,PVOID,LPSTR,UINT);
|
||||
#ifdef RealGetWindowClass
|
||||
#undef RealGetWindowClass
|
||||
#endif
|
||||
EXTERN_C UINT WINAPI RealGetWindowClass(HWND hwnd, LPTSTR pszType, UINT cchType);
|
||||
|
||||
#endif /* __AUXDECL_H */
|
||||
|
0
apilibs/kexbases/comdlg32/PrintDlgEx.c
Normal file → Executable file
0
apilibs/kexbases/comdlg32/PrintDlgEx.c
Normal file → Executable file
0
apilibs/kexbases/comdlg32/_comdlg32_apilist.c
Normal file → Executable file
0
apilibs/kexbases/comdlg32/_comdlg32_apilist.c
Normal file → Executable file
0
apilibs/kexbases/comdlg32/_comdlg32_apilist.h
Normal file → Executable file
0
apilibs/kexbases/comdlg32/_comdlg32_apilist.h
Normal file → Executable file
0
apilibs/kexbases/common.c
Normal file → Executable file
0
apilibs/kexbases/common.c
Normal file → Executable file
0
apilibs/kexbases/common.h
Normal file → Executable file
0
apilibs/kexbases/common.h
Normal file → Executable file
0
apilibs/kexbases/dirlist
Normal file → Executable file
0
apilibs/kexbases/dirlist
Normal file → Executable file
0
apilibs/kexbases/kernel32ord.def
Normal file → Executable file
0
apilibs/kexbases/kernel32ord.def
Normal file → Executable file
0
apilibs/kexbases/kexbases.def
Normal file → Executable file
0
apilibs/kexbases/kexbases.def
Normal file → Executable file
20
apilibs/kexbases/kexbases.dsp
Normal file → Executable file
20
apilibs/kexbases/kexbases.dsp
Normal file → Executable file
@ -113,10 +113,6 @@ SOURCE=.\Kernel32\CopyFileEx.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Kernel32\CreateFileA_fix.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Kernel32\CreateThread_fix.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@ -125,6 +121,14 @@ SOURCE=.\Kernel32\DeleteCriticalSection.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Kernel32\FileApis_fix.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Kernel32\GetConsoleWindow.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Kernel32\GetFileSizeEx.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@ -141,6 +145,10 @@ SOURCE=.\Kernel32\InitializeCriticalSectionAndSpinCount.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Kernel32\IsProcessorFeaturePresent.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Kernel32\Jobs.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@ -313,6 +321,10 @@ SOURCE=.\Advapi32\_advapi32_stubs.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Advapi32\OpenSCManager_stub.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Advapi32\RegDisablePredefinedCache.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
8
apilibs/kexbases/kexbases.rc
Normal file → Executable file
8
apilibs/kexbases/kexbases.rc
Normal file → Executable file
@ -54,8 +54,8 @@ END
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 4,0,1,0
|
||||
PRODUCTVERSION 4,0,1,0
|
||||
FILEVERSION 4,0,1,2
|
||||
PRODUCTVERSION 4,0,1,2
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@ -73,14 +73,14 @@ BEGIN
|
||||
VALUE "Comments", "\0"
|
||||
VALUE "CompanyName", "Xeno86\0"
|
||||
VALUE "FileDescription", "KernelEx Base Shared Api Library\0"
|
||||
VALUE "FileVersion", "4, 0, 1, 0\0"
|
||||
VALUE "FileVersion", "4, 0, 1, 2\0"
|
||||
VALUE "InternalName", "kexbases\0"
|
||||
VALUE "LegalCopyright", "Copyright <20> 2009, Xeno86\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
VALUE "OriginalFilename", "kexbases.dll\0"
|
||||
VALUE "PrivateBuild", "\0"
|
||||
VALUE "ProductName", "KernelEx\0"
|
||||
VALUE "ProductVersion", "4, 0, 1, 0\0"
|
||||
VALUE "ProductVersion", "4, 0, 1, 2\0"
|
||||
VALUE "SpecialBuild", "\0"
|
||||
END
|
||||
END
|
||||
|
0
apilibs/kexbases/main.c
Normal file → Executable file
0
apilibs/kexbases/main.c
Normal file → Executable file
0
apilibs/kexbases/resource.h
Normal file → Executable file
0
apilibs/kexbases/resource.h
Normal file → Executable file
0
apilibs/kexbases/shell32/CommandLineToArgvW.c
Normal file → Executable file
0
apilibs/kexbases/shell32/CommandLineToArgvW.c
Normal file → Executable file
0
apilibs/kexbases/shell32/IsUserAnAdmin.c
Normal file → Executable file
0
apilibs/kexbases/shell32/IsUserAnAdmin.c
Normal file → Executable file
0
apilibs/kexbases/shell32/_shell32_apilist.c
Normal file → Executable file
0
apilibs/kexbases/shell32/_shell32_apilist.c
Normal file → Executable file
0
apilibs/kexbases/shell32/_shell32_apilist.h
Normal file → Executable file
0
apilibs/kexbases/shell32/_shell32_apilist.h
Normal file → Executable file
0
apilibs/kexbases/shell32/_shell32_stubs.c
Normal file → Executable file
0
apilibs/kexbases/shell32/_shell32_stubs.c
Normal file → Executable file
0
apilibs/kexbases/version/_version_apilist.c
Normal file → Executable file
0
apilibs/kexbases/version/_version_apilist.c
Normal file → Executable file
0
apilibs/kexbases/version/_version_apilist.h
Normal file → Executable file
0
apilibs/kexbases/version/_version_apilist.h
Normal file → Executable file
0
apilibs/kexbases/version/universion.c
Normal file → Executable file
0
apilibs/kexbases/version/universion.c
Normal file → Executable file
Reference in New Issue
Block a user