225 lines
3.5 KiB
C
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);
|
|
}
|