Ignore:
Timestamp:
Aug 30, 2000, 3:54:57 PM (25 years ago)
Author:
sandervl
Message:

complete merge with shell32 from wine 20000801

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/shell32/shell32_main.h

    r4082 r4121  
    1 /* $Id: shell32_main.h,v 1.5 2000-08-24 09:35:07 sandervl Exp $ */
    2 
     1/* $Id: shell32_main.h,v 1.6 2000-08-30 13:50:57 sandervl Exp $ */
    32/*
    4  * Win32 SHELL32 for OS/2
    5  *
    6  * Copyright 1999 Patrick Haller (haller@zebra.fh-weingarten.de)
    7  * Project Odin Software License can be found in LICENSE.TXT
    8  *
    9  * Note: Odin changes marked by #ifdef __WIN32OS2__ !
    10  *
    11  * Corel WINE 20000324 level
    12  */
    13 
    14 /*
    15  *      internal Shell32 Library definitions
     3 *      internal Shell32 Library definitions
    164 */
    175
     
    197#define __WINE_SHELL_MAIN_H
    208
    21 
    22 /*****************************************************************************
    23  * Includes                                                                  *
    24  *****************************************************************************/
    25 
    26 #include "imagelist.h"
    279#include "commctrl.h"
    2810#include "shell.h"
     
    3517#include "wine/obj_shelllink.h"
    3618#include "wine/obj_extracticon.h"
    37 
    38 #ifdef __cplusplus
    39   extern "C" {
    40 #endif /* defined(__cplusplus) */
    41 
    42 
    43 /**
    44  * WINE portability macro
    45  **/
    46 
     19#ifdef __WIN32OS2__
     20#include <heapstring.h>
     21#endif
    4722/*******************************************
    4823*  global SHELL32.DLL variables
    4924*/
    50 extern HMODULE          huser32;
    51 extern HINSTANCE        shell32_hInstance;
    52 extern LONG             shell32_ObjCount;
    53 extern HIMAGELIST       ShellSmallIconList;
    54 extern HIMAGELIST       ShellBigIconList;
    55 extern HDPA             sic_hdpa;
     25extern HMODULE  huser32;
     26extern HINSTANCE shell32_hInstance;
     27extern LONG       shell32_ObjCount;
     28extern HIMAGELIST       ShellSmallIconList;
     29extern HIMAGELIST       ShellBigIconList;
     30#ifndef __WIN32OS2__
     31extern HDPA             sic_hdpa;
     32#endif
    5633
    5734/*******************************************
    5835* pointer to functions dynamically loaded
    5936*/
    60 extern void     (* WINAPI pDLLInitComctl)(LPVOID);
    61 extern INT      (* WINAPI pImageList_AddIcon) (HIMAGELIST himl, HICON hIcon);
    62 extern INT      (* WINAPI pImageList_ReplaceIcon) (HIMAGELIST, INT, HICON);
    63 extern HIMAGELIST (* WINAPI  pImageList_Create) (INT,INT,UINT,INT,INT);
    64 extern BOOL     (* WINAPI pImageList_Draw) (HIMAGELIST himl, int i, HDC hdcDest, int x, int y, UINT fStyle);
    65 extern HICON    (* WINAPI pImageList_GetIcon) (HIMAGELIST, INT, UINT);
    66 extern INT      (* WINAPI pImageList_GetImageCount)(HIMAGELIST);
     37extern void     (* WINAPI pDLLInitComctl)(LPVOID);
     38extern INT      (* WINAPI pImageList_AddIcon) (HIMAGELIST himl, HICON hIcon);
     39extern INT      (* WINAPI pImageList_ReplaceIcon) (HIMAGELIST, INT, HICON);
     40extern HIMAGELIST (* WINAPI pImageList_Create) (INT,INT,UINT,INT,INT);
     41extern BOOL     (* WINAPI pImageList_Draw) (HIMAGELIST himl, int i, HDC hdcDest, int x, int y, UINT fStyle);
     42extern HICON    (* WINAPI pImageList_GetIcon) (HIMAGELIST, INT, UINT);
     43extern INT      (* WINAPI pImageList_GetImageCount)(HIMAGELIST);
    6744extern COLORREF (* WINAPI pImageList_SetBkColor)(HIMAGELIST, COLORREF);
    6845
    69 extern LPVOID   (* WINAPI  pCOMCTL32_Alloc) (INT);
    70 extern BOOL     (* WINAPI  pCOMCTL32_Free) (LPVOID);
    71 
    72 extern HDPA     (* WINAPI  pDPA_Create) (INT);
    73 extern INT      (* WINAPI  pDPA_InsertPtr) (const HDPA, INT, LPVOID);
    74 extern BOOL     (* WINAPI  pDPA_Sort) (const HDPA, PFNDPACOMPARE, LPARAM);
    75 extern LPVOID   (* WINAPI  pDPA_GetPtr) (const HDPA, INT);
    76 extern BOOL     (* WINAPI  pDPA_Destroy) (const HDPA);
    77 extern INT      (* WINAPI pDPA_Search) (const HDPA, LPVOID, INT, PFNDPACOMPARE, LPARAM, UINT);
    78 extern LPVOID   (* WINAPI pDPA_DeletePtr) (const HDPA hdpa, INT i);
    79 #define pDPA_GetPtrCount(hdpa)  (*(INT*)(hdpa))
     46extern LPVOID   (* WINAPI pCOMCTL32_Alloc) (INT); 
     47extern BOOL     (* WINAPI pCOMCTL32_Free) (LPVOID); 
     48
     49extern HDPA     (* WINAPI pDPA_Create) (INT); 
     50extern INT      (* WINAPI pDPA_InsertPtr) (const HDPA, INT, LPVOID);
     51extern BOOL     (* WINAPI pDPA_Sort) (const HDPA, PFNDPACOMPARE, LPARAM);
     52extern LPVOID   (* WINAPI pDPA_GetPtr) (const HDPA, INT);   
     53extern BOOL     (* WINAPI pDPA_Destroy) (const HDPA);
     54extern INT      (* WINAPI pDPA_Search) (const HDPA, LPVOID, INT, PFNDPACOMPARE, LPARAM, UINT);
     55extern LPVOID   (* WINAPI pDPA_DeletePtr) (const HDPA hdpa, INT i);
     56#define pDPA_GetPtrCount(hdpa)  (*(INT*)(hdpa))   
    8057
    8158extern HICON (* WINAPI pLookupIconIdFromDirectoryEx)(LPBYTE dir, BOOL bIcon, INT width, INT height, UINT cFlag);
     
    8360
    8461/* ole2 */
    85 extern HRESULT (* WINAPI  pOleInitialize)(LPVOID reserved);
    86 extern void    (* WINAPI  pOleUninitialize)(void);
    87 extern HRESULT (* WINAPI  pRegisterDragDrop)(HWND hwnd, IDropTarget* pDropTarget);
    88 extern HRESULT (* WINAPI  pRevokeDragDrop)(HWND hwnd);
    89 extern HRESULT (* WINAPI  pDoDragDrop)(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*);
    90 extern void (* WINAPI  pReleaseStgMedium)(STGMEDIUM* pmedium);
    91 extern HRESULT (* WINAPI  pOleSetClipboard)(IDataObject* pDataObj);
    92 extern HRESULT (* WINAPI  pOleGetClipboard)(IDataObject** ppDataObj);
    93 
    94    
     62/*
     63extern HRESULT (* WINAPI pOleInitialize)(LPVOID reserved);
     64extern void (* WINAPI pOleUninitialize)(void);
     65extern HRESULT (* WINAPI pDoDragDrop)(IDataObject* pDataObject, IDropSource * pDropSource, DWORD dwOKEffect, DWORD * pdwEffect);
     66extern HRESULT (* WINAPI pRegisterDragDrop)(HWND hwnd, IDropTarget* pDropTarget);
     67extern HRESULT (* WINAPI pRevokeDragDrop)(HWND hwnd);
     68*/
    9569BOOL WINAPI Shell_GetImageList(HIMAGELIST * lpBigList, HIMAGELIST * lpSmallList);
    9670
     
    11286BOOL HCR_GetFolderAttributes (REFIID riid, LPDWORD szDest);
    11387
    114 DWORD   WINAPI ParseFieldA(LPCSTR src,DWORD field,LPSTR dst,DWORD len);
     88DWORD   WINAPI ParseFieldA(LPCSTR src,DWORD field,LPSTR dst,DWORD len);
    11589
    11690/****************************************************************************
    11791 * Class constructors
    11892 */
    119 LPDATAOBJECT    IDataObject_Constructor(HWND hwndOwner, LPITEMIDLIST myPidl, LPITEMIDLIST * apidl, UINT cidl);
    120 LPENUMFORMATETC IEnumFORMATETC_Constructor(UINT, const FORMATETC []);
    121 
    122 LPCLASSFACTORY  IClassFactory_Constructor(REFCLSID);
    123 IContextMenu *  ISvItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl, LPCITEMIDLIST *aPidls, UINT uItemCount);
    124 IContextMenu *  ISvBgCm_Constructor(LPSHELLFOLDER pSFParent);
    125 LPSHELLVIEW     IShellView_Constructor(LPSHELLFOLDER);
    126 LPSHELLLINK     IShellLink_Constructor(BOOL);
     93LPDATAOBJECT    IDataObject_Constructor(HWND hwndOwner, LPITEMIDLIST myPidl, LPITEMIDLIST * apidl, UINT cidl);
     94LPENUMFORMATETC IEnumFORMATETC_Constructor(UINT, const FORMATETC []);
     95
     96LPCLASSFACTORY  IClassFactory_Constructor(REFCLSID);
     97IContextMenu *  ISvItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl, LPCITEMIDLIST *aPidls, UINT uItemCount);
     98IContextMenu *  ISvBgCm_Constructor(LPSHELLFOLDER pSFParent);
     99LPSHELLVIEW     IShellView_Constructor(LPSHELLFOLDER);
     100LPSHELLLINK     IShellLink_Constructor(BOOL);
    127101
    128102IShellFolder * ISF_Desktop_Constructor(void);
    129103
    130104/* kind of enumidlist */
    131 #define EIDL_DESK       0
    132 #define EIDL_MYCOMP     1
    133 #define EIDL_FILE       2
    134 
    135 LPENUMIDLIST    IEnumIDList_Constructor(LPCSTR,DWORD,DWORD);
    136 
    137 LPEXTRACTICONA  IExtractIconA_Constructor(LPITEMIDLIST);
    138 HRESULT         CreateStreamOnFile (LPCSTR pszFilename, IStream ** ppstm);
     105#define EIDL_DESK       0
     106#define EIDL_MYCOMP     1
     107#define EIDL_FILE       2
     108
     109LPENUMIDLIST    IEnumIDList_Constructor(LPCSTR,DWORD,DWORD);
     110
     111LPEXTRACTICONA  IExtractIconA_Constructor(LPITEMIDLIST);
     112HRESULT         CreateStreamOnFile (LPCSTR pszFilename, IStream ** ppstm);     
    139113
    140114/* fixme: rename the functions when the shell32.dll has it's own exports namespace */
     
    152126/* initialisation for FORMATETC */
    153127#define InitFormatEtc(fe, cf, med) \
    154         {\
    155         (fe).cfFormat=cf;\
    156         (fe).dwAspect=DVASPECT_CONTENT;\
    157         (fe).ptd=NULL;\
    158         (fe).tymed=med;\
    159         (fe).lindex=-1;\
    160         };
     128        {\
     129        (fe).cfFormat=cf;\
     130        (fe).dwAspect=DVASPECT_CONTENT;\
     131        (fe).ptd=NULL;\
     132        (fe).tymed=med;\
     133        (fe).lindex=-1;\
     134        };
    161135
    162136#define KeyStateToDropEffect(kst)\
    163         (((kst) & MK_CONTROL) ?\
    164         (((kst) & MK_SHIFT) ? DROPEFFECT_LINK : DROPEFFECT_COPY):\
    165         DROPEFFECT_MOVE)
     137        (((kst) & MK_CONTROL) ?\
     138        (((kst) & MK_SHIFT) ? DROPEFFECT_LINK : DROPEFFECT_COPY):\
     139        DROPEFFECT_MOVE)
    166140
    167141/* Systray */
    168142BOOL SYSTRAY_Init(void);
    169    
     143
    170144/* Clipboard */
    171145void InitShellOle(void);
    172146void FreeShellOle(void);
    173147BOOL GetShellOle(void);
    174    
    175 /* PH: This creates an auto variable just in any importer...
    176 HRESULT (* WINAPI  pOleInitialize)(LPVOID reserved);
    177 void    (* WINAPI  pOleUninitialize)(void);
    178 HRESULT (* WINAPI  pRegisterDragDrop)(HWND hwnd, IDropTarget* pDropTarget);
    179 HRESULT (* WINAPI  pRevokeDragDrop)(HWND hwnd);
    180 HRESULT (* WINAPI  pDoDragDrop)(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*);
    181 void (* WINAPI  pReleaseStgMedium)(STGMEDIUM* pmedium);
    182 HRESULT (* WINAPI  pOleSetClipboard)(IDataObject* pDataObj);
    183 HRESULT (* WINAPI  pOleGetClipboard)(IDataObject** ppDataObj);
    184 */
    185    
     148
     149#ifdef __WIN32OS2__
     150extern HRESULT (* WINAPI pOleInitialize)(LPVOID reserved);
     151extern void    (* WINAPI pOleUninitialize)(void);
     152extern HRESULT (* WINAPI pRegisterDragDrop)(HWND hwnd, IDropTarget* pDropTarget);
     153extern HRESULT (* WINAPI pRevokeDragDrop)(HWND hwnd);
     154extern HRESULT (* WINAPI pDoDragDrop)(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*);
     155extern void     (* WINAPI pReleaseStgMedium)(STGMEDIUM* pmedium);
     156extern HRESULT (* WINAPI pOleSetClipboard)(IDataObject* pDataObj);
     157extern HRESULT (* WINAPI pOleGetClipboard)(IDataObject** ppDataObj);
     158#else
     159HRESULT (* WINAPI pOleInitialize)(LPVOID reserved);
     160void    (* WINAPI pOleUninitialize)(void);
     161HRESULT (* WINAPI pRegisterDragDrop)(HWND hwnd, IDropTarget* pDropTarget);
     162HRESULT (* WINAPI pRevokeDragDrop)(HWND hwnd);
     163HRESULT (* WINAPI pDoDragDrop)(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*);
     164void    (* WINAPI pReleaseStgMedium)(STGMEDIUM* pmedium);
     165HRESULT (* WINAPI pOleSetClipboard)(IDataObject* pDataObj);
     166HRESULT (* WINAPI pOleGetClipboard)(IDataObject** ppDataObj);
     167#endif
     168
    186169HGLOBAL RenderHDROP(LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl);
    187170HGLOBAL RenderSHELLIDLIST (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl);
     
    200183
    201184#ifdef __WIN32OS2__
     185#ifdef __cplusplus
     186extern "C" {
     187#endif
    202188BOOL SHELL_OsIsUnicode(void);
     189
     190#include <peexe.h>
     191PIMAGE_RESOURCE_DIRECTORY GetResDirEntryW(PIMAGE_RESOURCE_DIRECTORY resdirptr,
     192                                           LPCWSTR name,DWORD root,
     193                                           BOOL allowdefault);
     194
     195#ifdef __cplusplus
     196}
     197#endif
    203198#else
    204199inline static BOOL SHELL_OsIsUnicode(void)
    205200{
    206 /* if high-bit of version is 0, we are emulating NT */
    207   return !(GetVersion() & 0x80000000);
     201    /* if high-bit of version is 0, we are emulating NT */
     202    return !(GetVersion() & 0x80000000);
    208203}
    209204#endif
    210    
    211 #ifdef __cplusplus
    212   }
    213 #endif /* defined(__cplusplus) */
    214 
    215 #endif
     205
     206#endif
Note: See TracChangeset for help on using the changeset viewer.