windows-nt/Source/XPSP1/NT/base/mvdm/thunk/krnfthk.thk
2020-09-26 16:20:57 +08:00

570 lines
12 KiB
Plaintext

__foldwin32sstuff __foldwin32sstuff;
foldstyleinitialization = true;
enablemapdirect3216 = true;
flatthunks = true;
#include "types.thk"
VOID FreeCB(WORD wSel);
VOID UTProcessExit(WORD hUTState);
BOOL UTRegisterInt(DWORD hInst32,
LPSTR lpszDll16,
LPSTR lpszInitFunc,
LPSTR lpszThunkFunc,
LPDWORD ppfnThunk32Func,
DWORD Callback,
DWORD lpvData,
DWORD pfnAllocLSCallback,
DWORD pfnUTLSThkTemplate)
{
}
VOID UTUnregisterInt(DWORD hInst32,
DWORD pfnFreeLSCallback);
DWORD UTThunkLSHelper(DWORD lp16Target, DWORD lpvParam, DWORD dwParam, LPVOID lpTransList);
VOID SSChk(VOID);
VOID FreeLibrary16ByName(LPSTR);
// Special yield for thread 1 during termination
VOID Yield16(VOID)
{}
//// We will not thunk any pointers here. It's more efficient to access them
//// flatly from the 16-bit side.
//BOOL WOWCallback16ExHelper(DWORD vmpfn16, DWORD cbArgs, DWORD pArgs, DWORD pdwRetCode);
//// Daytona Generic Thunk api.
//DWORD WOWCallback16(DWORD pfn16, DWORD dwParam)
//{
// target = Callback8;
//}
// WOW NT Yield functions.
VOID WOWYield16(VOID)
{
target = Yield;
}
VOID WOWDirectedYield16(WORD hTask16)
{
target = DirectedYield;
}
// WOW NT global memory management
WORD WOWGlobalAlloc16(WORD wFlags, DWORD cb);
WORD WOWGlobalFree16(WORD hMem) // Yes, we do not thunk the return pointer.
{
target = GlobalFree;
}
DWORD WOWGlobalLock16(WORD hMem)
{
target = GlobalLock;
}
BOOL WOWGlobalUnlock16(WORD hMem)
{
target = GlobalUnlock;
}
DWORD WOWGlobalAllocLock16(WORD wFlags, DWORD cb, WORD *phMem);
WORD WOWGlobalUnlockFree16(DWORD vpMem);
DWORD WOWGlobalLockSize16(WORD hMem, DWORD *pcb);
// Has to be INT to accomodate -1 error return
INT TCD_Enum(WORD hModule, LPVOID lpBuffer, UINT wLimit);
VOID TCD_UnregisterPDB32(DWORD pdb32);
UINT FakeThunkTheTemplateHandle(DWORD lp32Template);
WORD GrowMBABlock(WORD gHnd, DWORD dwNewHalfSize, DWORD dwOldHalfSize, WORD hModule) =
DWORD GrowMBABlock(WORD gHnd, DWORD dwNewHalfSize, DWORD dwOldHalfSize, WORD hModule)
{
faulterrorcode = 0;
}
DWORD SegCommonThunkAttach32(LPSTR pszDll16,
LPSTR pszDll32,
LPSTR lpThunkLSData32,
LPSTR pszThunkLSData16Name) =
DWORD SegCommonThunkAttach32(LPSTR pszDll16,
LPSTR pszDll32,
LPSTR lpThunkLSData32,
LPSTR pszThunkLSData16Name)
{
faulterrorcode = 0;
}
VOID SegCommonThunkDetach32(LPSTR pszDll16,
LPSTR pszDll32) =
VOID SegCommonThunkDetach32(LPSTR pszDll16,
LPSTR pszDll32)
{
faulterrorcode = 0;
}
/* Internal routine for consistency-checking the handle group manager's
* data structures.
*/
void CheckHGHeap() =
void CheckHGHeap()
{
faulterrorcode = 0;
}
/* Internal routine for nuking a handle group.
*/
void GlobalNukeGroup(WORD wGroup) =
void GlobalNukeGroup(WORD wGroup)
{
faulterrorcode = 0;
}
void GlobalFix( UINT sel) =
void GlobalFix16( UINT sel)
{
faulterrorcode = 0;
}
void GlobalUnfix( UINT sel) =
void GlobalUnfix16( UINT sel)
{
faulterrorcode = 0;
}
void GlobalWire( UINT sel) =
void GlobalWire16( UINT sel)
{
faulterrorcode = 0;
}
void GlobalUnWire( UINT sel) =
void GlobalUnWire16( UINT sel)
{
faulterrorcode = 0;
}
UINT LoadLibrary16( LPSTR pszModName)
{
faulterrorcode = 0;
}
void FreeLibrary( UINT hInst) =
void FreeLibrary16( UINT hInst)
{
faulterrorcode = 0;
}
/*
* ThkGetProcAddress calls GetProcAddress and then touches the
* entry point so it gets faulted in from 16-bit code.
*/
DWORD ThkGetProcAddress( UINT hInst, LPSTR pszProcName) =
DWORD GetProcAddress16( UINT hInst, LPSTR pszProcName)
{
faulterrorcode = 0;
}
UINT ThunkInitLSWorker16( UINT sel);
UINT IFreeSelector( UINT sel) =
UINT FreeSelector16( UINT sel)
{
faulterrorcode = 0;
}
DWORD ThkInitWin32Task() =
DWORD ThkInitWin32Task()
{
faulterrorcode = 0;
}
UINT ThkCreateTask( UINT selPSP, DWORD pTDB, UINT selTib) =
UINT ThkCreateTask( UINT selPSP, DWORD pTDB, UINT selTib)
{
faulterrorcode = 0;
}
UINT ThkDeleteTask( UINT hTaskK16) =
UINT ThkDeleteTask( UINT hTaskK16)
{
faulterrorcode = 0;
}
VOID SetTaskName16(WORD htask, LPSTR lpstr) =
VOID SetTaskName16(DWORD htask, LPSTR lpstr)
{
}
LPSTR GetTaskName16(WORD htask, LPSTR lpstr) =
LPSTR GetTaskName16(DWORD htask, LPSTR lpstr)
{
faulterrorcode = 0;
}
LPSTR GetModuleName16(WORD cs, LPSTR lpstr, LPWORD lpwSegNum) =
LPSTR GetModuleName16(DWORD cs, LPSTR lpstr, LPWORD lpwSegNum)
{
faulterrorcode = 0;
}
DWORD GetWinFlags( ) =
DWORD GetWinFlags( )
{
faulterrorcode = 0;
}
WORD GetProductName(LPSTR, WORD) =
DWORD GetProductName(LPSTR, DWORD)
{
}
WORD GetModuleFileName( WORD, LPSTR, WORD) =
DWORD PrivateGetModuleFileName(DWORD, LPSTR, DWORD)
{
faulterrorcode = 0;
}
WORD
WinExecEnv(
LPSTR lpCmdLine,
WORD nCmdShow,
WORD wSegEnv
)
{
faulterrorcode = 0;
}
HANDLE GlobalAlloc(UINT dwFlags, DWORD dwBytes) =
HANDLE GlobalAlloc16(UINT dwFlags, DWORD dwBytes)
{
faulterrorcode = 0;
}
HANDLE GlobalReAlloc(HANDLE hMem, DWORD dwBytes, UINT dwFlags) =
HANDLE GlobalReAlloc16(HANDLE hMem, DWORD dwBytes, UINT dwFlags)
{
faulterrorcode = 0;
}
HANDLE GlobalFree( HANDLE hMem) =
HANDLE GlobalFree16( HANDLE hMem)
{
faulterrorcode = 0;
}
BOOL GlobalUnlock( HANDLE hMem) =
BOOL GlobalUnlock16( HANDLE hMem)
{
faulterrorcode = 0;
}
UINT GlobalFlags( HANDLE hMem) =
UINT GlobalFlags16( HANDLE hMem)
{
faulterrorcode = 0;
}
DWORD GlobalSize( HANDLE hMem) =
DWORD GlobalSize16( HANDLE hMem)
{
faulterrorcode = 0;
}
HANDLE GlobalHandle( UINT sel ) =
HANDLE GlobalHandle16( UINT sel )
{
faulterrorcode = 0;
}
/* Profile apis */
/* BUGBUG [KevinR] 12-Mar-1993
* Win32s implements natively in combo\base.c
* We should follow suit?
*/
/* We thunk to IGetProfileString to skip the k16 validation layer.
* This is because Win32 GetProfileString allows a NULL lpAppName case
* that Win16 doesn't.
*/
WORD IGetProfileString(LPSTR lpAppName, LPSTR lpKeyName, LPSTR lpDefault, LPSTR lpReturnedString, WORD nSize) =
DWORD GetProfileStringA(LPSTR lpAppName, LPSTR lpKeyName, LPSTR lpDefault, LPSTR lpReturnedString, DWORD nSize)
{
faulterrorcode = 0;
}
BOOL WriteProfileString(LPSTR lpAppName, LPSTR lpKeyName, LPSTR lpString) =
BOOL WriteProfileStringA(LPSTR lpAppName, LPSTR lpKeyName, LPSTR lpString)
{
faulterrorcode = 0;
}
/* We thunk to IGetPrivateProfileString to skip the k16 validation layer.
* This is because Win32 GetPrivateProfileString allows a NULL lpAppName case
* that Win16 doesn't.
*/
WORD IGetPrivateProfileString(LPSTR lpAppName, LPSTR lpKeyName, LPSTR lpDefault, LPSTR lpReturnedString, WORD nSize, LPSTR lpFile) =
DWORD GetPrivateProfileString32A(LPSTR lpAppName, LPSTR lpKeyName, LPSTR lpDefault, LPSTR lpReturnedString, DWORD nSize, LPSTR lpFile)
{
faulterrorcode = 0;
}
BOOL WritePrivateProfileString(LPSTR lpAppName, LPSTR lpKeyName, LPSTR lpString, LPSTR lpFile) =
BOOL WritePrivateProfileString32A(LPSTR lpAppName, LPSTR lpKeyName, LPSTR lpString, LPSTR lpFile)
{
faulterrorcode = 0;
}
UINT GetPrivateProfileSection(LPSTR lpszSection, LPSTR lpszReturnBuffer, UINT cchBuffer, LPSTR lpszFile) =
DWORD GetPrivateProfileSection32A(LPSTR lpszSection, LPSTR lpszReturnBuffer, DWORD cchBuffer, LPSTR lpszFile)
{
faulterrorcode = 0;
}
BOOL WritePrivateProfileSection(LPSTR lpszSection, LPSTR lpszReturnBuffer, LPSTR lpszFile) =
BOOL WritePrivateProfileSection32A(LPSTR lpszSection, LPSTR lpszReturnBuffer, LPSTR lpszFile)
{
faulterrorcode = 0;
}
UINT GetProfileSection(LPSTR lpszSection, LPSTR lpszReturnBuffer, UINT cchBuffer) =
DWORD GetProfileSectionA(LPSTR lpszSection, LPSTR lpszReturnBuffer, DWORD cchBuffer)
{
faulterrorcode = 0;
}
BOOL WriteProfileSection(LPSTR lpszSection, LPSTR lpszReturnBuffer ) =
BOOL WriteProfileSectionA(LPSTR lpszSection, LPSTR lpszReturnBuffer )
{
faulterrorcode = 0;
}
/* Yes, I double-checked k16. The return type *is* BOOL. */
BOOL GetPrivateProfileStruct(LPSTR lpszSection, LPSTR szKey, LPSTR lpStruct, UINT uSizeStruct, LPSTR szFile) =
BOOL GetPrivateProfileStruct32A(LPSTR lpszSection, LPSTR szKey, LPSTR lpStruct, UINT uSizeStruct, LPSTR szFile)
{
szFile = passifhinull;
faulterrorcode = 0;
}
BOOL WritePrivateProfileStruct(LPSTR lpszSection, LPSTR szKey, LPSTR lpStruct, UINT wSizeStruct, LPSTR szFile) =
BOOL WritePrivateProfileStruct32A(LPSTR lpszSection, LPSTR szKey, LPSTR lpStruct, UINT wSizeStruct, LPSTR szFile)
{
lpStruct = passifhinull;
szFile = passifhinull;
faulterrorcode = 0;
}
WORD GetPrivateProfileSectionNames(LPSTR lpszReturnBuffer, UINT cchBuffer, LPSTR lpszFile) =
DWORD GetPrivateProfileSectionNames32A(LPSTR lpszReturnBuffer, DWORD cchBuffer, LPSTR lpszFile)
{
faulterrorcode = 0;
}
/*
* global atom apis
*/
WORD GlobalAddAtom( LPSTR lpsz) =
DWORD GlobalAddAtomA( LPSTR lpsz)
{
faulterrorcode = 0;
}
WORD GlobalFindAtom( LPSTR lpsz) =
DWORD GlobalFindAtomA( LPSTR lpsz)
{
faulterrorcode = 0;
}
WORD GlobalDeleteAtom( WORD atom) =
DWORD GlobalDeleteAtom( DWORD atom)
{
faulterrorcode = 0;
}
WORD GlobalGetAtomName( WORD atom, LPSTR lpBuff, WORD cbSize) =
DWORD GlobalGetAtomNameA( DWORD atom, LPSTR lpBuff, DWORD cbSize)
{
faulterrorcode = 0;
}
/*
* Directory APIs
*/
WORD GetWindowsDirectory(LPSTR lpBuffer, WORD nSize) =
DWORD GetWindowsDirectoryA(LPSTR lpBuffer, DWORD nSize)
{
faulterrorcode = 0;
}
WORD GetSystemDirectory(LPSTR lpBuffer, WORD nSize) =
DWORD GetSystemDirectoryA(LPSTR lpBuffer, DWORD nSize)
{
faulterrorcode = 0;
}
UINT SetErrorMode16(UINT fuErrorMode) =
UINT SetErrorMode16(UINT fuErrorMode)
{
faulterrorcode = 0;
}
WORD GetErrorMode() =
DWORD GetErrorMode()
{
faulterrorcode = 0;
}
SHORT OpenFile(LPSTR lpFileName, LPSTR lpReOpenBuff, WORD wStyle)=
LONG ThkOpenFile(LPSTR lpFileName, LPSTR lpReOpenBuff, DWORD wStyle)
{
faulterrorcode = 0;
}
BOOL ExecConsoleAgent() =
BOOL ExecConsoleAgent()
{
faulterrorcode = 0;
}
BOOL IsDriveCDRom(WORD wDriveNum) =
BOOL IsDriveCDRom(WORD wDriveNum)
{
faulterrorcode = 0;
}
LPSTR GlobalLock( HANDLE hMem) =
LPSTR GlobalLock16( HANDLE hMem)
{
faulterrorcode = 0;
}
WORD Win32AddAtom( LPSTR lpsz) =
DWORD AddAtomA( LPSTR lpsz)
{
faulterrorcode = 0;
}
WORD Win32FindAtom( LPSTR lpsz) =
DWORD FindAtomA( LPSTR lpsz)
{
faulterrorcode = 0;
}
WORD Win32DeleteAtom( WORD atom) =
DWORD DeleteAtom( DWORD atom)
{
faulterrorcode = 0;
}
WORD Win32GetAtomName( WORD atom, LPSTR lpBuff, WORD cbSize) =
DWORD GetAtomNameA( DWORD atom, LPSTR lpBuff, DWORD cbSize)
{
faulterrorcode = 0;
}
BOOL Win32InitAtomTable(WORD cTableEntries) =
BOOL InitAtomTable(DWORD cTableEntries)
{
faulterrorcode = 0;
}
DWORD CommConfigThk( DWORD dwId, LPSTR pszLibName, LPSTR pszProcName,
LPSTR pszFriendlyDeviceName, LPSTR pCommConfig,
LPSTR pdwSize, DWORD dwSizeOrHwnd) =
DWORD CommConfigThk( DWORD dwId, LPSTR pszLibName, LPSTR pszProcName,
LPSTR pszFriendlyDeviceName, LPSTR pCommConfig,
LPSTR pdwSize, DWORD dwSizeOrHwnd)
{
faulterrorcode = 0;
}
VOID PK16FNF(PVOID)
{}
BOOL SetVolumeLabel( LPSTR pszRootPathName, LPSTR pszVolumeName) =
BOOL SetVolumeLabel16( LPSTR pszRootPathName, LPSTR pszVolumeName)
{
faulterrorcode = 0;
}
BOOL GetFastQueue() =
BOOL GetFastQueue()
{
faulterrorcode = 0;
}
VOID DispatchRITInput() =
VOID DispatchRITInput()
{
faulterrorcode = 0;
}
VOID DiagOutput( LPSTR psz ) =
VOID DiagOutput16( LPSTR psz )
{
faulterrorcode = 0;
}
VOID TerminateZombie( WORD wpspsel ) =
VOID TerminateZombie( WORD wpspsel )
{
}