- Timestamp:
- Aug 30, 2000, 3:54:57 PM (25 years ago)
- Location:
- trunk/src/shell32
- Files:
-
- 28 added
- 30 deleted
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/makefile
r4032 r4121 1 # $Id: makefile,v 1.2 7 2000-08-18 02:01:16 phallerExp $1 # $Id: makefile,v 1.28 2000-08-30 13:50:53 sandervl Exp $ 2 2 3 3 # … … 30 30 $(OBJDIR)\classes.obj \ 31 31 $(OBJDIR)\clipboard.obj \ 32 $(OBJDIR)\contmenu.obj \33 32 $(OBJDIR)\dataobject.obj \ 34 33 $(OBJDIR)\dialogs.obj \ … … 38 37 $(OBJDIR)\memorystream.obj \ 39 38 $(OBJDIR)\pidl.obj \ 40 $(OBJDIR)\regstream.obj \41 39 $(OBJDIR)\shell32_main.obj \ 40 $(OBJDIR)\shell32_odin.obj \ 42 41 $(OBJDIR)\shellguid.obj \ 43 42 $(OBJDIR)\shelllink.obj \ -
trunk/src/shell32/misc.cpp
r4082 r4121 1 /* $Id: misc.cpp,v 1. 9 2000-08-24 09:35:06sandervl Exp $ */1 /* $Id: misc.cpp,v 1.10 2000-08-30 13:50:53 sandervl Exp $ */ 2 2 3 3 /* … … 34 34 #include <heapstring.h> 35 35 36 37 36 /***************************************************************************** 38 37 * Types & Defines * … … 41 40 ODINDEBUGCHANNEL(SHELL32-MISC) 42 41 42 43 /* exported via shell32_main.h */ 44 HRESULT (WINAPI* pOleInitialize)(LPVOID reserved); 45 void (WINAPI* pOleUninitialize)(void); 46 HRESULT (WINAPI* pRegisterDragDrop)(HWND hwnd, IDropTarget* pDropTarget); 47 HRESULT (WINAPI* pRevokeDragDrop)(HWND hwnd); 48 HRESULT (WINAPI* pDoDragDrop)(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*); 49 void (WINAPI* pReleaseStgMedium)(STGMEDIUM* pmedium); 50 HRESULT (WINAPI* pOleSetClipboard)(IDataObject* pDataObj); 51 HRESULT (WINAPI* pOleGetClipboard)(IDataObject** ppDataObj); 43 52 44 53 BOOL SHELL_OsIsUnicode(void) … … 363 372 } 364 373 374 -
trunk/src/shell32/pidl.h
r4032 r4121 1 /* $Id: pidl.h,v 1.5 2000-08-18 02:01:18 phaller Exp $ */ 2 3 /* 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 */ 10 1 /* $Id: pidl.h,v 1.6 2000-08-30 13:50:55 sandervl Exp $ */ 11 2 /* 12 3 * internal pidl functions … … 16 7 * 17 8 * The contents of a pidl should never used from a application 18 * directly. 9 * directly. 19 10 * 20 * This stuff is used from SHGetFileAttributes, ShellFolder 21 * EnumIDList and ShellView. 11 * Undocumented: 12 * MS says: the abID of SHITEMID should be treated as binary data and not 13 * be interpreted by applications. Applies to everyone but MS itself. 14 * Word95 interprets the contents of abID (Filesize/Date) so we have to go 15 * for binary compatibility here. 22 16 */ 23 17 24 18 #ifndef __WINE_PIDL_H 25 19 #define __WINE_PIDL_H 26 20 27 28 /*****************************************************************************29 * Includes *30 *****************************************************************************/31 32 21 #include "shlobj.h" 33 22 34 /* 23 /* 35 24 * the pidl does cache fileattributes to speed up SHGetAttributes when 36 25 * displaying a big number of files. … … 41 30 * PIDLDATA desribes the type of pidl. 42 31 * 43 * 44 * 45 * 46 * my computer 0x1F/20 mycomp (2)(usual)47 * network 0x1Fmycomp48 * bitbucket 0x1Fmycomp49 * drive 0x23/25 drive(usual)50 * drive 0x25/25 drive(lnk/persistant)51 * drive 0x29/25drive52 * shell extension 0x2Emycomp53 * drive 0x2F drive(lnk/persistant)54 * folder/file 0x30 folder/file (1)(lnk/persistant)55 * folder 0x31 folder(usual)56 * value 0x32 file(usual)57 * workgroup 0x41network (3)58 * computer 0x42network (4)59 * whole network 0x47network (5)60 * MSITStore 0x61 htmlhlp (7)61 * history/favorites 0xb1file62 * share 0xc3network (6)32 * object ! first byte / ! format ! living space 33 * ! size 34 * ---------------------------------------------------------------- 35 * my computer 0x1F/20 mycomp (2) (usual) 36 * network 0x1F mycomp 37 * bitbucket 0x1F mycomp 38 * drive 0x23/25 drive (usual) 39 * drive 0x25/25 drive (lnk/persistant) 40 * drive 0x29/25 drive 41 * shell extension 0x2E mycomp 42 * drive 0x2F drive (lnk/persistant) 43 * folder/file 0x30 folder/file (1) (lnk/persistant) 44 * folder 0x31 folder (usual) 45 * value 0x32 file (usual) 46 * workgroup 0x41 network (3) 47 * computer 0x42 network (4) 48 * whole network 0x47 network (5) 49 * MSITStore 0x61 htmlhlp (7) 50 * history/favorites 0xb1 file 51 * share 0xc3 network (6) 63 52 * 64 53 * guess: the persistant elements are non tracking … … 66 55 * (1) dummy byte is used, attributes are empty 67 56 * (2) IID_MyComputer = 20D04FE0L-3AEA-1069-A2D8-08002B30309D 68 * (3) two strings 69 * (4) one string 70 * (5) one string "whole network"71 * (6) one string 57 * (3) two strings "workgroup" "microsoft network" 58 * (4) one string "\\sirius" 59 * (5) one string "whole network" 60 * (6) one string "\\sirius\c" 72 61 * (7) contains string "mk:@MSITStore:C:\path\file.chm::/path/filename.htm" 73 * GUID871C5380-42A0-1069-A2EA-08002B30309D62 * GUID 871C5380-42A0-1069-A2EA-08002B30309D 74 63 */ 75 64 76 #define PT_DESKTOP 77 #define PT_MYCOMP 78 #define PT_DRIVE 79 #define PT_DRIVE2 80 #define PT_DRIVE3 81 #define PT_SPECIAL 82 #define PT_DRIVE1 83 #define PT_FOLDER1 84 #define PT_FOLDER 85 #define PT_VALUE 86 #define PT_WORKGRP 87 #define PT_COMP 88 #define PT_NETWORK 89 #define PT_IESPECIAL 90 #define PT_SHARE 65 #define PT_DESKTOP 0x00 /* internal */ 66 #define PT_MYCOMP 0x1F 67 #define PT_DRIVE 0x23 68 #define PT_DRIVE2 0x25 69 #define PT_DRIVE3 0x29 70 #define PT_SPECIAL 0x2E 71 #define PT_DRIVE1 0x2F 72 #define PT_FOLDER1 0x30 73 #define PT_FOLDER 0x31 74 #define PT_VALUE 0x32 75 #define PT_WORKGRP 0x41 76 #define PT_COMP 0x42 77 #define PT_NETWORK 0x47 78 #define PT_IESPECIAL 0xb1 79 #define PT_SHARE 0xc3 91 80 92 81 #include "pshpack1.h" … … 94 83 95 84 typedef struct tagPIDLDATA 96 { PIDLTYPE type;/*00*/97 98 99 { BYTE dummy;/*01*/100 GUID guid;/*02*/101 BYTE dummy1;/*18*/102 103 104 { CHAR szDriveName[20];/*01*/105 DWORD dwUnknown;/*21*/106 107 108 struct 109 { BYTE dummy;/*01 is 0x00 for files or dirs */110 DWORD dwFileSize;/*02*/111 WORD uFileDate;/*06*/112 WORD uFileTime;/*08*/113 WORD uFileAttribs;/*10*/114 CHAR szNames[1];/*12*/115 /* Here are comming two strings. The first is the long name. 116 117 } file, folder, generic; 118 119 { WORD dummy;/*01*/120 CHAR szNames[1];/*03*/121 122 123 { WORD dummy;/*01*/124 DWORD dummy1;/*02*/125 CHAR szName[1];/*06*/ /* teminated by 0x00 0x00 */126 127 85 { PIDLTYPE type; /*00*/ 86 union 87 { struct 88 { BYTE dummy; /*01*/ 89 GUID guid; /*02*/ 90 BYTE dummy1; /*18*/ 91 } mycomp; 92 struct 93 { CHAR szDriveName[20]; /*01*/ 94 DWORD dwUnknown; /*21*/ 95 /* the drive seems to be 25 bytes every time */ 96 } drive; 97 struct 98 { BYTE dummy; /*01 is 0x00 for files or dirs */ 99 DWORD dwFileSize; /*02*/ 100 WORD uFileDate; /*06*/ 101 WORD uFileTime; /*08*/ 102 WORD uFileAttribs; /*10*/ 103 CHAR szNames[1]; /*12*/ 104 /* Here are comming two strings. The first is the long name. 105 The second the dos name when needed or just 0x00 */ 106 } file, folder, generic; 107 struct 108 { WORD dummy; /*01*/ 109 CHAR szNames[1]; /*03*/ 110 } network; 111 struct 112 { WORD dummy; /*01*/ 113 DWORD dummy1; /*02*/ 114 CHAR szName[1]; /*06*/ /* teminated by 0x00 0x00 */ 115 } htmlhelp; 116 }u; 128 117 } PIDLDATA, *LPPIDLDATA; 129 118 #include "poppack.h" … … 132 121 * getting special values from simple pidls 133 122 */ 134 DWORD WINAPI _ILSimpleGetText (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 135 BOOL WINAPI _ILGetFileDate (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 136 DWORD WINAPI _ILGetFileSize (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 137 BOOL WINAPI _ILGetExtension (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 138 void WINAPI _ILGetFileType (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 139 DWORD WINAPI _ILGetFileAttributes (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 140 DWORD WINAPI _ILGetFileSizeKB (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 123 DWORD _ILSimpleGetText (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 124 BOOL _ILGetFileDate (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 125 DWORD _ILGetFileSize (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 126 BOOL _ILGetExtension (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 127 void _ILGetFileType (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 128 DWORD _ILGetFileAttributes (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize); 141 129 142 BOOL WINAPI _ILGetFileDateTime(LPCITEMIDLIST pidl, FILETIME *ft);143 DWORD WINAPI _ILGetDrive(LPCITEMIDLIST, LPSTR, UINT16);130 BOOL _ILGetFileDateTime (LPCITEMIDLIST pidl, FILETIME *ft); 131 DWORD _ILGetDrive (LPCITEMIDLIST, LPSTR, UINT16); 144 132 145 133 /* 146 134 * testing simple pidls 147 135 */ 148 BOOL WINAPI _ILIsDesktop(LPCITEMIDLIST pidl);149 BOOL WINAPI _ILIsMyComputer(LPCITEMIDLIST pidl);150 BOOL WINAPI _ILIsDrive(LPCITEMIDLIST pidl);151 BOOL WINAPI _ILIsFolder(LPCITEMIDLIST pidl);152 BOOL WINAPI _ILIsValue(LPCITEMIDLIST pidl);153 BOOL WINAPI _ILIsSpecialFolder(LPCITEMIDLIST pidl);154 BOOL WINAPI _ILIsPidlSimple(LPCITEMIDLIST pidl);136 BOOL _ILIsDesktop (LPCITEMIDLIST pidl); 137 BOOL _ILIsMyComputer (LPCITEMIDLIST pidl); 138 BOOL _ILIsDrive (LPCITEMIDLIST pidl); 139 BOOL _ILIsFolder (LPCITEMIDLIST pidl); 140 BOOL _ILIsValue (LPCITEMIDLIST pidl); 141 BOOL _ILIsSpecialFolder (LPCITEMIDLIST pidl); 142 BOOL _ILIsPidlSimple (LPCITEMIDLIST pidl); 155 143 156 144 /* 157 145 * simple pidls from strings 158 146 */ 159 LPITEMIDLIST WINAPI _ILCreate(PIDLTYPE,LPCVOID,UINT16);147 LPITEMIDLIST _ILCreate (PIDLTYPE,LPCVOID,UINT16); 160 148 161 LPITEMIDLIST WINAPI _ILCreateDesktop(void);162 LPITEMIDLIST WINAPI _ILCreateMyComputer(void);163 LPITEMIDLIST WINAPI _ILCreateIExplore(void);164 LPITEMIDLIST WINAPI _ILCreateControl(void);165 LPITEMIDLIST WINAPI _ILCreatePrinter(void);166 LPITEMIDLIST WINAPI _ILCreateNetwork(void);167 LPITEMIDLIST WINAPI _ILCreateBitBucket(void);168 LPITEMIDLIST WINAPI _ILCreateDrive(LPCSTR);169 LPITEMIDLIST WINAPI _ILCreateFolder(WIN32_FIND_DATAA * stffile);170 LPITEMIDLIST WINAPI _ILCreateValue(WIN32_FIND_DATAA * stffile);171 LPITEMIDLIST WINAPI _ILCreateSpecial(LPCSTR szGUID);149 LPITEMIDLIST _ILCreateDesktop (void); 150 LPITEMIDLIST _ILCreateMyComputer (void); 151 LPITEMIDLIST _ILCreateIExplore (void); 152 LPITEMIDLIST _ILCreateControl (void); 153 LPITEMIDLIST _ILCreatePrinter (void); 154 LPITEMIDLIST _ILCreateNetwork (void); 155 LPITEMIDLIST _ILCreateBitBucket (void); 156 LPITEMIDLIST _ILCreateDrive (LPCSTR); 157 LPITEMIDLIST _ILCreateFolder (WIN32_FIND_DATAA * stffile); 158 LPITEMIDLIST _ILCreateValue (WIN32_FIND_DATAA * stffile); 159 LPITEMIDLIST _ILCreateSpecial (LPCSTR szGUID); 172 160 173 161 /* 174 162 * helper functions (getting struct-pointer) 175 163 */ 176 LPPIDLDATA WINAPI _ILGetDataPointer(LPCITEMIDLIST);177 LPSTR WINAPI _ILGetTextPointer (PIDLTYPE type, LPPIDLDATA pidldata);178 LPSTR WINAPI _ILGetSTextPointer (PIDLTYPE type, LPPIDLDATA pidldata);179 REFIID WINAPI _ILGetGUIDPointer(LPCITEMIDLIST pidl);164 LPPIDLDATA _ILGetDataPointer (LPCITEMIDLIST); 165 LPSTR _ILGetTextPointer (LPCITEMIDLIST); 166 LPSTR _ILGetSTextPointer (LPCITEMIDLIST); 167 REFIID _ILGetGUIDPointer (LPCITEMIDLIST pidl); 180 168 181 /* 182 * debug helper 169 /* 170 * debug helper 183 171 */ 172 #ifdef __WIN32OS2__ 184 173 #ifdef DEBUG 185 174 void pdump (LPCITEMIDLIST pidl); … … 189 178 //CB: needed in release build 190 179 BOOL pcheck (LPCITEMIDLIST pidl); 180 #else 181 void pdump (LPCITEMIDLIST pidl); 182 BOOL pcheck (LPCITEMIDLIST pidl); 183 #endif 191 184 192 185 /* 193 186 * aPidl helper 194 187 */ 195 void WINAPI_ILFreeaPidl(LPITEMIDLIST * apidl, UINT cidl);196 LPITEMIDLIST * WINAPI_ILCopyaPidl(LPITEMIDLIST * apidlsrc, UINT cidl);197 LPITEMIDLIST * WINAPI_ILCopyCidaToaPidl(LPITEMIDLIST* pidl, LPCIDA cida);188 void _ILFreeaPidl(LPITEMIDLIST * apidl, UINT cidl); 189 LPITEMIDLIST * _ILCopyaPidl(LPITEMIDLIST * apidlsrc, UINT cidl); 190 LPITEMIDLIST * _ILCopyCidaToaPidl(LPITEMIDLIST* pidl, LPCIDA cida); 198 191 199 192 #endif -
trunk/src/shell32/shell32.def
r4087 r4121 1 ; $Id: shell32.def,v 1. 29 2000-08-24 12:01:09sandervl Exp $1 ; $Id: shell32.def,v 1.30 2000-08-30 13:50:56 sandervl Exp $ 2 2 3 3 ;Created by BLAST for IBM's compiler … … 79 79 SHCreateDefClassObject = _SHCreateDefClassObject@20 @70 80 80 Shell_GetImageList = _Shell_GetImageList@8 @71 81 Shell_GetCachedImageIndex = _Shell_GetCachedImageIndexA @12@7282 ;Shell_GetCachedImageIndexW = _Shell_GetCachedImageIndexW@1283 ;Shell_GetCachedImageIndexA = _Shell_GetCachedImageIndexA@1281 Shell_GetCachedImageIndex = _Shell_GetCachedImageIndexAW@12 @72 82 Shell_GetCachedImageIndexW = _Shell_GetCachedImageIndexW@12 83 Shell_GetCachedImageIndexA = _Shell_GetCachedImageIndexA@12 84 84 SHShellFolderView_Message = _SHShellFolderView_Message@12 @73 85 85 SHCreateStdEnumFmtEtc = _SHCreateStdEnumFmtEtc@12 @74 … … 94 94 CIDLData_CreateFromIDArray = _CIDLData_CreateFromIDArray@16 @83 95 95 ; SHIsBadInterfacePtr = _SHIsBadInterfacePtr@? @84 96 OpenRegStream = _ OpenRegStream@16@8596 OpenRegStream = _SHOpenRegStreamA@16 @85 97 97 SHRegisterDragDrop = _SHRegisterDragDrop@8 @86 98 98 SHRevokeDragDrop = _SHRevokeDragDrop@4 @87 … … 248 248 SHBrowseForFolderA = _SHBrowseForFolderA@4 @237 249 249 SHBrowseForFolderW = _SHBrowseForFolderW@4 @238 250 SHChangeNotify = _SHChangeNotify @16@239250 SHChangeNotify = _SHChangeNotifyAW@16 @239 251 251 SHEmptyRecycleBinA = _SHEmptyRecycleBinA@12 @240 252 252 SHEmptyRecycleBinW = _SHEmptyRecycleBinW@12 @241 -
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 $ */ 3 2 /* 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 16 4 */ 17 5 … … 19 7 #define __WINE_SHELL_MAIN_H 20 8 21 22 /*****************************************************************************23 * Includes *24 *****************************************************************************/25 26 #include "imagelist.h"27 9 #include "commctrl.h" 28 10 #include "shell.h" … … 35 17 #include "wine/obj_shelllink.h" 36 18 #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 47 22 /******************************************* 48 23 * global SHELL32.DLL variables 49 24 */ 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; 25 extern HMODULE huser32; 26 extern HINSTANCE shell32_hInstance; 27 extern LONG shell32_ObjCount; 28 extern HIMAGELIST ShellSmallIconList; 29 extern HIMAGELIST ShellBigIconList; 30 #ifndef __WIN32OS2__ 31 extern HDPA sic_hdpa; 32 #endif 56 33 57 34 /******************************************* 58 35 * pointer to functions dynamically loaded 59 36 */ 60 extern void (* WINAPIpDLLInitComctl)(LPVOID);61 extern INT (* WINAPIpImageList_AddIcon) (HIMAGELIST himl, HICON hIcon);62 extern INT (* WINAPIpImageList_ReplaceIcon) (HIMAGELIST, INT, HICON);63 extern HIMAGELIST (* WINAPI 64 extern BOOL (* WINAPIpImageList_Draw) (HIMAGELIST himl, int i, HDC hdcDest, int x, int y, UINT fStyle);65 extern HICON (* WINAPIpImageList_GetIcon) (HIMAGELIST, INT, UINT);66 extern INT (* WINAPIpImageList_GetImageCount)(HIMAGELIST);37 extern void (* WINAPI pDLLInitComctl)(LPVOID); 38 extern INT (* WINAPI pImageList_AddIcon) (HIMAGELIST himl, HICON hIcon); 39 extern INT (* WINAPI pImageList_ReplaceIcon) (HIMAGELIST, INT, HICON); 40 extern HIMAGELIST (* WINAPI pImageList_Create) (INT,INT,UINT,INT,INT); 41 extern BOOL (* WINAPI pImageList_Draw) (HIMAGELIST himl, int i, HDC hdcDest, int x, int y, UINT fStyle); 42 extern HICON (* WINAPI pImageList_GetIcon) (HIMAGELIST, INT, UINT); 43 extern INT (* WINAPI pImageList_GetImageCount)(HIMAGELIST); 67 44 extern COLORREF (* WINAPI pImageList_SetBkColor)(HIMAGELIST, COLORREF); 68 45 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 (* WINAPIpDPA_Search) (const HDPA, LPVOID, INT, PFNDPACOMPARE, LPARAM, UINT);78 extern LPVOID (* WINAPIpDPA_DeletePtr) (const HDPA hdpa, INT i);79 #define pDPA_GetPtrCount(hdpa) (*(INT*)(hdpa)) 46 extern LPVOID (* WINAPI pCOMCTL32_Alloc) (INT); 47 extern BOOL (* WINAPI pCOMCTL32_Free) (LPVOID); 48 49 extern HDPA (* WINAPI pDPA_Create) (INT); 50 extern INT (* WINAPI pDPA_InsertPtr) (const HDPA, INT, LPVOID); 51 extern BOOL (* WINAPI pDPA_Sort) (const HDPA, PFNDPACOMPARE, LPARAM); 52 extern LPVOID (* WINAPI pDPA_GetPtr) (const HDPA, INT); 53 extern BOOL (* WINAPI pDPA_Destroy) (const HDPA); 54 extern INT (* WINAPI pDPA_Search) (const HDPA, LPVOID, INT, PFNDPACOMPARE, LPARAM, UINT); 55 extern LPVOID (* WINAPI pDPA_DeletePtr) (const HDPA hdpa, INT i); 56 #define pDPA_GetPtrCount(hdpa) (*(INT*)(hdpa)) 80 57 81 58 extern HICON (* WINAPI pLookupIconIdFromDirectoryEx)(LPBYTE dir, BOOL bIcon, INT width, INT height, UINT cFlag); … … 83 60 84 61 /* 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 /* 63 extern HRESULT (* WINAPI pOleInitialize)(LPVOID reserved); 64 extern void (* WINAPI pOleUninitialize)(void); 65 extern HRESULT (* WINAPI pDoDragDrop)(IDataObject* pDataObject, IDropSource * pDropSource, DWORD dwOKEffect, DWORD * pdwEffect); 66 extern HRESULT (* WINAPI pRegisterDragDrop)(HWND hwnd, IDropTarget* pDropTarget); 67 extern HRESULT (* WINAPI pRevokeDragDrop)(HWND hwnd); 68 */ 95 69 BOOL WINAPI Shell_GetImageList(HIMAGELIST * lpBigList, HIMAGELIST * lpSmallList); 96 70 … … 112 86 BOOL HCR_GetFolderAttributes (REFIID riid, LPDWORD szDest); 113 87 114 DWORD 88 DWORD WINAPI ParseFieldA(LPCSTR src,DWORD field,LPSTR dst,DWORD len); 115 89 116 90 /**************************************************************************** 117 91 * Class constructors 118 92 */ 119 LPDATAOBJECT 120 LPENUMFORMATETC 121 122 LPCLASSFACTORY 123 IContextMenu * 124 IContextMenu * 125 LPSHELLVIEW 126 LPSHELLLINK 93 LPDATAOBJECT IDataObject_Constructor(HWND hwndOwner, LPITEMIDLIST myPidl, LPITEMIDLIST * apidl, UINT cidl); 94 LPENUMFORMATETC IEnumFORMATETC_Constructor(UINT, const FORMATETC []); 95 96 LPCLASSFACTORY IClassFactory_Constructor(REFCLSID); 97 IContextMenu * ISvItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl, LPCITEMIDLIST *aPidls, UINT uItemCount); 98 IContextMenu * ISvBgCm_Constructor(LPSHELLFOLDER pSFParent); 99 LPSHELLVIEW IShellView_Constructor(LPSHELLFOLDER); 100 LPSHELLLINK IShellLink_Constructor(BOOL); 127 101 128 102 IShellFolder * ISF_Desktop_Constructor(void); 129 103 130 104 /* kind of enumidlist */ 131 #define EIDL_DESK 132 #define EIDL_MYCOMP 133 #define EIDL_FILE 134 135 LPENUMIDLIST 136 137 LPEXTRACTICONA 138 HRESULT CreateStreamOnFile (LPCSTR pszFilename, IStream ** ppstm);105 #define EIDL_DESK 0 106 #define EIDL_MYCOMP 1 107 #define EIDL_FILE 2 108 109 LPENUMIDLIST IEnumIDList_Constructor(LPCSTR,DWORD,DWORD); 110 111 LPEXTRACTICONA IExtractIconA_Constructor(LPITEMIDLIST); 112 HRESULT CreateStreamOnFile (LPCSTR pszFilename, IStream ** ppstm); 139 113 140 114 /* fixme: rename the functions when the shell32.dll has it's own exports namespace */ … … 152 126 /* initialisation for FORMATETC */ 153 127 #define InitFormatEtc(fe, cf, med) \ 154 155 156 157 158 159 160 128 {\ 129 (fe).cfFormat=cf;\ 130 (fe).dwAspect=DVASPECT_CONTENT;\ 131 (fe).ptd=NULL;\ 132 (fe).tymed=med;\ 133 (fe).lindex=-1;\ 134 }; 161 135 162 136 #define KeyStateToDropEffect(kst)\ 163 164 165 137 (((kst) & MK_CONTROL) ?\ 138 (((kst) & MK_SHIFT) ? DROPEFFECT_LINK : DROPEFFECT_COPY):\ 139 DROPEFFECT_MOVE) 166 140 167 141 /* Systray */ 168 142 BOOL SYSTRAY_Init(void); 169 143 170 144 /* Clipboard */ 171 145 void InitShellOle(void); 172 146 void FreeShellOle(void); 173 147 BOOL 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__ 150 extern HRESULT (* WINAPI pOleInitialize)(LPVOID reserved); 151 extern void (* WINAPI pOleUninitialize)(void); 152 extern HRESULT (* WINAPI pRegisterDragDrop)(HWND hwnd, IDropTarget* pDropTarget); 153 extern HRESULT (* WINAPI pRevokeDragDrop)(HWND hwnd); 154 extern HRESULT (* WINAPI pDoDragDrop)(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*); 155 extern void (* WINAPI pReleaseStgMedium)(STGMEDIUM* pmedium); 156 extern HRESULT (* WINAPI pOleSetClipboard)(IDataObject* pDataObj); 157 extern HRESULT (* WINAPI pOleGetClipboard)(IDataObject** ppDataObj); 158 #else 159 HRESULT (* WINAPI pOleInitialize)(LPVOID reserved); 160 void (* WINAPI pOleUninitialize)(void); 161 HRESULT (* WINAPI pRegisterDragDrop)(HWND hwnd, IDropTarget* pDropTarget); 162 HRESULT (* WINAPI pRevokeDragDrop)(HWND hwnd); 163 HRESULT (* WINAPI pDoDragDrop)(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*); 164 void (* WINAPI pReleaseStgMedium)(STGMEDIUM* pmedium); 165 HRESULT (* WINAPI pOleSetClipboard)(IDataObject* pDataObj); 166 HRESULT (* WINAPI pOleGetClipboard)(IDataObject** ppDataObj); 167 #endif 168 186 169 HGLOBAL RenderHDROP(LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl); 187 170 HGLOBAL RenderSHELLIDLIST (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl); … … 200 183 201 184 #ifdef __WIN32OS2__ 185 #ifdef __cplusplus 186 extern "C" { 187 #endif 202 188 BOOL SHELL_OsIsUnicode(void); 189 190 #include <peexe.h> 191 PIMAGE_RESOURCE_DIRECTORY GetResDirEntryW(PIMAGE_RESOURCE_DIRECTORY resdirptr, 192 LPCWSTR name,DWORD root, 193 BOOL allowdefault); 194 195 #ifdef __cplusplus 196 } 197 #endif 203 198 #else 204 199 inline static BOOL SHELL_OsIsUnicode(void) 205 200 { 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); 208 203 } 209 204 #endif 210 211 #ifdef __cplusplus 212 } 213 #endif /* defined(__cplusplus) */ 214 215 #endif 205 206 #endif -
trunk/src/shell32/shellfolder.h
r4032 r4121 1 /* $Id: shellfolder.h,v 1.2 2000-08-30 13:50:58 sandervl Exp $ */ 1 2 /* 2 3 * defines helperfunctions to manipulate the contents of a IShellFolder -
trunk/src/shell32/shellpath.c
r4088 r4121 1 /* $Id: shellpath.c,v 1.1 2000-08-24 12:01:42 sandervl Exp $ */ 2 1 /* $Id: shellpath.c,v 1.2 2000-08-30 13:51:02 sandervl Exp $ */ 3 2 /* 4 * Win32 SHELL32 for OS/25 *6 * Copyright 1997 Marcus Meissner7 * Copyright 1999 Patrick Haller (haller@zebra.fh-weingarten.de)8 * Project Odin Software License can be found in LICENSE.TXT9 *10 3 * Path Functions 11 *12 * NOTE: SHGetSpecialFolderPathA: StartMenu changed in 'Start Menu'13 * Odin changes in #ifdef __WIN32OS2__ statements!14 4 * 15 5 * Many of this functions are in SHLWAPI.DLL also 16 6 * 17 * Corel WINE 20000324 level (without CRTDLL_* calls) 18 */ 19 20 21 /***************************************************************************** 22 * Includes * 23 *****************************************************************************/ 24 7 */ 8 #ifdef __WIN32OS2__ 9 #define ICOM_CINTERFACE 1 25 10 #include <odin.h> 26 #include <odinwrap.h> 27 #include <os2sel.h> 28 11 #endif 29 12 #include <string.h> 30 13 #include <ctype.h> 31 #include <wctype.h>32 #define HAVE_WCTYPE_H33 #include <odin.h>34 35 #define ICOM_CINTERFACE 136 #define CINTERFACE 137 38 14 #include "debugtools.h" 39 15 #include "winnls.h" 40 #include "winversion.h"41 16 #include "winreg.h" 42 #include "crtdll.h"43 17 44 18 #include "shlobj.h" 45 19 #include "shell32_main.h" 46 #include <shlwapi.h> 47 #include <wine/undocshell.h> 48 49 #include <heapstring.h> 50 #include <misc.h> 51 52 53 ODINDEBUGCHANNEL(SHELL32-SHELLPATH) 54 20 #include "windef.h" 21 #include "options.h" 22 #include "wine/undocshell.h" 23 #include "wine/unicode.h" 24 #include "shlwapi.h" 25 26 DEFAULT_DEBUG_CHANNEL(shell); 55 27 56 28 #define isSlash(x) ((x)=='\\' || (x)=='/') … … 509 481 return TRUE; 510 482 } 511 483 #ifdef __WIN32OS2__ 512 484 /************************************************************************* 513 485 * PathYetAnotherMakeUniqueNameA [SHELL32.75] … … 537 509 return PathYetAnotherMakeUniqueNameA(lpszBuffer, lpszPathName, lpszShortName,lpszLongName); 538 510 } 539 511 #endif 540 512 541 513 /* … … 554 526 555 527 /************************************************************************* 556 * PathCleanupSpecA [SHELL32.171]557 */558 DWORD WINAPI PathCleanupSpecA(LPSTR x, LPSTR y)559 {560 FIXME("(%p %s, %p %s) stub\n",x,debugstr_a(x),y,debugstr_a(y));561 return TRUE;562 }563 564 /*************************************************************************565 * PathCleanupSpecA [SHELL32]566 */567 DWORD WINAPI PathCleanupSpecW(LPWSTR x, LPWSTR y)568 {569 FIXME("(%p %s, %p %s) stub\n",x,debugstr_w(x),y,debugstr_w(y));570 return TRUE;571 }572 573 /*************************************************************************574 528 * PathCleanupSpecAW [SHELL32] 575 529 */ 576 530 DWORD WINAPI PathCleanupSpecAW (LPVOID x, LPVOID y) 577 531 { 578 if (VERSION_OsIsUnicode()) 579 return PathCleanupSpecW(x,y); 580 return PathCleanupSpecA(x,y); 532 FIXME("(%p, %p) stub\n",x,y); 533 return TRUE; 581 534 } 582 535 … … 674 627 FIXME("(%s, %p, 0x%04lx, 0x%04lx) stub\n", 675 628 debugstr_w(lpszPath), lpszBuff, dwBuffSize, dwFlags); 676 lstrcpyW(lpszBuff, lpszPath);629 strcpyW(lpszBuff, lpszPath); 677 630 return 0; 678 631 } … … 705 658 } 706 659 660 707 661 /************************************************************************* 708 662 * SHGetSpecialFolderPathA [SHELL32.175] … … 804 758 hRootKey = HKEY_CURRENT_USER; 805 759 strcpy(szValueName, "Programs"); 806 strcpy(szDefaultPath, "Start 760 strcpy(szDefaultPath, "StartMenu\\Programs"); 807 761 break; 808 762 … … 827 781 case CSIDL_STARTMENU: 828 782 hRootKey = HKEY_CURRENT_USER; 829 #ifdef __WIN32OS2__830 strcpy(szValueName, "Start Menu");831 strcpy(szDefaultPath, "Start Menu");832 #else833 783 strcpy(szValueName, "StartMenu"); 834 784 strcpy(szDefaultPath, "StartMenu"); 835 #endif836 785 break; 837 786 838 787 case CSIDL_COMMON_STARTMENU: 839 788 hRootKey = HKEY_LOCAL_MACHINE; 840 strcpy(szValueName, "Common StartMenu"); //TODO: Start Menu? 841 #ifdef __WIN32OS2__ 789 strcpy(szValueName, "Common StartMenu"); 842 790 strcpy(szDefaultPath, "StartMenu"); 843 #else844 strcpy(szDefaultPath, "Start Menu");845 #endif846 791 break; 847 792 -
trunk/src/shell32/shpolicy.h
r3243 r4121 1 /* $Id: shpolicy.h,v 1.3 2000-08-30 13:51:08 sandervl Exp $ */ 1 2 /* 2 3 * shpolicy.h - contains defs of policy data for SHRestricted -
trunk/src/shell32/shres.orc
r4087 r4121 1 /* $Id: shres.orc,v 1. 5 2000-08-24 12:01:09 sandervl Exp $ */1 /* $Id: shres.orc,v 1.6 2000-08-30 13:51:09 sandervl Exp $ */ 2 2 /* 3 3 * Top level resource file for Common Dialogs … … 34 34 END 35 35 36 /* 37 shellview background menu 38 */ 36 39 MENU_002 MENU DISCARDABLE 37 40 BEGIN 38 POPUP"" 39 BEGIN 40 POPUP "&View" 41 BEGIN 42 MENUITEM "Lar&ge Icons", FCIDM_SHVIEW_BIGICON 43 MENUITEM "S&mall Icons", FCIDM_SHVIEW_SMALLICON 44 MENUITEM "&List", FCIDM_SHVIEW_LISTVIEW 45 MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW 46 END 47 MENUITEM SEPARATOR 48 /* PATCH, the grayed items are unimplemented features */ 49 POPUP "Arrange &Icons" 50 BEGIN 51 MENUITEM "By &Name", 0x30 /* column 0 */ 52 MENUITEM "By &Type", 0x32 /* column 2 */ 53 MENUITEM "By &Size", 0x31 /* ... */ 54 MENUITEM "By &Date", 0x33 55 MENUITEM SEPARATOR 56 MENUITEM "&Auto Arrange", FCIDM_SHVIEW_AUTOARRANGE, GRAYED 57 END 58 MENUITEM "Line up Icons", FCIDM_SHVIEW_SNAPTOGRID, GRAYED 59 MENUITEM SEPARATOR 60 MENUITEM "Paste", FCIDM_SHVIEW_INSERT, GRAYED 61 MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK, GRAYED 62 POPUP "New" 63 BEGIN 64 MENUITEM "New &Folder", ID_NEWFOLDER 65 MENUITEM "New &Link", 0x7052, GRAYED 66 MENUITEM SEPARATOR 67 END 68 MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES, GRAYED 69 END 41 POPUP"" 42 BEGIN 43 POPUP "&View" 44 BEGIN 45 MENUITEM "Lar&ge Icons", FCIDM_SHVIEW_BIGICON 46 MENUITEM "S&mall Icons", FCIDM_SHVIEW_SMALLICON 47 MENUITEM "&List", FCIDM_SHVIEW_LISTVIEW 48 MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW 49 END 50 MENUITEM SEPARATOR 51 POPUP "Arrange &Icons" 52 BEGIN 53 MENUITEM "By &Name", 0x30 /* column 0 */ 54 MENUITEM "By &Type", 0x32 /* column 2 */ 55 MENUITEM "By &Size", 0x31 /* ... */ 56 MENUITEM "By &Date", 0x33 57 MENUITEM SEPARATOR 58 MENUITEM "&Auto Arrange", FCIDM_SHVIEW_AUTOARRANGE 59 END 60 MENUITEM "Line up Icons", FCIDM_SHVIEW_SNAPTOGRID 61 MENUITEM SEPARATOR 62 MENUITEM "Refresh", FCIDM_SHVIEW_REFRESH 63 MENUITEM SEPARATOR 64 MENUITEM "Paste", FCIDM_SHVIEW_INSERT 65 MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK 66 MENUITEM SEPARATOR 67 POPUP "New" 68 BEGIN 69 MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER 70 MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK 71 MENUITEM SEPARATOR 72 END 73 MENUITEM SEPARATOR 74 MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES 75 END 70 76 END 71 77 78 /* 79 shellview item menu 80 */ 72 81 MENU_SHV_FILE MENU DISCARDABLE 73 82 BEGIN 74 POPUP"" 75 BEGIN 76 MENUITEM "C&ut", FCIDM_SHVIEW_CUT 77 MENUITEM "&Copy", FCIDM_SHVIEW_COPY 78 MENUITEM SEPARATOR 79 MENUITEM "&Link", 0x7051 80 MENUITEM "&Delete", FCIDM_SHVIEW_DELETE 81 MENUITEM "&Rename", 0x7050 82 MENUITEM SEPARATOR 83 MENUITEM "&Properties", FCIDM_SHVIEW_PROPERTIES 84 END 83 POPUP"" 84 BEGIN 85 MENUITEM "E&xplore", FCIDM_SHVIEW_CUT 86 MENUITEM "&Open", FCIDM_SHVIEW_COPY 87 MENUITEM SEPARATOR 88 MENUITEM "C&ut", FCIDM_SHVIEW_CUT 89 MENUITEM "&Copy", FCIDM_SHVIEW_COPY 90 MENUITEM SEPARATOR 91 MENUITEM "&Create Link", FCIDM_SHVIEW_CREATELINK 92 MENUITEM "&Delete", FCIDM_SHVIEW_DELETE 93 MENUITEM "&Rename", FCIDM_SHVIEW_RENAME 94 MENUITEM SEPARATOR 95 MENUITEM "&Properties", FCIDM_SHVIEW_PROPERTIES 96 END 85 97 END 86 SHBRSFORFOLDER_MSGBOX DIALOG 15, 40, 128, 152 87 STYLE WS_THICKFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU 98 99 SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192 100 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU 88 101 CAPTION "Choose a Directory:" 89 102 FONT 8, "Helv" 90 103 { 91 DEFPUSHBUTTON "OK", 1, 4, 132, 50, 12 92 PUSHBUTTON "Cancel", 2, 58, 132, 50, 12 93 CONTROL "Tree1",99,"SysTreeView32", 94 TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | 95 WS_BORDER | WS_TABSTOP, 96 4, 4, 120, 120 104 DEFPUSHBUTTON "OK", 1, 80, 176, 50, 12, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP 105 PUSHBUTTON "Cancel", 2, 134, 176, 50, 12, WS_GROUP | WS_TABSTOP 106 LTEXT "", IDD_TITLE, 4, 4, 18, 12 107 LTEXT "", IDD_STATUS, 4, 25, 18, 12 108 CONTROL "Tree1",IDD_TREEVIEW,"SysTreeView32", 109 TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | 110 WS_BORDER | WS_TABSTOP, 111 4, 40, 180, 120 97 112 } 98 113 … … 118 133 IDS_OPEN "Open" 119 134 } 135 136 STRINGTABLE DISCARDABLE 137 { 138 IDS_CREATEFOLDER_DENIED "Can not create new Folder: Permission denied." 139 IDS_CREATEFOLDER_CAPTION "Error during creating a new folder" 140 IDS_DELETEFOLDER_TEXT "Are you sure you want to delete %1 and all it's subfolders?" 141 IDS_DELETEFOLDER_CAPTION "Confirm file delete" 142 } 143 144 shv_accel ACCELERATORS 145 BEGIN 146 VK_F5, FCIDM_SHVIEW_REFRESH, VIRTKEY 147 END 120 148 121 149 ///////////////////////////////////////////////////////////////////////////// -
trunk/src/shell32/shresdef.h
r4032 r4121 1 /* $Id: shresdef.h,v 1. 6 2000-08-18 02:01:27 phallerExp $ */1 /* $Id: shresdef.h,v 1.7 2000-08-30 13:51:09 sandervl Exp $ */ 2 2 3 3 /* … … 27 27 #define IDS_SHV_COLUMN4 10 28 28 #define IDS_SHV_COLUMN5 11 29 #define IDS_SHV_COLUMN6 12 30 #define IDS_SHV_COLUMN7 13 29 31 #define IDS_SHV_COLUMN3DV 12 30 32 #define IDS_SHV_COLUMN4DV 13 … … 47 49 #define IDS_SHV_INVALID_MOVE 31 48 50 51 #define IDS_CREATEFOLDER_DENIED 30 52 #define IDS_CREATEFOLDER_CAPTION 31 53 #define IDS_DELETEFOLDER_TEXT 32 54 #define IDS_DELETEFOLDER_CAPTION 33 55 49 56 #define ID_LISTVIEW 2000 50 57 #define ID_NEWFOLDER 0x7053 58 59 /* browse for folder dialog box */ 60 #define IDD_STATUS 97 61 #define IDD_TITLE 98 62 #define IDD_TREEVIEW 99 51 63 52 64 #define IDS_ABOUTBOX 101
Note:
See TracChangeset
for help on using the changeset viewer.