//+---------------------------------------------------------------------------
//
//  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 __cplusplus
}
#endif

#endif // #ifndef __WOW16FN_H__
