63 lines
1.7 KiB
C
63 lines
1.7 KiB
C
//+---------------------------------------------------------------------------
|
||
//
|
||
// Microsoft Windows
|
||
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
||
//
|
||
// File: wow16fn.h
|
||
//
|
||
// Contents: WOW 16-bit private function declarations
|
||
//
|
||
// History: 18-Feb-94 DrewB Created
|
||
//
|
||
//----------------------------------------------------------------------------
|
||
|
||
#ifndef __WOW16FN_H__
|
||
#define __WOW16FN_H__
|
||
|
||
#ifdef __cplusplus
|
||
extern "C"
|
||
{
|
||
#endif
|
||
|
||
DWORD FAR PASCAL LoadLibraryEx32W(LPCSTR pszDll, DWORD reserved,
|
||
DWORD dwFlags);
|
||
BOOL FAR PASCAL FreeLibrary32W(DWORD hLibrary);
|
||
LPVOID FAR PASCAL GetProcAddress32W(DWORD hMod, LPCSTR pszProc);
|
||
DWORD FAR PASCAL GetVDMPointer32W(LPVOID pv, UINT cb);
|
||
|
||
/* This API actually takes a variable number of user arguments before
|
||
the three required arguments. We only need three user arguments at
|
||
most so that's the way we declare it.
|
||
When using this call, dwArgCount must always be three.
|
||
Use CP32_NARGS to track changes*/
|
||
|
||
#define CP32_NARGS 3
|
||
DWORD FAR PASCAL CallProc32W(DWORD dw1, DWORD dw2, DWORD dw3,
|
||
LPVOID pfn32, DWORD dwPtrTranslate,
|
||
DWORD dwArgCount);
|
||
|
||
#ifdef _CHICAGO_
|
||
|
||
DWORD FAR PASCAL SSCallProc32(DWORD dw1, DWORD dw2, DWORD dw3,
|
||
LPVOID pfn32, DWORD dwPtrTranslate,
|
||
DWORD dwArgCount);
|
||
|
||
#ifdef _STACKSWITCHON16_
|
||
#define CallProcIn32(a,b,c,d,e,f) SSCallProc32(a,b,c,d,e,f)
|
||
#else
|
||
#define CallProcIn32(a,b,c,d,e,f) CallProc32W(a,b,c,d,e,f)
|
||
#endif // _STACKSWITCHON16_
|
||
|
||
#else
|
||
|
||
#define CallProcIn32(a,b,c,d,e,f) CallProc32W(a,b,c,d,e,f)
|
||
|
||
#endif
|
||
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif // #ifndef __WOW16FN_H__
|
||
|