/*++ BUILD Version: 0001
 *
 *  WOW v1.0
 *
 *  Copyright (c) 1991, Microsoft Corporation
 *
 *  WOWSHELL.H
 *  16-bit SHELL API argument structures
 *
 *  History:
 *  Created 14-April-1992 by Chandan S. Chauhan (ChandanC)
 *
--*/

/* SHELL API IDs
 */
#define FUN_REGOPENKEY		1
#define FUN_REGCREATEKEY	2
#define FUN_REGCLOSEKEY 	3
#define FUN_REGDELETEKEY	4
#define FUN_REGSETVALUE 	5
#define FUN_REGQUERYVALUE	6
#define FUN_REGENUMKEY		7
#define FUN_DRAGACCEPTFILES	9
#define FUN_DRAGQUERYFILE	11
#define FUN_DRAGFINISH		12
#define FUN_DRAGQUERYPOINT	13
#define FUN_SHELLEXECUTE	20
#define FUN_FINDEXECUTABLE	21
#define FUN_SHELLABOUT		22
#define FUN_WCI 		32
#define FUN_ABOUTDLGPROC	33
#define FUN_EXTRACTICON 	34
#define FUN_EXTRACTASSOCIATEDICON 36
#define FUN_DOENVIRONMENTSUBST	37
#define FUN_FINDENVIRONMENTSTRING 38
#define FUN_INTERNALEXTRACTICON 39
#define FUN_HERETHARBETYGARS	100
#define FUN_FINDEXEDLGPROC	101
#define FUN_REGISTERSHELLHOOK	102
#define FUN_SHELLHOOKPROC	103


/* XLATOFF */
#pragma pack(2)
/* XLATON */

typedef struct _REGOPENKEY16 {		/* s1 */
    VPVOID  f3;
    VPVOID  f2;
    DWORD	f1;
} REGOPENKEY16;
typedef REGOPENKEY16 UNALIGNED *PREGOPENKEY16;

typedef struct _REGCREATEKEY16 {	/* s2 */
    VPVOID  f3;
    VPVOID  f2;
    DWORD   f1;
} REGCREATEKEY16;
typedef REGCREATEKEY16 UNALIGNED *PREGCREATEKEY16;

typedef struct _REGCLOSEKEY16 {		/* s3 */
    DWORD   f1;
} REGCLOSEKEY16;
typedef REGCLOSEKEY16 UNALIGNED *PREGCLOSEKEY16;

typedef struct _REGDELETEKEY16 {	/* s4 */
    VPVOID  f2;
    DWORD   f1;
} REGDELETEKEY16;
typedef REGDELETEKEY16 UNALIGNED *PREGDELETEKEY16;

typedef struct _REGSETVALUE16 {		/* s5 */
    DWORD   f5;
    VPVOID  f4;
    DWORD   f3;
    VPVOID  f2;
    DWORD   f1;
} REGSETVALUE16;
typedef REGSETVALUE16 UNALIGNED *PREGSETVALUE16;

typedef struct _REGQUERYVALUE16 {	/* s6 */
    VPVOID  f4;
    VPVOID  f3;
    VPVOID  f2;
    DWORD   f1;
} REGQUERYVALUE16;
typedef REGQUERYVALUE16 UNALIGNED *PREGQUERYVALUE16;

typedef struct _REGENUMKEY16 {		/* s7 */
    DWORD   f4;
    VPVOID  f3;
    DWORD   f2;
    DWORD   f1;
} REGENUMKEY16;
typedef REGENUMKEY16 UNALIGNED *PREGENUMKEY16;

typedef struct _DRAGACCEPTFILES16 {	/* s9 */
    SHORT   f2;
    HAND16  f1;
} DRAGACCEPTFILES16;
typedef DRAGACCEPTFILES16 UNALIGNED *PDRAGACCEPTFILES16;

typedef struct _DRAGQUERYFILE16 {	/* s11 */
    WORD    f4;
    VPVOID  f3;
    WORD    f2;
    HAND16  f1;
} DRAGQUERYFILE16;
typedef DRAGQUERYFILE16 UNALIGNED *PDRAGQUERYFILE16;

typedef struct _DRAGFINISH16 {		/* s12 */
    HAND16  f1;
} DRAGFINISH16;
typedef DRAGFINISH16 UNALIGNED *PDRAGFINISH16;

typedef struct _DRAGQUERYPOINT16 {	/* s13 */
    VPVOID  f2;
    HAND16  f1;
} DRAGQUERYPOINT16;
typedef DRAGQUERYPOINT16 UNALIGNED *PDRAGQUERYPOINT16;

typedef struct _SHELLABOUT16 {	      /* s22 */
    HAND16  f4;
    VPVOID  f3;
    VPVOID  f2;
    HAND16  f1;
} SHELLABOUT16;
typedef SHELLABOUT16 UNALIGNED *PSHELLABOUT16;


typedef struct _SHELLEXECUTE16 {	/* s20 */
    WORD    f6;
    VPVOID  f5;
    VPVOID  f4;
    VPVOID  f3;
    VPVOID  f2;
    HAND16  f1;
} SHELLEXECUTE16;
typedef SHELLEXECUTE16 UNALIGNED *PSHELLEXECUTE16;

typedef struct _FINDEXECUTABLE16 {	/* s21 */
    VPVOID  f3;
    VPVOID  f2;
    VPVOID  f1;
} FINDEXECUTABLE16;
typedef FINDEXECUTABLE16 UNALIGNED *PFINDEXECUTABLE16;

typedef struct _EXTRACTICON16 {		/* s34 */
    WORD    f3;
    VPVOID  f2;
    HAND16  f1;
} EXTRACTICON16;
typedef EXTRACTICON16 UNALIGNED *PEXTRACTICON16;

typedef struct _EXTRACTASSOCIATEDICON16 {	  /* s36 */
    VPVOID  f3;
    VPVOID  f2;
    HAND16  f1;
} EXTRACTASSOCIATEDICON16;
typedef EXTRACTASSOCIATEDICON16 UNALIGNED *PEXTRACTASSOCIATEDICON16;

typedef struct _DOENVIRONMENTSUBST16 {            /* s37 */
    WORD    cch;
    VPVOID  vpsz;
} DOENVIRONMENTSUBST16;
typedef DOENVIRONMENTSUBST16 UNALIGNED *PDOENVIRONMENTSUBST16;

/* XLATOFF */
#pragma pack()
/* XLATON */

