C-Declaration of OPENFILENAME data structure:       WordBasic definition of 
                                                             address offsets:

typedef struct tagOPENFILENAME { /* ofn */          '** Type OPENFILENAME ****
    DWORD     lStructSize;            /* (4) */       lStructSizeOff = 0
    HWND      hwndOwner;              /* (2) */       hwndOwnerOff = 4
    HINSTANCE hInstance;              /* (2) */       hInstanceOff = 6
    LPCSTR    lpstrFilter;            /* (4) */       lpstrFilterOff = 8
    LPSTR     lpstrCustomFilter;      /* (4) */       lpstrCustomFilterOff = 12
    DWORD     nMaxCustFilter;         /* (4) */       nMaxCustFilterOff = 16
    DWORD     nFilterIndex;           /* (4) */       nFilterIndexOff = 20
    LPSTR     lpstrFile;              /* (4) */       lpstrFileOff = 24
    DWORD     nMaxFile;               /* (4) */       nMaxFileOff = 28
    LPSTR     lpstrFileTitle;         /* (4) */       lpstrFileTitleOff = 32
    DWORD     nMaxFileTitle;          /* (4) */       nMaxFileTitleOff = 36
    LPCSTR    lpstrInitialDir;        /* (4) */       lpstrInitialDirOff = 40
    LPCSTR    lpstrTitle;             /* (4) */       lpstrTitleOff = 44
    DWORD     Flags;                  /* (4) */       FlagsOff = 48
    UINT      nFileOffset;            /* (2) */       nFileOffsetOff = 52
    UINT      nFileExtension;         /* (2) */       nFileExtensionOff = 54
    LPCSTR    lpstrDefExt;            /* (4) */       lpstrDefExtOff = 56
    LPARAM    lCustData;              /* (4) */       lCustDataOff = 60
    UINT      (CALLBACK* lpfnHook) (HWND, UINT,         callbackOff = 64
                 WPARAM, LPARAM);     /* (4) */       lpTemplateNameOff = 68
    LPCSTR    lpTemplateName;         /* (4) */     '** End Type **************
} OPENFILENAME;                                                 


