Changeset 1214 for trunk/src/shell32/sh.cpp
- Timestamp:
- Oct 9, 1999, 1:13:46 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/sh.cpp
r972 r1214 1 /* $Id: sh.cpp,v 1. 8 1999-09-18 15:57:52sandervl Exp $ */1 /* $Id: sh.cpp,v 1.9 1999-10-09 11:13:20 sandervl Exp $ */ 2 2 3 3 /* … … 15 15 #include <shellapi.h> 16 16 #include <winreg.h> 17 #include "shell32.h"18 19 17 #include <stdarg.h> 20 18 //#include <builtin.h> … … 23 21 #include <string.h> 24 22 23 #define ICOM_CINTERFACE 1 24 #include "shell32_main.h" 25 #include <win\shlobj.h> 25 26 #include <misc.h> 27 //#include <nameid.h> 28 #include <unicode.h> 26 29 27 30 … … 32 35 #define LPSHELLVIEWDATA LPVOID 33 36 #define LPUNKNOWN LPVOID 34 #define IDSTRUCT VOID37 //#define IDSTRUCT VOID 35 38 #define IDropTarget VOID 36 39 37 40 static LPUNKNOWN SHELL32_IExplorerInterface=0; 38 41 39 40 /*****************************************************************************41 * Name : DWORD WIN32API SHChangeNotifyRegister42 * Purpose :43 * Parameters:44 * Variables :45 * Result :46 * Remark : SHELL32.247 * Status : UNTESTED STUB48 *49 * Author : Patrick Haller [Tue, 1999/06/09 20:02]50 *51 * NOTES52 * Idlist is an array of structures and Count specifies how many items in the array53 * (usually just one I think).54 */55 56 DWORD WIN32API SHChangeNotifyRegister(HWND hwnd,57 LONG events1,58 LONG events2,59 DWORD msg,60 int count,61 IDSTRUCT *idlist)62 {63 dprintf(("SHELL32: SHChangeNotifyRegister(%08xh, %08xh,%08xh,%08xh,%08xh,%08xh) not implemented.\n",64 hwnd,65 events1,66 events2,67 msg,68 count,69 idlist));70 71 return 0;72 }73 74 75 /*****************************************************************************76 * Name : DWORD WIN32API SHChangeNotifyDeregister77 * Purpose :78 * Parameters:79 * Variables :80 * Result :81 * Remark : SHELL32.482 * Status : UNTESTED STUB83 *84 * Author : Patrick Haller [Tue, 1999/06/09 20:02]85 */86 87 DWORD WIN32API SHChangeNotifyDeregister(LONG x1)88 {89 dprintf(("SHELL32: SHChangeNotifyDeregister(%08xh) not implemented.\n",90 x1));91 92 return 0;93 }94 95 96 /*****************************************************************************97 * Name : void WIN32API SHGetSettings98 * Purpose :99 * Parameters:100 * Variables :101 * Result :102 * Remark : SHELL32.68103 * Status : UNTESTED STUB104 *105 * Author : Patrick Haller [Tue, 1999/06/09 20:02]106 *107 * NOTES108 * the registry path are for win98 (tested)109 * and possibly are the same in nt40110 */111 112 void WIN32API SHGetSettings(LPSHELLFLAGSTATE lpsfs,113 DWORD dwMask,114 DWORD dwx)115 {116 HKEY hKey;117 DWORD dwData;118 DWORD dwDataSize = sizeof (DWORD);119 120 dprintf(("SHELL32: SHGetSettings(%08xh, %08xh, %08xh)\n",121 lpsfs,122 dwMask,123 dwx));124 125 if (RegCreateKeyExA(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",126 0, 0, 0, KEY_ALL_ACCESS, 0, &hKey, 0))127 return;128 129 if ( (SSF_SHOWEXTENSIONS & dwMask) && !RegQueryValueExA(hKey, "HideFileExt", 0, 0, (LPBYTE)&dwData, &dwDataSize))130 lpsfs->fShowExtensions = ((dwData == 0) ? 0 : 1);131 132 if ( (SSF_SHOWINFOTIP & dwMask) && !RegQueryValueExA(hKey, "ShowInfoTip", 0, 0, (LPBYTE)&dwData, &dwDataSize))133 lpsfs->fShowInfoTip = ((dwData == 0) ? 0 : 1);134 135 if ( (SSF_DONTPRETTYPATH & dwMask) && !RegQueryValueExA(hKey, "DontPrettyPath", 0, 0, (LPBYTE)&dwData, &dwDataSize))136 lpsfs->fDontPrettyPath = ((dwData == 0) ? 0 : 1);137 138 if ( (SSF_HIDEICONS & dwMask) && !RegQueryValueExA(hKey, "HideIcons", 0, 0, (LPBYTE)&dwData, &dwDataSize))139 lpsfs->fHideIcons = ((dwData == 0) ? 0 : 1);140 141 if ( (SSF_MAPNETDRVBUTTON & dwMask) && !RegQueryValueExA(hKey, "MapNetDrvBtn", 0, 0, (LPBYTE)&dwData, &dwDataSize))142 lpsfs->fMapNetDrvBtn = ((dwData == 0) ? 0 : 1);143 144 if ( (SSF_SHOWATTRIBCOL & dwMask) && !RegQueryValueExA(hKey, "ShowAttribCol", 0, 0, (LPBYTE)&dwData, &dwDataSize))145 lpsfs->fShowAttribCol = ((dwData == 0) ? 0 : 1);146 147 if (((SSF_SHOWALLOBJECTS | SSF_SHOWSYSFILES) & dwMask) && !RegQueryValueExA(hKey, "Hidden", 0, 0, (LPBYTE)&dwData, &dwDataSize))148 { if (dwData == 0)149 { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 0;150 if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 0;151 }152 else if (dwData == 1)153 { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 1;154 if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 0;155 }156 else if (dwData == 2)157 { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 0;158 if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 1;159 }160 }161 162 RegCloseKey (hKey);163 }164 165 166 /*****************************************************************************167 * Name : int WIN32API SHShellFolderView_Message168 * Purpose :169 * Parameters:170 * Variables :171 * Result :172 * Remark : SHELL32.73173 * Status : UNTESTED STUB174 *175 * Author : Patrick Haller [Tue, 1999/06/09 20:02]176 *177 * SHShellFolderView_Message [SHELL32.73]178 *179 * PARAMETERS180 * hwndCabinet defines the explorer cabinet window that contains the181 * shellview you need to communicate with182 * uMsg identifying the SFVM enum to perform183 * lParam184 *185 * NOTES186 * Message SFVM_REARRANGE = 1187 * This message gets sent when a column gets clicked to instruct the188 * shell view to re-sort the item list. lParam identifies the column189 * that was clicked.190 */191 192 int WIN32API SHShellFolderView_Message(HWND hwndCabinet,193 UINT uMsg,194 LPARAM lParam)195 {196 dprintf(("SHELL32: SHShellFolderView_Message(%08xh,%08xh,%08xh) not implemented.\n",197 hwndCabinet,198 uMsg,199 lParam));200 201 return 0;202 }203 204 205 206 207 /*****************************************************************************208 * Name : DWORD WIN32API SHRegisterDragDrop209 * Purpose :210 * Parameters:211 * Variables :212 * Result :213 * Remark : SHELL32.86214 * Status : UNTESTED STUB215 *216 * Author : Patrick Haller [Tue, 1999/06/09 20:02]217 *218 * NOTES219 * exported by ordinal220 */221 222 DWORD WIN32API SHRegisterDragDrop(HWND hWnd,223 IDropTarget *pDropTarget)224 {225 dprintf(("SHELL32: SHRegisterDragDrop(%08xh,%08xh)\n",226 hWnd,227 pDropTarget));228 229 // return RegisterDragDrop(hWnd,230 // pDropTarget);231 return 0;232 }233 234 /*****************************************************************************235 * Name : DWORD WIN32API SHRevokeDragDrop236 * Purpose :237 * Parameters:238 * Variables :239 * Result :240 * Remark : SHELL32.87241 * Status : UNTESTED STUB242 *243 * Author : Patrick Haller [Tue, 1999/06/09 20:02]244 *245 * NOTES246 * exported by ordinal247 */248 249 DWORD WIN32API SHRevokeDragDrop(DWORD x)250 {251 dprintf(("SHELL32: SHRevokeDragDrop(%08xh) not implemented.\n",252 x));253 254 return 0;255 }256 257 258 /*****************************************************************************259 * Name : HRESULT SHWaitForFileToOpen260 * Purpose :261 * Parameters: DWORD x262 * DWORD y263 * DWORD z264 * Variables :265 * Result :266 * Remark : SHELL32.97267 * Status : UNTESTED STUB268 *269 * Author : Patrick Haller [Tue, 1999/06/09 20:02]270 *****************************************************************************/271 272 HRESULT WIN32API SHWaitForFileToOpen(DWORD u,273 DWORD v,274 DWORD w)275 {276 dprintf(("SHELL32: SHWaitForFileToOpen(%08xh,%08xh,%08xh) not implemented.\n",277 u,278 v,279 w));280 281 return 0;282 }283 284 285 /*****************************************************************************286 * Name : DWORD WIN32API SHRestricted287 * Purpose :288 * Parameters:289 * Variables :290 * Result :291 * Remark : SHELL32.100292 * Status : UNTESTED STUB293 *294 * Author : Patrick Haller [Tue, 1999/06/09 20:02]295 *296 * walks through policy table, queries <app> key, <type> value, returns297 * queried (DWORD) value.298 * {0x00001,Explorer,NoRun}299 * {0x00002,Explorer,NoClose}300 * {0x00004,Explorer,NoSaveSettings}301 * {0x00008,Explorer,NoFileMenu}302 * {0x00010,Explorer,NoSetFolders}303 * {0x00020,Explorer,NoSetTaskbar}304 * {0x00040,Explorer,NoDesktop}305 * {0x00080,Explorer,NoFind}306 * {0x00100,Explorer,NoDrives}307 * {0x00200,Explorer,NoDriveAutoRun}308 * {0x00400,Explorer,NoDriveTypeAutoRun}309 * {0x00800,Explorer,NoNetHood}310 * {0x01000,Explorer,NoStartBanner}311 * {0x02000,Explorer,RestrictRun}312 * {0x04000,Explorer,NoPrinterTabs}313 * {0x08000,Explorer,NoDeletePrinter}314 * {0x10000,Explorer,NoAddPrinter}315 * {0x20000,Explorer,NoStartMenuSubFolders}316 * {0x40000,Explorer,MyDocsOnNet}317 * {0x80000,WinOldApp,NoRealMode}318 *319 * NOTES320 * exported by ordinal321 */322 323 DWORD WIN32API SHRestricted (DWORD pol)324 {325 HKEY xhkey;326 327 dprintf(("SHELL32: SHRestricted(%08xh) not implemented.\n",328 pol));329 330 if (RegOpenKeyA(HKEY_CURRENT_USER,331 "Software\\Microsoft\\Windows\\CurrentVersion\\Policies",332 &xhkey))333 return 0;334 335 /* FIXME: do nothing for now, just return 0 (== "allowed") */336 RegCloseKey(xhkey);337 return 0;338 }339 340 341 /*****************************************************************************342 * Name : HRESULT SHFlushClipboard343 * Purpose :344 * Parameters:345 * Variables :346 * Result :347 * Remark : SHELL32.121348 * Status : UNTESTED STUB349 *350 * Author : Patrick Haller [Tue, 1999/06/09 20:02]351 *****************************************************************************/352 353 HRESULT WIN32API SHFlushClipboard(void)354 {355 dprintf(("SHELL32: SHFlushClipboard() not implemented.\n"));356 357 return 1;358 }359 360 361 /*****************************************************************************362 * Name : HRESULT SHFreeUnusedLibraries363 * Purpose :364 * Parameters:365 * Variables :366 * Result :367 * Remark : SHELL32.123368 * Status : UNTESTED STUB369 *370 * Author : Patrick Haller [Tue, 1999/06/09 20:02]371 *****************************************************************************/372 373 HRESULT WIN32API SHFreeUnusedLibraries (void)374 {375 dprintf(("SHELL32: SHFreeUnusedLibraries() not implemented.\n"));376 return TRUE;377 }378 379 380 /*****************************************************************************381 * Name : HRESULT SHWinHelp382 * Purpose :383 * Parameters:384 * Variables :385 * Result :386 * Remark : SHELL32.127387 * Status : UNTESTED STUB388 *389 * Author : Patrick Haller [Tue, 1999/06/09 20:02]390 *****************************************************************************/391 392 HRESULT WIN32API SHWinHelp (DWORD v,393 DWORD w,394 DWORD x,395 DWORD z)396 {397 dprintf(("SHELL32: SHWinHelp(%08xh,%08xh,%08xh,%08xh) not implemented.\n",398 v,399 w,400 x,401 z));402 403 return 0;404 }405 406 407 /*****************************************************************************408 * Name : HRESULT SHOutOfMemoryMessageBox409 * Purpose :410 * Parameters:411 * Variables :412 * Result :413 * Remark : SHELL32.126414 * Status : UNTESTED STUB415 *416 * Author : Patrick Haller [Tue, 1999/06/09 20:02]417 *****************************************************************************/418 419 HRESULT WIN32API SHOutOfMemoryMessageBox(DWORD u,420 DWORD v,421 DWORD w)422 {423 dprintf(("SHELL32: SHOutOfmemoryMessageBox(%08xh,%08xh,%08xh) not implemented.\n",424 u,425 v,426 w));427 428 return 0;429 }430 431 432 /*****************************************************************************433 * Name : HRESULT SHLoadOLE434 * Purpose :435 * Parameters:436 * Variables :437 * Result :438 * Remark : SHELL32.151439 * Status : UNTESTED STUB440 *441 * Author : Patrick Haller [Tue, 1999/06/09 20:02]442 *****************************************************************************/443 444 HRESULT WIN32API SHLoadOLE(DWORD u)445 {446 dprintf(("SHELL32: SHLoadOle(%08xh) not implemented.\n",447 u));448 449 return S_OK;450 }451 452 453 /*****************************************************************************454 * Name : HRESULT SHRunControlPanel455 * Purpose :456 * Parameters:457 * Variables :458 * Result :459 * Remark : SHELL32.161460 * Status : UNTESTED STUB461 *462 * Author : Patrick Haller [Tue, 1999/06/09 20:02]463 *****************************************************************************/464 465 HRESULT WIN32API SHRunControlPanel (DWORD x,466 DWORD z)467 {468 dprintf(("SHELL32: SHRunControlPanel(%08xh, %08xh) not implemented.\n",469 x,470 z));471 472 return 0;473 }474 475 476 /*****************************************************************************477 * Name : DWORD WIN32API SHCreateDirectory478 * Purpose :479 * Parameters:480 * Variables :481 * Result :482 * Remark : SHELL32.165483 * Status : UNTESTED STUB484 *485 * Author : Patrick Haller [Tue, 1999/06/09 20:02]486 *487 * NOTES488 * exported by ordinal489 * not sure about LPSECURITY_ATTRIBUTES490 */491 492 DWORD WIN32API SHCreateDirectory(LPSECURITY_ATTRIBUTES sec,493 LPCSTR path)494 {495 dprintf(("SHELL32: SHCreateDirectory(%08xh, %08xh)\n",496 sec,497 path));498 499 if (CreateDirectoryA(path,sec))500 return TRUE;501 502 /* SHChangeNotify(8,1,path,0); */503 return FALSE;504 505 // if (SHELL32_79(path,(LPVOID)x))506 // return 0;507 // FIXME("(%08lx,%s):stub.\n",x,path);508 // return 0;509 }510 511 512 /*****************************************************************************513 * Name : HRESULT SHValidateUNC514 * Purpose : validating a UNC path ? so the parameters are not correct !515 * Parameters: DWORD x516 * DWORD y517 * DWORD z518 * Variables :519 * Result :520 * Remark : SHELL32.173521 * Status : UNTESTED STUB522 *523 * Author : Patrick Haller [Tue, 1999/06/09 20:02]524 *****************************************************************************/525 526 HRESULT WIN32API SHValidateUNC (DWORD x,527 DWORD y,528 DWORD z)529 {530 dprintf(("SHELL32: SHValidateUnc(%08x,%08xh,%08xh) not implemented.\n",531 x,532 y,533 z));534 535 return 0;536 }537 538 539 /*****************************************************************************540 * Name : HRESULT SHCreateShellFolderViewEx541 * Purpose :542 * Parameters:543 * Variables :544 * Result :545 * Remark : SHELL32.174546 * Status : UNTESTED STUB547 *548 * Author : Patrick Haller [Tue, 1999/06/09 20:02]549 *****************************************************************************/550 551 552 HRESULT WIN32API SHCreateShellFolderViewEx(LPSHELLVIEWDATA psvcbi,553 LPVOID* ppv)554 {555 dprintf(("SHELL32: SHCreateShellFolderViewEx(%08xh,%08xh) not implemented.\n",556 psvcbi,557 ppv));558 559 return 0;560 }561 562 563 /*****************************************************************************564 * Name : HRESULT SHSetInstanceExplorer565 * Purpose :566 * Parameters:567 * Variables :568 * Result :569 * Remark : SHELL32.176570 * Status : UNTESTED STUB571 *572 * Author : Patrick Haller [Tue, 1999/06/09 20:02]573 *****************************************************************************/574 575 HRESULT WIN32API SHSetInstanceExplorer (LPUNKNOWN lpUnknown)576 {577 dprintf(("SHELL32: SHSetInstanceExplorer(%08xh)\n",578 lpUnknown));579 580 SHELL32_IExplorerInterface = lpUnknown;581 return (HRESULT) lpUnknown;582 }583 584 585 /*****************************************************************************586 * Name : DWORD WIN32API SHFree587 * Purpose :588 * Parameters:589 * Variables :590 * Result :591 * Remark : SHELL32.195592 * Status : UNTESTED STUB593 *594 * Author : Patrick Haller [Tue, 1999/06/09 20:02]595 *596 * NOTES597 * free_ptr() - frees memory using IMalloc598 * exported by ordinal599 */600 601 DWORD WIN32API SHFree(LPVOID x)602 {603 dprintf(("SHELL32: SHFree(%08xh)\n",604 x));605 606 // @@@PH what's that crap?607 // if (!HIWORD(x))608 // {609 // *(LPDWORD)0xdeaf0000 = 0;610 // }611 612 return HeapFree(GetProcessHeap(),0,x);613 }614 615 616 /*****************************************************************************617 * Name : LPVOID WIN32API SHAlloc618 * Purpose :619 * Parameters:620 * Variables :621 * Result :622 * Remark : SHELL32.196623 * Status : UNTESTED STUB624 *625 * Author : Patrick Haller [Tue, 1999/06/09 20:02]626 *627 * NOTES628 * void *task_alloc(DWORD len), uses SHMalloc allocator629 * exported by ordinal630 */631 632 LPVOID WIN32API SHAlloc(DWORD len)633 {634 dprintf(("SHELL32: SHAlloc(%08xh)\n",635 len));636 637 return (LPVOID)HeapAlloc(GetProcessHeap(),0,len);638 }639 640 641 /*****************************************************************************642 * Name : HRESULT SHAbortInvokeCommand643 * Purpose :644 * Parameters:645 * Variables :646 * Result :647 * Remark : SHELL32.198648 * Status : UNTESTED STUB649 *650 * Author : Patrick Haller [Tue, 1999/06/09 20:02]651 *****************************************************************************/652 653 HRESULT WIN32API SHAbortInvokeCommand(void)654 {655 dprintf(("SHELL32: SHAbortInvokeCommand() not implemented.\n"));656 657 return 1;658 }659 660 661 /*****************************************************************************662 * Name : VOID SHAddToRecentDocs663 * Purpose :664 * Parameters: UINT uFlags665 * LPCVOID pv666 * Variables :667 * Result :668 * Remark : SHELL32.234669 * Status : UNTESTED STUB670 *671 * Author : Patrick Haller [Tue, 1999/06/09 20:02]672 *****************************************************************************/673 674 VOID WIN32API SHAddToRecentDocs(UINT uFlags,675 LPCVOID pv)676 {677 dprintf(("SHELL32: SHAddToRecentDocs(%08xh,%08xh) not implemented.\n",678 uFlags,679 pv));680 }681 682 683 /*****************************************************************************684 * Name : DWORD SHAppBarMessage685 * Purpose : ... be the janitor686 * Parameters:687 * Variables :688 * Result :689 * Remark : SHELL32.235690 * Status : UNTESTED STUB UNKNOWN691 *692 * Author : Patrick Haller [Tue, 1998/06/15 03:00]693 *****************************************************************************/694 695 DWORD WIN32API SHAppBarMessage(LONG x1,696 LPVOID x2)697 {698 dprintf(("SHELL32: SHAppBarMessage(%08xh,%08xh) not implemented.\n",699 x1,700 x2));701 702 return 0;703 }704 42 705 43 … … 728 66 729 67 /***************************************************************************** 730 * Name : LPITEMIDLIST SHBrowseForFolderA731 * Purpose :732 * Parameters: LPBROWSEINFOA lpbi733 * Variables :734 * Result :735 * Remark : SHELL32.237736 * Status : UNTESTED STUB737 *738 * Author : Patrick Haller [Tue, 1999/06/09 20:02]739 *****************************************************************************/740 741 LPITEMIDLIST WIN32API SHBrowseForFolderA(LPBROWSEINFOA lpbi)742 {743 dprintf(("SHELL32: SHBrowseForFolderA(%08xh) not implemented.\n",744 lpbi));745 746 return(NULL);747 }748 749 750 /*****************************************************************************751 68 * Name : LPITEMIDLIST SHBrowseForFolderW 752 69 * Purpose : … … 766 83 767 84 return(NULL); 768 }769 770 771 /*****************************************************************************772 * Name : VOID SHChangeNotify773 * Purpose :774 * Parameters: LONG wEventId775 * UINT uFlags776 * LPCVOID dwItem1777 * LPCVOID dwItem2778 * Variables :779 * Result :780 * Remark : SHELL32.239781 * Status : UNTESTED STUB782 *783 * Author : Patrick Haller [Tue, 1999/06/09 20:02]784 *****************************************************************************/785 786 VOID WIN32API SHChangeNotify(LONG wEventId,787 UINT uFlags,788 LPCVOID dwItem1,789 LPCVOID dwItem2)790 {791 dprintf(("SHELL32: SHChangeNotify(%08xh,%08xh,%08xh,%08xh) not implemented.\n",792 wEventId,793 uFlags,794 dwItem1,795 dwItem2));796 797 85 } 798 86 … … 843 131 x2, 844 132 x3)); 845 846 return 0;847 }848 849 850 /*****************************************************************************851 * Name : HRESULT SHFileOperation852 * Purpose :853 * Parameters:854 * Variables :855 * Result :856 * Remark : SHELL32.242857 * Status : UNTESTED STUB858 *859 * Author : Patrick Haller [Tue, 1999/06/09 20:02]860 *****************************************************************************/861 862 DWORD WIN32API SHFileOperationAW(LPVOID lpFileOp)863 {864 dprintf(("SHELL32: SHFileOperationAW(%08xh) not implemented.\n",865 lpFileOp));866 867 // if OsIsUnicode()868 // SHFileOperationA(lpFileOp);869 // else870 // SHFileOperationW(lpFileOp);871 872 return 0;873 }874 875 876 /*****************************************************************************877 * Name : HRESULT SHFileOperationA878 * Purpose :879 * Parameters:880 * Variables :881 * Result :882 * Remark : SHELL32.243883 * Status : UNTESTED STUB884 *885 * Author : Patrick Haller [Tue, 1999/06/09 20:02]886 *****************************************************************************/887 888 DWORD WIN32API SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp)889 {890 dprintf(("SHELL32: SHFileOperationA(%08xh) not implemented.\n",891 lpFileOp));892 893 return 0;894 }895 896 897 /*****************************************************************************898 * Name : HRESULT SHFileOperationW899 * Purpose :900 * Parameters:901 * Variables :902 * Result :903 * Remark : SHELL32.244904 * Status : UNTESTED STUB905 *906 * Author : Patrick Haller [Tue, 1999/06/09 20:02]907 *****************************************************************************/908 909 DWORD WIN32API SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)910 {911 dprintf(("SHELL32: SHFileOperationW(%08xh) not implemented.\n",912 lpFileOp));913 133 914 134 return 0; … … 961 181 962 182 return 0; 963 }964 965 966 /*****************************************************************************967 * Name : DWORD SHGetDataFromIDListA968 * Purpose :969 * Parameters:970 * Variables :971 * Result :972 * Remark : SHELL32.247973 * Status : UNTESTED STUB UNKNOWN974 *975 * Author : Patrick Haller [Tue, 1998/06/15 03:00]976 *****************************************************************************/977 978 DWORD WIN32API SHGetDataFromIDListA(LPVOID x1,979 LPVOID x2,980 DWORD x3,981 LPVOID x4,982 DWORD x5)983 {984 dprintf(("SHELL32: SHGetDataFromIDListA(%08xh,%08xh,%08xh,%08xh,%08xh) not implemented.\n",985 x1,986 x2,987 x3,988 x4,989 x5));990 991 return 0;992 }993 994 995 /*****************************************************************************996 * Name : DWORD SHGetDataFromIDListW997 * Purpose :998 * Parameters:999 * Variables :1000 * Result :1001 * Remark : SHELL32.2481002 * Status : UNTESTED STUB UNKNOWN1003 *1004 * Author : Patrick Haller [Tue, 1998/06/15 03:00]1005 *****************************************************************************/1006 1007 DWORD WIN32API SHGetDataFromIDListW(LPVOID x1,1008 LPVOID x2,1009 DWORD x3,1010 LPVOID x4,1011 DWORD x5)1012 {1013 dprintf(("SHELL32: SHGetDataFromIDListW(%08xh,%08xh,%08xh,%08xh,%08xh) not implemented.\n",1014 x1,1015 x2,1016 x3,1017 x4,1018 x5));1019 1020 return 0;1021 }1022 1023 1024 /*****************************************************************************1025 * Name : HRESULT SHGetDesktopFolder1026 * Purpose :1027 * Parameters: LPSHELLFOLDER *ppshf1028 * Variables :1029 * Result :1030 * Remark : SHELL32.2521031 * Status : UNTESTED STUB1032 *1033 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1034 *****************************************************************************/1035 1036 HRESULT WIN32API SHGetDesktopFolder(LPSHELLFOLDER *ppshf)1037 {1038 dprintf(("SHELL32: SHGetDesktopFolder(%08xh) not implemented.\n",1039 ppshf));1040 1041 return(1);1042 }1043 1044 1045 1046 /*****************************************************************************1047 * Name : DWORD SHGetFileInfoA1048 * Purpose :1049 * Parameters: LPCSTR pszPath1050 * DWORD dwFileAttributes1051 * SHFILEINFOA *psfi1052 * UINT cbFileInfo1053 * UINT uFlags1054 * Variables :1055 * Result :1056 * Remark : SHELL32.253 .2541057 * Status : UNTESTED STUB1058 *1059 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1060 *****************************************************************************/1061 1062 DWORD WIN32API SHGetFileInfoA(LPCSTR pszPath,1063 DWORD dwFileAttributes,1064 SHFILEINFOA *psfi,1065 UINT cbFileInfo,1066 UINT uFlags)1067 {1068 dprintf(("SHELL32: SHGetFileInfoA (%s,%08xh,%08xh,%08xh,%08xh) not implemented.\n",1069 pszPath,1070 dwFileAttributes,1071 psfi,1072 cbFileInfo,1073 uFlags));1074 1075 return(0);1076 }1077 1078 1079 /*****************************************************************************1080 * Name : DWORD SHGetFileInfoW1081 * Purpose :1082 * Parameters: LPWSTR pszPath1083 * DWORD dwFileAttributes1084 * SHFILEINFOA *psfi1085 * UINT cbFileInfo1086 * UINT uFlags1087 * Variables :1088 * Result :1089 * Remark : SHELL32.2551090 * Status : UNTESTED STUB1091 *1092 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1093 *****************************************************************************/1094 1095 DWORD WIN32API SHGetFileInfoW(LPCWSTR pszPath,1096 DWORD dwFileAttributes,1097 SHFILEINFOW *psfi,1098 UINT cbFileInfo,1099 UINT uFlags)1100 {1101 char *astring = UnicodeToAsciiString((LPWSTR)pszPath);1102 1103 dprintf(("SHELL32: SHGetFileInfoW (%s,%08xh,%08xh,%08xh,%08xh) not implemented.\n",1104 astring,1105 dwFileAttributes,1106 psfi,1107 cbFileInfo,1108 uFlags));1109 1110 FreeAsciiString(astring);1111 return(0);1112 }1113 1114 1115 /*****************************************************************************1116 * Name : HRESULT SHGetInstanceExplorer1117 * Purpose :1118 * Parameters:1119 * Variables :1120 * Result :1121 * Remark : SHELL32.2561122 * Status : UNTESTED STUB1123 *1124 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1125 *****************************************************************************/1126 1127 HRESULT WIN32API SHGetInstanceExplorer (LPUNKNOWN * lpUnknown)1128 {1129 dprintf(("SHELL32: SHGetInstanceExplorer(%08xh) not implemented.\n",1130 lpUnknown));1131 1132 *lpUnknown = SHELL32_IExplorerInterface;1133 1134 if (!SHELL32_IExplorerInterface)1135 return E_FAIL;1136 1137 //@@@PH to do:1138 //SHELL32_IExplorerInterface->lpvtbl->fnAddRef(SHELL32_IExplorerInterface);1139 return NOERROR;1140 }1141 1142 1143 /*****************************************************************************1144 * Name : HRESULT SHGetMalloc1145 * Purpose :1146 * Parameters: LPMALLOC *ppMalloc1147 * Variables :1148 * Result :1149 * Remark : SHELL32.2571150 * Status : UNTESTED STUB1151 *1152 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1153 *****************************************************************************/1154 1155 HRESULT WIN32API SHGetMalloc(LPMALLOC *ppMalloc)1156 {1157 dprintf(("SHELL32: SHGetMalloc(%08xh) not implemented.\n",1158 ppMalloc));1159 1160 return(0);1161 183 } 1162 184 … … 1192 214 1193 215 /***************************************************************************** 1194 * Name : BOOL SHGetPathFromIDListA1195 * Purpose :1196 * Parameters: LPCITEMIDLIST pidl1197 * LPSTR pszPath1198 * Variables :1199 * Result :1200 * Remark : SHELL32.259 .2601201 * Status : UNTESTED STUB1202 *1203 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1204 *****************************************************************************/1205 1206 BOOL WIN32API SHGetPathFromIDListA(LPCITEMIDLIST pidl,1207 LPSTR pszPath)1208 {1209 dprintf(("SHELL32: SHGetPathFromIDListA(%08xh,%s) not implemented.\n",1210 pidl,1211 pszPath));1212 1213 return(FALSE);1214 }1215 1216 1217 /*****************************************************************************1218 * Name : BOOL SHGetPathFromIDListW1219 * Purpose :1220 * Parameters: LPCITEMIDLIST pidl1221 * LPSTR pszPath1222 * Variables :1223 * Result :1224 * Remark : SHELL32.2611225 * Status : UNTESTED STUB1226 *1227 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1228 *****************************************************************************/1229 1230 BOOL WIN32API SHGetPathFromIDListW(LPCITEMIDLIST pidl,1231 LPWSTR pszPath)1232 {1233 dprintf(("SHELL32: SHGetPathFromIDListW(%08xh,%08xh) not implemented.\n",1234 pidl,1235 pszPath));1236 1237 return(FALSE);1238 }1239 1240 1241 /*****************************************************************************1242 * Name : HRESULT SHGetSpecialFolderLocation1243 * Purpose :1244 * Parameters: HWND hwndOwner1245 * int nFolder1246 * LPITEMIDLIST *ppidl1247 * Variables :1248 * Result :1249 * Remark : SHELL32.2621250 * Status : UNTESTED STUB1251 *1252 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1253 *****************************************************************************/1254 1255 HRESULT WIN32API SHGetSpecialFolderLocation(HWND hwndOwner,1256 int nFolder,1257 LPITEMIDLIST * ppidl)1258 {1259 dprintf(("SHELL32: SHGetSpecialFolderLocation(%08xh,%08xh,%08xh) not implemented.\n",1260 hwndOwner,1261 nFolder,1262 ppidl));1263 1264 return(1);1265 }1266 1267 1268 /*****************************************************************************1269 * Name : DWORD SHHelpShortcuts_RunDLL1270 * Purpose :1271 * Parameters:1272 * Variables :1273 * Result :1274 * Remark : SHELL32.2631275 * Status : UNTESTED STUB1276 *1277 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1278 *****************************************************************************/1279 1280 DWORD WIN32API SHHelpShortcuts_RunDLL(DWORD x1,1281 DWORD x2,1282 DWORD x3,1283 DWORD x4)1284 {1285 dprintf(("SHELL32: SHHelpShortcuts_RunDLL(%08xh,%08xh,%08xh,%08xh) not implemented.\n",1286 x1,1287 x2,1288 x3,1289 x4));1290 1291 return(0);1292 }1293 1294 1295 /*****************************************************************************1296 216 * Name : DWORD SHHelpShortcuts_RunDLLA 1297 217 * Purpose : … … 1348 268 1349 269 /***************************************************************************** 1350 * Name : DWORD SHLoadInProc1351 * Purpose :1352 * Parameters:1353 * Variables :1354 * Result :1355 * Remark : SHELL32.2671356 * Status : UNTESTED STUB1357 *1358 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1359 *****************************************************************************/1360 1361 DWORD WIN32API SHLoadInProc(DWORD x1)1362 {1363 dprintf(("SHELL32: SHLoadInProc(%08xh) not implemented.\n",1364 x1));1365 1366 return(0);1367 }1368 1369 1370 /*****************************************************************************1371 270 * Name : DWORD SHQueryRecycleBinA 1372 271 * Purpose : … … 1431 330 1432 331 return(0); 1433 }1434 1435 1436 /*****************************************************************************1437 * Name : HRESULT SHRegCloseKey1438 * Purpose :1439 * Parameters:1440 * Variables :1441 * Result :1442 * Remark : SHELL32.5051443 * Status : UNTESTED STUB1444 *1445 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1446 *****************************************************************************/1447 1448 HRESULT WIN32API SHRegCloseKey (HKEY hkey)1449 {1450 dprintf(("SHELL32: SHRegCloseKey(%08xh)\n",1451 hkey));1452 1453 return RegCloseKey( hkey );1454 }1455 1456 1457 /*****************************************************************************1458 * Name : HRESULT SHRegOpenKeyA1459 * Purpose :1460 * Parameters:1461 * Variables :1462 * Result :1463 * Remark : SHELL32.5061464 * Status : UNTESTED STUB1465 *1466 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1467 *****************************************************************************/1468 1469 HRESULT WIN32API SHRegOpenKeyA(HKEY hKey,1470 LPSTR lpSubKey,1471 LPHKEY phkResult)1472 {1473 dprintf(("SHELL32: SHRegOpenKeyA(%08xh,%s,%08xh)\n",1474 hKey,1475 lpSubKey,1476 phkResult));1477 1478 return RegOpenKeyA(hKey,1479 lpSubKey,1480 phkResult);1481 }1482 1483 1484 /*****************************************************************************1485 * Name : HRESULT SHRegOpenKeyW1486 * Purpose :1487 * Parameters:1488 * Variables :1489 * Result :1490 * Remark : SHELL32.5071491 * Status : UNTESTED STUB1492 *1493 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1494 *****************************************************************************/1495 1496 HRESULT WIN32API SHRegOpenKeyW (HKEY hKey,1497 LPCWSTR lpszSubKey,1498 LPHKEY phkResult)1499 {1500 dprintf(("SHELL32: SHRegOpenKeyW(%08xh,%08xh,%08xh)\n",1501 hKey,1502 lpszSubKey,1503 phkResult));1504 1505 return RegOpenKeyW(hKey,1506 lpszSubKey,1507 phkResult);1508 }1509 1510 1511 /*****************************************************************************1512 * Name : HRESULT SHRegQueryValueA1513 * Purpose :1514 * Parameters:1515 * Variables :1516 * Result :1517 * Remark : SHELL32.5081518 * Status : UNTESTED STUB1519 *1520 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1521 *****************************************************************************/1522 1523 HRESULT WIN32API SHRegQueryValueA(HKEY hKey,1524 LPSTR lpszSubKey,1525 LPSTR lpszData,1526 LPLONG lpcbData)1527 {1528 dprintf(("SHELL32: SHRegQueryValueW(%08xh,%s,%08xh,%08xh)\n",1529 hKey,1530 lpszSubKey,1531 lpszData,1532 lpcbData));1533 1534 return (HRESULT)RegQueryValueA(hKey,1535 lpszSubKey,1536 lpszData,1537 lpcbData);1538 }1539 1540 1541 /*****************************************************************************1542 * Name : HRESULT SHRegQueryValueExA1543 * Purpose :1544 * Parameters:1545 * Variables :1546 * Result :1547 * Remark : SHELL32.5091548 * Status : UNTESTED STUB1549 *1550 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1551 *****************************************************************************/1552 1553 HRESULT WIN32API SHRegQueryValueExA(DWORD u,1554 LPSTR v,1555 LPDWORD w,1556 LPDWORD x,1557 LPBYTE y,1558 LPDWORD z)1559 {1560 dprintf(("SHELL32: SHRegQueryValueExA(%08xh,%s,%08xh,%08xh,%08xh,%08xh)\n",1561 u,1562 v,1563 w,1564 x,1565 y,1566 z));1567 1568 return (HRESULT)RegQueryValueExA(u,1569 v,1570 w,1571 x,1572 y,1573 z);1574 }1575 1576 1577 /*****************************************************************************1578 * Name : HRESULT SHRegQueryValueExW1579 * Purpose :1580 * Parameters:1581 * Variables :1582 * Result :1583 * Remark : SHELL32.5101584 * Status : UNTESTED STUB1585 *1586 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1587 *****************************************************************************/1588 1589 HRESULT WIN32API SHRegQueryValueExW(DWORD u,1590 LPWSTR v,1591 LPDWORD w,1592 LPDWORD x,1593 LPBYTE y,1594 LPDWORD z)1595 {1596 dprintf(("SHELL32: SHRegQueryValueExW(%08xh,%08xh,%08xh,%08xh,%08xh,%08xh)\n",1597 u,1598 v,1599 w,1600 x,1601 y,1602 z));1603 1604 return (HRESULT)RegQueryValueExW(u,1605 v,1606 w,1607 x,1608 y,1609 z);1610 }1611 1612 1613 /*****************************************************************************1614 * Name : HRESULT SHRegQueryValueW1615 * Purpose :1616 * Parameters:1617 * Variables :1618 * Result :1619 * Remark : SHELL32.5111620 * Status : UNTESTED STUB1621 *1622 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1623 *****************************************************************************/1624 1625 HRESULT WIN32API SHRegQueryValueW(HKEY hKey,1626 LPWSTR lpszSubKey,1627 LPWSTR lpszData,1628 LPLONG lpcbData)1629 {1630 dprintf(("SHELL32: SHRegQueryValueW(%08xh,%08xh,%08xh,%08xh)\n",1631 hKey,1632 lpszSubKey,1633 lpszData,1634 lpcbData));1635 1636 return (HRESULT)RegQueryValueW(hKey,1637 lpszSubKey,1638 lpszData,1639 lpcbData);1640 332 } 1641 333 … … 1687 379 lpszKey); 1688 380 } 1689 1690 1691 /*****************************************************************************1692 * Name : HGLOBAL SHAllocShared1693 * Purpose : allocate shared memory ?1694 * Parameters:1695 * Variables :1696 * Result :1697 * Remark : SHELL32.5201698 * Status : UNTESTED STUB1699 *1700 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1701 *1702 * NOTES1703 * parameter1 is return value from HeapAlloc1704 * parameter2 is equal to the size allocated with HeapAlloc1705 * parameter3 is return value from GetCurrentProcessId1706 *1707 * the return value is posted as lParam with 0x402 (WM_USER+2) to somewhere1708 * WM_USER+2 could be the undocumented CWM_SETPATH1709 * the allocated memory contains a pidl1710 */1711 1712 HGLOBAL WIN32API SHAllocShared(LPVOID psrc,1713 DWORD size,1714 DWORD procID)1715 {1716 HGLOBAL hmem;1717 LPVOID pmem;1718 1719 dprintf(("SHELL32: SHAllocShared(%08xh,%08xh,%08xh)\n",1720 psrc,1721 size,1722 procID));1723 1724 hmem = GlobalAlloc(GMEM_FIXED,1725 size);1726 if (!hmem)1727 return 0;1728 1729 pmem = GlobalLock (hmem);1730 if (! pmem)1731 return 0;1732 1733 memcpy (pmem, psrc, size);1734 GlobalUnlock(hmem);1735 return hmem;1736 }1737 1738 1739 /*****************************************************************************1740 * Name : LPVOID SHLockShared1741 * Purpose :1742 * Parameters:1743 * Variables :1744 * Result :1745 * Remark : SHELL32.5211746 * Status : UNTESTED STUB1747 *1748 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1749 *1750 * NOTES1751 * parameter1 is return value from SHAllocShared1752 * parameter2 is return value from GetCurrentProcessId1753 * the receiver of (WM_USER+2) trys to lock the HANDLE (?)1754 * the returnvalue seems to be a memoryadress1755 */1756 LPVOID WIN32API SHLockShared(HANDLE hmem,1757 DWORD procID)1758 {1759 dprintf(("SHELL32: SHLockShared(%08xh,%08xh).\n",1760 hmem,1761 procID));1762 1763 return GlobalLock(hmem);1764 }1765 1766 1767 /*****************************************************************************1768 * Name : LPVOID SHUnlockShared1769 * Purpose :1770 * Parameters:1771 * Variables :1772 * Result :1773 * Remark : SHELL32.5221774 * Status : UNTESTED STUB1775 *1776 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1777 *1778 * NOTES1779 * parameter1 is return value from SHLockShared1780 */1781 1782 BOOL WIN32API SHUnlockShared(HANDLE pmem)1783 {1784 dprintf(("SHELL32: SHUnlockShared(%08xh)\n",1785 pmem));1786 1787 return GlobalUnlock(pmem);1788 }1789 1790 1791 /*****************************************************************************1792 * Name : LPVOID SHFreeShared1793 * Purpose :1794 * Parameters:1795 * Variables :1796 * Result :1797 * Remark : SHELL32.5231798 * Status : UNTESTED STUB1799 *1800 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1801 *1802 * NOTES1803 * parameter1 is return value from SHAllocShared1804 * parameter2 is return value from GetCurrentProcessId1805 */1806 1807 HANDLE WIN32API SHFreeShared(HANDLE hmem,1808 DWORD procID)1809 {1810 dprintf(("SHELL32: SHFreeShared(%08xh,%08xh)\n",1811 hmem,1812 procID));1813 1814 return GlobalFree(hmem);1815 }1816 1817 1818 /*****************************************************************************1819 * Name : DWORD WIN32API NTSHChangeNotifyRegister1820 * Purpose :1821 * Parameters:1822 * Variables :1823 * Result :1824 * Remark : SHELL32.6401825 * Status : UNTESTED STUB1826 *1827 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1828 *1829 * NOTES1830 * Idlist is an array of structures and Count specifies how many items in the array1831 * (usually just one I think).1832 */1833 1834 DWORD WIN32API NTSHChangeNotifyRegister(HWND hwnd,1835 LONG events1,1836 LONG events2,1837 DWORD msg,1838 int count,1839 IDSTRUCT *idlist)1840 {1841 dprintf(("SHELL32: NTSHChangeNotifyRegister(%08xh, %08xh,%08xh,%08xh,%08xh,%08xh) not implemented.\n",1842 hwnd,1843 events1,1844 events2,1845 msg,1846 count,1847 idlist));1848 1849 return SHChangeNotifyRegister(hwnd,1850 events1,1851 events2,1852 msg,1853 count,1854 idlist);1855 }1856 1857 1858 /*****************************************************************************1859 * Name : DWORD WIN32API NTSHChangeNotifyDeregister1860 * Purpose :1861 * Parameters:1862 * Variables :1863 * Result :1864 * Remark : SHELL32.6411865 * Status : UNTESTED STUB1866 *1867 * Author : Patrick Haller [Tue, 1999/06/09 20:02]1868 */1869 DWORD WIN32API NTSHChangeNotifyDeregister(LONG x1)1870 {1871 dprintf(("SHELL32: NTSHChangeNotifyDeregister(%08xh) not implemented.\n",1872 x1));1873 1874 return SHChangeNotifyDeregister(x1);1875 }1876
Note:
See TracChangeset
for help on using the changeset viewer.