Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
(C) Copyright Microsoft Corporation 1988-1992
Module Name:
common.h
Author:
Floyd A Rogers 2/7/92
Revision History: Floyd Rogers Created --*/
#define IN
#define OUT
#define INOUT
//
// An ID_WORD indicates the following WORD is an ordinal rather
// than a string
//
#define ID_WORD 0xffff
typedef struct _STRING { DWORD discriminant; // long to make the rest of the struct aligned
union u { struct { struct _STRING *pnext; DWORD ulOffsetToString; USHORT cbD; USHORT cb; WCHAR sz[1]; } ss; WORD Ordinal; } uu; } STRING, *PSTRING, **PPSTRING;
#define IS_STRING 1
#define IS_ID 2
// defines to make deferencing easier
#define OffsetToString uu.ss.ulOffsetToString
#define cbData uu.ss.cbD
#define cbsz uu.ss.cb
#define szStr uu.ss.sz
#define pn uu.ss.pnext
typedef struct _RESNAME { struct _RESNAME *pnext; // The first three fields should be the
PSTRING Name; // same in both res structures
DWORD OffsetToData; //
PSTRING Type; struct _RESNAME *pnextRes; RESADDITIONAL *pAdditional; DWORD OffsetToDataEntry; USHORT ResourceNumber; USHORT NumberOfLanguages; POBJLST pObjLst; } RESNAME, *PRESNAME, **PPRESNAME;
typedef struct _RESTYPE { struct _RESTYPE *pnext; // The first three fields should be the
PSTRING Type; // same in both res structures
DWORD OffsetToData; //
struct _RESNAME *NameHeadID; struct _RESNAME *NameHeadName; DWORD NumberOfNamesID; DWORD NumberOfNamesName; POBJLST pObjLst; } RESTYPE, *PRESTYPE, **PPRESTYPE;
|