summaryrefslogtreecommitdiffstats
path: root/private/mvdm/wow32/wres16.h
blob: 82a2feee5ad89808b1b29a33199bd4a9a6fc84ef (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*++ BUILD Version: 0001
 *
 *  WOW v1.0
 *
 *  Copyright (c) 1991, Microsoft Corporation
 *
 *  WRES16.H
 *  WOW32 16-bit resource support
 *
 *  History:
 *  Created 11-Mar-1991 by Jeff Parsons (jeffpar)
--*/


/* Resource table entries
 */
#define RES_ALIASPTR        0x0001  // pbResData is 32-bit alias ptr

#pragma pack(2)
typedef struct _RES {       /* res */
    struct _RES *presNext;  // pointer to next res entry
    HMOD16  hmod16;         // 16-bit handle of owning task
    WORD    wExeVer;        // exe version
    ULONG   flState;        // misc. flags (see RES_*)
    HRESI16 hresinfo16;     // 16-bit handle of resource info
    HRESD16 hresdata16;     // 16-bit handle of resource data
    LPSZ    lpszResType;    // type of resource
    PBYTE   pbResData;      // pointer to copy of converted resource data
} RES, *PRES, **PPRES;
#pragma pack()


/* Function prototypes
 */
PRES    AddRes16(HMOD16 hmod16, WORD wExeVer, HRESI16 hresinfo16, LPSZ lpszType);
VOID    FreeRes16(PRES pres);
VOID    DestroyRes16(HMOD16 hmod16);

PRES    FindResource16(HMOD16 hmod16, LPSZ lpszName, LPSZ lpszType);
PRES    LoadResource16(HMOD16 hmod16, PRES pres);
BOOL    FreeResource16(PRES pres);
LPBYTE  LockResource16(PRES pres);
BOOL    UnlockResource16(PRES pres);
DWORD   SizeofResource16(HMOD16 hmod16, PRES pres);

DWORD   ConvertMenu16(WORD wExeVer, PBYTE pmenu32, VPBYTE vpmenu16, DWORD cb, DWORD cb16);
DWORD   ConvertMenuItems16(WORD wExeVer, PPBYTE ppmenu32, PPBYTE ppmenu16, VPBYTE vpmenu16);
DWORD   ConvertDialog16(PBYTE pdlg32, VPBYTE vpdlg16, DWORD cb, DWORD cb16);