windows-nt/Source/XPSP1/NT/base/mvdm/wow32/wklocal.c
2020-09-26 16:20:57 +08:00

225 lines
3.5 KiB
C

/*++
*
* WOW v1.0
*
* Copyright (c) 1991, Microsoft Corporation
*
* WKLOCAL.C
* WOW32 16-bit Kernel API support
*
* History:
* Created 07-Mar-1991 by Jeff Parsons (jeffpar)
--*/
#include "precomp.h"
#pragma hdrstop
MODNAME(wklocal.c);
ULONG FASTCALL WK32LocalAlloc(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALALLOC16 parg16;
GETARGPTR(pFrame, sizeof(LOCALALLOC16), parg16);
ul = GETHLOCAL16(LocalAlloc(
WORD32(parg16->f1),
WORD32(parg16->f2)
));
FREEARGPTR(parg16);
RETURN(ul);
}
ULONG FASTCALL WK32LocalCompact(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALCOMPACT16 parg16;
GETARGPTR(pFrame, sizeof(LOCALCOMPACT16), parg16);
ul = GETWORD16(LocalCompact(
WORD32(parg16->f1)
));
FREEARGPTR(parg16);
RETURN(ul);
}
ULONG FASTCALL WK32LocalFlags(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALFLAGS16 parg16;
GETARGPTR(pFrame, sizeof(LOCALFLAGS16), parg16);
ul = GETWORD16(LocalFlags(
HLOCAL32(parg16->f1)
));
FREEARGPTR(parg16);
RETURN(ul);
}
ULONG FASTCALL WK32LocalFree(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALFREE16 parg16;
GETARGPTR(pFrame, sizeof(LOCALFREE16), parg16);
ul = GETHLOCAL16(LocalFree(
HLOCAL32(parg16->f1)
));
FREEARGPTR(parg16);
RETURN(ul);
}
ULONG FASTCALL WK32LocalHandle(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALHANDLE16 parg16;
GETARGPTR(pFrame, sizeof(LOCALHANDLE16), parg16);
ul = GETHLOCAL16(LocalHandle(
(LPSTR) WORD32(parg16->f1)
));
FREEARGPTR(parg16);
RETURN(ul);
}
ULONG FASTCALL WK32LocalInit(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALINIT16 parg16;
GETARGPTR(pFrame, sizeof(LOCALINIT16), parg16);
#ifdef API16
ul = GETBOOL16(LocalInit(
WORD32(parg16->f1),
WORD32(parg16->f2),
WORD32(parg16->f3)
));
#else
ul = 0;
#endif
FREEARGPTR(parg16);
RETURN(ul);
}
ULONG FASTCALL WK32LocalLock(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALLOCK16 parg16;
GETARGPTR(pFrame, sizeof(LOCALLOCK16), parg16);
ul = GETNPSTRBOGUS(LocalLock(
HLOCAL32(parg16->f1)
));
FREEARGPTR(parg16);
RETURN(ul);
}
ULONG FASTCALL WK32LocalNotify(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALNOTIFY16 parg16;
GETARGPTR(pFrame, sizeof(LOCALNOTIFY16), parg16);
#ifdef API16
ul = GETPROC16(LocalNotify(
PROC32(parg16->f1)
));
#else
ul = 0;
#endif
FREEARGPTR(parg16);
RETURN(ul);
}
ULONG FASTCALL WK32LocalReAlloc(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALREALLOC16 parg16;
GETARGPTR(pFrame, sizeof(LOCALREALLOC16), parg16);
ul = GETHLOCAL16(LocalReAlloc(
HLOCAL32(parg16->f1),
WORD32(parg16->f2),
WORD32(parg16->f3)
));
FREEARGPTR(parg16);
RETURN(ul);
}
ULONG FASTCALL WK32LocalShrink(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALSHRINK16 parg16;
GETARGPTR(pFrame, sizeof(LOCALSHRINK16), parg16);
ul = GETWORD16(LocalShrink(
HLOCAL32(parg16->f1),
WORD32(parg16->f2)
));
FREEARGPTR(parg16);
RETURN(ul);
}
ULONG FASTCALL WK32LocalSize(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALSIZE16 parg16;
GETARGPTR(pFrame, sizeof(LOCALSIZE16), parg16);
ul = GETWORD16(LocalSize(
HLOCAL32(parg16->f1)
));
FREEARGPTR(parg16);
RETURN(ul);
}
ULONG FASTCALL WK32LocalUnlock(PVDMFRAME pFrame)
{
ULONG ul;
register PLOCALUNLOCK16 parg16;
GETARGPTR(pFrame, sizeof(LOCALUNLOCK16), parg16);
ul = GETBOOL16(LocalUnlock(
HLOCAL32(parg16->f1)
));
FREEARGPTR(parg16);
RETURN(ul);
}