Changeset 183 for trunk/src/shell32/sh.cpp
- Timestamp:
- Jun 24, 1999, 9:27:49 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/sh.cpp
r177 r183 1 /* $Id: sh.cpp,v 1. 3 1999-06-24 09:02:08phaller Exp $ */1 /* $Id: sh.cpp,v 1.4 1999-06-24 19:27:49 phaller Exp $ */ 2 2 3 3 /* … … 15 15 #include <shellapi.h> 16 16 #include <winreg.h> 17 //#include <shlobj.h> @@@PH shlobj is yet to be ported 17 18 #include "shell32.h" 18 19 … … 32 33 *****************************************************************************/ 33 34 34 35 /***************************************************************************** 36 * Name : HRESULT SHGetMalloc 37 * Purpose : 38 * Parameters: LPMALLOC *ppMalloc 39 * Variables : 40 * Result : 41 * Remark : 42 * Status : UNTESTED STUB 43 * 44 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 45 *****************************************************************************/ 46 47 HRESULT WIN32API SHGetMalloc(LPMALLOC *ppMalloc) 48 { 49 dprintf(("SHELL32: SHGetMalloc(%08xh) not implemented.\n", 50 ppMalloc)); 51 52 return(0); 53 } 35 #define LPSHELLVIEWDATA LPVOID 36 #define LPUNKNOWN LPVOID 37 #define IDSTRUCT VOID 38 #define LPSHELLFLAGSTATE LPVOID 39 #define IDropTarget VOID 40 41 static LPUNKNOWN SHELL32_IExplorerInterface=0; 42 43 44 /***************************************************************************** 45 * Name : DWORD WIN32API SHChangeNotifyRegister 46 * Purpose : 47 * Parameters: 48 * Variables : 49 * Result : 50 * Remark : SHELL32.2 51 * Status : UNTESTED STUB 52 * 53 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 54 * 55 * NOTES 56 * Idlist is an array of structures and Count specifies how many items in the array 57 * (usually just one I think). 58 */ 59 60 DWORD WIN32API SHChangeNotifyRegister(HWND hwnd, 61 LONG events1, 62 LONG events2, 63 DWORD msg, 64 int count, 65 IDSTRUCT *idlist) 66 { 67 dprintf(("SHELL32: SHChangeNotifyRegister(%08xh, %08xh,%08xh,%08xh,%08xh,%08xh) not implemented.\n", 68 hwnd, 69 events1, 70 events2, 71 msg, 72 count, 73 idlist)); 74 75 return 0; 76 } 77 78 79 /***************************************************************************** 80 * Name : DWORD WIN32API SHChangeNotifyDeregister 81 * Purpose : 82 * Parameters: 83 * Variables : 84 * Result : 85 * Remark : SHELL32.4 86 * Status : UNTESTED STUB 87 * 88 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 89 */ 90 91 DWORD WIN32API SHChangeNotifyDeregister(LONG x1) 92 { 93 dprintf(("SHELL32: SHChangeNotifyDeregister(%08xh) not implemented.\n", 94 x1)); 95 96 return 0; 97 } 98 99 100 /***************************************************************************** 101 * Name : void WIN32API SHGetSettings 102 * Purpose : 103 * Parameters: 104 * Variables : 105 * Result : 106 * Remark : SHELL32.68 107 * Status : UNTESTED STUB 108 * 109 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 110 * 111 * NOTES 112 * the registry path are for win98 (tested) 113 * and possibly are the same in nt40 114 */ 115 116 void WIN32API SHGetSettings(LPSHELLFLAGSTATE lpsfs, 117 DWORD dwMask, 118 DWORD dwx) 119 { 120 HKEY hKey; 121 DWORD dwData; 122 DWORD dwDataSize = sizeof (DWORD); 123 124 dprintf(("SHELL32: SHGetSettings(%08xh, %08xh, %08xh)\n", 125 lpsfs, 126 dwMask, 127 dwx)); 128 129 if (RegCreateKeyExA(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", 130 0, 0, 0, KEY_ALL_ACCESS, 0, &hKey, 0)) 131 return; 132 133 //@@@PH: todo 134 #if 0 135 if ( (SSF_SHOWEXTENSIONS & dwMask) && !RegQueryValueExA(hKey, "HideFileExt", 0, 0, (LPBYTE)&dwData, &dwDataSize)) 136 lpsfs->fShowExtensions = ((dwData == 0) ? 0 : 1); 137 138 if ( (SSF_SHOWINFOTIP & dwMask) && !RegQueryValueExA(hKey, "ShowInfoTip", 0, 0, (LPBYTE)&dwData, &dwDataSize)) 139 lpsfs->fShowInfoTip = ((dwData == 0) ? 0 : 1); 140 141 if ( (SSF_DONTPRETTYPATH & dwMask) && !RegQueryValueExA(hKey, "DontPrettyPath", 0, 0, (LPBYTE)&dwData, &dwDataSize)) 142 lpsfs->fDontPrettyPath = ((dwData == 0) ? 0 : 1); 143 144 if ( (SSF_HIDEICONS & dwMask) && !RegQueryValueExA(hKey, "HideIcons", 0, 0, (LPBYTE)&dwData, &dwDataSize)) 145 lpsfs->fHideIcons = ((dwData == 0) ? 0 : 1); 146 147 if ( (SSF_MAPNETDRVBUTTON & dwMask) && !RegQueryValueExA(hKey, "MapNetDrvBtn", 0, 0, (LPBYTE)&dwData, &dwDataSize)) 148 lpsfs->fMapNetDrvBtn = ((dwData == 0) ? 0 : 1); 149 150 if ( (SSF_SHOWATTRIBCOL & dwMask) && !RegQueryValueExA(hKey, "ShowAttribCol", 0, 0, (LPBYTE)&dwData, &dwDataSize)) 151 lpsfs->fShowAttribCol = ((dwData == 0) ? 0 : 1); 152 153 if (((SSF_SHOWALLOBJECTS | SSF_SHOWSYSFILES) & dwMask) && !RegQueryValueExA(hKey, "Hidden", 0, 0, (LPBYTE)&dwData, &dwDataSize)) 154 { if (dwData == 0) 155 { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 0; 156 if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 0; 157 } 158 else if (dwData == 1) 159 { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 1; 160 if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 0; 161 } 162 else if (dwData == 2) 163 { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 0; 164 if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 1; 165 } 166 } 167 #endif 168 169 RegCloseKey (hKey); 170 } 171 172 173 /***************************************************************************** 174 * Name : int WIN32API SHShellFolderView_Message 175 * Purpose : 176 * Parameters: 177 * Variables : 178 * Result : 179 * Remark : SHELL32.73 180 * Status : UNTESTED STUB 181 * 182 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 183 * 184 * SHShellFolderView_Message [SHELL32.73] 185 * 186 * PARAMETERS 187 * hwndCabinet defines the explorer cabinet window that contains the 188 * shellview you need to communicate with 189 * uMsg identifying the SFVM enum to perform 190 * lParam 191 * 192 * NOTES 193 * Message SFVM_REARRANGE = 1 194 * This message gets sent when a column gets clicked to instruct the 195 * shell view to re-sort the item list. lParam identifies the column 196 * that was clicked. 197 */ 198 199 int WIN32API SHShellFolderView_Message(HWND hwndCabinet, 200 UINT uMsg, 201 LPARAM lParam) 202 { 203 dprintf(("SHELL32: SHShellFolderView_Message(%08xh,%08xh,%08xh) not implemented.\n", 204 hwndCabinet, 205 uMsg, 206 lParam)); 207 208 return 0; 209 } 210 211 212 213 214 /***************************************************************************** 215 * Name : DWORD WIN32API SHRegisterDragDrop 216 * Purpose : 217 * Parameters: 218 * Variables : 219 * Result : 220 * Remark : SHELL32.86 221 * Status : UNTESTED STUB 222 * 223 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 224 * 225 * NOTES 226 * exported by ordinal 227 */ 228 229 DWORD WIN32API SHRegisterDragDrop(HWND hWnd, 230 IDropTarget *pDropTarget) 231 { 232 dprintf(("SHELL32: SHRegisterDragDrop(%08xh,%08xh)\n", 233 hWnd, 234 pDropTarget)); 235 236 // return RegisterDragDrop(hWnd, 237 // pDropTarget); 238 return 0; 239 } 240 241 /***************************************************************************** 242 * Name : DWORD WIN32API SHRevokeDragDrop 243 * Purpose : 244 * Parameters: 245 * Variables : 246 * Result : 247 * Remark : SHELL32.87 248 * Status : UNTESTED STUB 249 * 250 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 251 * 252 * NOTES 253 * exported by ordinal 254 */ 255 256 DWORD WIN32API SHRevokeDragDrop(DWORD x) 257 { 258 dprintf(("SHELL32: SHRevokeDragDrop(%08xh) not implemented.\n", 259 x)); 260 261 return 0; 262 } 263 264 265 /***************************************************************************** 266 * Name : HRESULT SHWaitForFileToOpen 267 * Purpose : 268 * Parameters: DWORD x 269 * DWORD y 270 * DWORD z 271 * Variables : 272 * Result : 273 * Remark : SHELL32.97 274 * Status : UNTESTED STUB 275 * 276 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 277 *****************************************************************************/ 278 279 HRESULT WIN32API SHWaitForFileToOpen(DWORD u, 280 DWORD v, 281 DWORD w) 282 { 283 dprintf(("SHELL32: SHWaitForFileToOpen(%08xh,%08xh,%08xh) not implemented.\n", 284 u, 285 v, 286 w)); 287 288 return 0; 289 } 290 291 292 /***************************************************************************** 293 * Name : DWORD WIN32API SHRestricted 294 * Purpose : 295 * Parameters: 296 * Variables : 297 * Result : 298 * Remark : SHELL32.100 299 * Status : UNTESTED STUB 300 * 301 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 302 * 303 * walks through policy table, queries <app> key, <type> value, returns 304 * queried (DWORD) value. 305 * {0x00001,Explorer,NoRun} 306 * {0x00002,Explorer,NoClose} 307 * {0x00004,Explorer,NoSaveSettings} 308 * {0x00008,Explorer,NoFileMenu} 309 * {0x00010,Explorer,NoSetFolders} 310 * {0x00020,Explorer,NoSetTaskbar} 311 * {0x00040,Explorer,NoDesktop} 312 * {0x00080,Explorer,NoFind} 313 * {0x00100,Explorer,NoDrives} 314 * {0x00200,Explorer,NoDriveAutoRun} 315 * {0x00400,Explorer,NoDriveTypeAutoRun} 316 * {0x00800,Explorer,NoNetHood} 317 * {0x01000,Explorer,NoStartBanner} 318 * {0x02000,Explorer,RestrictRun} 319 * {0x04000,Explorer,NoPrinterTabs} 320 * {0x08000,Explorer,NoDeletePrinter} 321 * {0x10000,Explorer,NoAddPrinter} 322 * {0x20000,Explorer,NoStartMenuSubFolders} 323 * {0x40000,Explorer,MyDocsOnNet} 324 * {0x80000,WinOldApp,NoRealMode} 325 * 326 * NOTES 327 * exported by ordinal 328 */ 329 330 DWORD WIN32API SHRestricted (DWORD pol) 331 { 332 HKEY xhkey; 333 334 dprintf(("SHELL32: SHRestricted(%08xh) not implemented.\n", 335 pol)); 336 337 if (RegOpenKeyA(HKEY_CURRENT_USER, 338 "Software\\Microsoft\\Windows\\CurrentVersion\\Policies", 339 &xhkey)) 340 return 0; 341 342 /* FIXME: do nothing for now, just return 0 (== "allowed") */ 343 RegCloseKey(xhkey); 344 return 0; 345 } 346 347 348 /***************************************************************************** 349 * Name : HRESULT SHFlushClipboard 350 * Purpose : 351 * Parameters: 352 * Variables : 353 * Result : 354 * Remark : SHELL32.121 355 * Status : UNTESTED STUB 356 * 357 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 358 *****************************************************************************/ 359 360 HRESULT WIN32API SHFlushClipboard(void) 361 { 362 dprintf(("SHELL32: SHFlushClipboard() not implemented.\n")); 363 364 return 1; 365 } 366 367 368 /***************************************************************************** 369 * Name : HRESULT SHFreeUnusedLibraries 370 * Purpose : 371 * Parameters: 372 * Variables : 373 * Result : 374 * Remark : SHELL32.123 375 * Status : UNTESTED STUB 376 * 377 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 378 *****************************************************************************/ 379 380 HRESULT WIN32API SHFreeUnusedLibraries (void) 381 { 382 dprintf(("SHELL32: SHFreeUnusedLibraries() not implemented.\n")); 383 return TRUE; 384 } 385 386 387 /***************************************************************************** 388 * Name : HRESULT SHWinHelp 389 * Purpose : 390 * Parameters: 391 * Variables : 392 * Result : 393 * Remark : SHELL32.127 394 * Status : UNTESTED STUB 395 * 396 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 397 *****************************************************************************/ 398 399 HRESULT WIN32API SHWinHelp (DWORD v, 400 DWORD w, 401 DWORD x, 402 DWORD z) 403 { 404 dprintf(("SHELL32: SHWinHelp(%08xh,%08xh,%08xh,%08xh) not implemented.\n", 405 v, 406 w, 407 x, 408 z)); 409 410 return 0; 411 } 412 413 414 /***************************************************************************** 415 * Name : HRESULT SHOutOfMemoryMessageBox 416 * Purpose : 417 * Parameters: 418 * Variables : 419 * Result : 420 * Remark : SHELL32.126 421 * Status : UNTESTED STUB 422 * 423 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 424 *****************************************************************************/ 425 426 HRESULT WIN32API SHOutOfMemoryMessageBox(DWORD u, 427 DWORD v, 428 DWORD w) 429 { 430 dprintf(("SHELL32: SHOutOfmemoryMessageBox(%08xh,%08xh,%08xh) not implemented.\n", 431 u, 432 v, 433 w)); 434 435 return 0; 436 } 437 438 439 /***************************************************************************** 440 * Name : HRESULT SHLoadOLE 441 * Purpose : 442 * Parameters: 443 * Variables : 444 * Result : 445 * Remark : SHELL32.151 446 * Status : UNTESTED STUB 447 * 448 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 449 *****************************************************************************/ 450 451 HRESULT WIN32API SHLoadOLE(DWORD u) 452 { 453 dprintf(("SHELL32: SHLoadOle(%08xh) not implemented.\n", 454 u)); 455 456 return S_OK; 457 } 458 459 460 /***************************************************************************** 461 * Name : HRESULT SHRunControlPanel 462 * Purpose : 463 * Parameters: 464 * Variables : 465 * Result : 466 * Remark : SHELL32.161 467 * Status : UNTESTED STUB 468 * 469 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 470 *****************************************************************************/ 471 472 HRESULT WIN32API SHRunControlPanel (DWORD x, 473 DWORD z) 474 { 475 dprintf(("SHELL32: SHRunControlPanel(%08xh, %08xh) not implemented.\n", 476 x, 477 z)); 478 479 return 0; 480 } 481 482 483 /***************************************************************************** 484 * Name : DWORD WIN32API SHCreateDirectory 485 * Purpose : 486 * Parameters: 487 * Variables : 488 * Result : 489 * Remark : SHELL32.165 490 * Status : UNTESTED STUB 491 * 492 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 493 * 494 * NOTES 495 * exported by ordinal 496 * not sure about LPSECURITY_ATTRIBUTES 497 */ 498 499 DWORD WIN32API SHCreateDirectory(LPSECURITY_ATTRIBUTES sec, 500 LPCSTR path) 501 { 502 dprintf(("SHELL32: SHCreateDirectory(%08xh, %08xh) not implemented.\n", 503 sec, 504 path)); 505 506 if (CreateDirectoryA(path,sec)) 507 return TRUE; 508 509 /* SHChangeNotify(8,1,path,0); */ 510 return FALSE; 511 512 // if (SHELL32_79(path,(LPVOID)x)) 513 // return 0; 514 // FIXME("(%08lx,%s):stub.\n",x,path); 515 // return 0; 516 } 517 518 519 /***************************************************************************** 520 * Name : HRESULT SHValidateUNC 521 * Purpose : validating a UNC path ? so the parameters are not correct ! 522 * Parameters: DWORD x 523 * DWORD y 524 * DWORD z 525 * Variables : 526 * Result : 527 * Remark : SHELL32.173 528 * Status : UNTESTED STUB 529 * 530 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 531 *****************************************************************************/ 532 533 HRESULT WIN32API SHValidateUNC (DWORD x, 534 DWORD y, 535 DWORD z) 536 { 537 dprintf(("SHELL32: SHValidateUnc(%08x,%08xh,%08xh) not implemented.\n", 538 x, 539 y, 540 z)); 541 542 return 0; 543 } 544 545 546 /***************************************************************************** 547 * Name : HRESULT SHCreateShellFolderViewEx 548 * Purpose : 549 * Parameters: 550 * Variables : 551 * Result : 552 * Remark : SHELL32.174 553 * Status : UNTESTED STUB 554 * 555 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 556 *****************************************************************************/ 557 558 559 HRESULT WIN32API SHCreateShellFolderViewEx(LPSHELLVIEWDATA psvcbi, 560 LPVOID* ppv) 561 { 562 dprintf(("SHELL32: SHCreateShellFolderViewEx(%08xh,%08xh) not implemented.\n", 563 psvcbi, 564 ppv)); 565 566 return 0; 567 } 568 569 570 /***************************************************************************** 571 * Name : HRESULT SHSetInstanceExplorer 572 * Purpose : 573 * Parameters: 574 * Variables : 575 * Result : 576 * Remark : SHELL32.176 577 * Status : UNTESTED STUB 578 * 579 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 580 *****************************************************************************/ 581 582 HRESULT WIN32API SHSetInstanceExplorer (LPUNKNOWN lpUnknown) 583 { 584 dprintf(("SHELL32: SHSetInstanceExplorer(%08xh)\n", 585 lpUnknown)); 586 587 SHELL32_IExplorerInterface = lpUnknown; 588 return (HRESULT) lpUnknown; 589 } 590 591 592 /***************************************************************************** 593 * Name : DWORD WIN32API SHFree 594 * Purpose : 595 * Parameters: 596 * Variables : 597 * Result : 598 * Remark : SHELL32.195 599 * Status : UNTESTED STUB 600 * 601 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 602 * 603 * NOTES 604 * free_ptr() - frees memory using IMalloc 605 * exported by ordinal 606 */ 607 608 DWORD WIN32API SHFree(LPVOID x) 609 { 610 dprintf(("SHELL32: SHFree(%08xh)\n", 611 x)); 612 613 if (!HIWORD(x)) 614 { 615 *(LPDWORD)0xdeaf0000 = 0; 616 } 617 618 return HeapFree(GetProcessHeap(),0,x); 619 } 620 621 622 /***************************************************************************** 623 * Name : LPVOID WIN32API SHAlloc 624 * Purpose : 625 * Parameters: 626 * Variables : 627 * Result : 628 * Remark : SHELL32.196 629 * Status : UNTESTED STUB 630 * 631 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 632 * 633 * NOTES 634 * void *task_alloc(DWORD len), uses SHMalloc allocator 635 * exported by ordinal 636 */ 637 638 LPVOID WIN32API SHAlloc(DWORD len) 639 { 640 dprintf(("SHELL32: SHAlloc(%08xh)\n", 641 len)); 642 643 return (LPVOID)HeapAlloc(GetProcessHeap(),0,len); 644 } 645 646 647 /***************************************************************************** 648 * Name : HRESULT SHAbortInvokeCommand 649 * Purpose : 650 * Parameters: 651 * Variables : 652 * Result : 653 * Remark : SHELL32.198 654 * Status : UNTESTED STUB 655 * 656 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 657 *****************************************************************************/ 658 659 HRESULT WIN32API SHAbortInvokeCommand(void) 660 { 661 dprintf(("SHELL32: SHAbortInvokeCommand() not implemented.\n")); 662 663 return 1; 664 } 665 666 667 /***************************************************************************** 668 * Name : VOID SHAddToRecentDocs 669 * Purpose : 670 * Parameters: UINT uFlags 671 * LPCVOID pv 672 * Variables : 673 * Result : 674 * Remark : SHELL32.234 675 * Status : UNTESTED STUB 676 * 677 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 678 *****************************************************************************/ 679 680 VOID WIN32API SHAddToRecentDocs(UINT uFlags, 681 LPCVOID pv) 682 { 683 dprintf(("SHELL32: SHAddToRecentDocs(%08xh,%08xh) not implemented.\n", 684 uFlags, 685 pv)); 686 } 687 688 689 /***************************************************************************** 690 * Name : LPITEMIDLIST SHBrowseForFolder 691 * Purpose : 692 * Parameters: LPBROWSEINFOA lpbi 693 * Variables : 694 * Result : 695 * Remark : SHELL32.236 696 * Status : UNTESTED STUB 697 * 698 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 699 *****************************************************************************/ 700 701 LPITEMIDLIST WIN32API SHBrowseForFolder(LPBROWSEINFOA lpbi) 702 { 703 dprintf(("SHELL32: SHBrowseForFolder(%08xh) not implemented.\n", 704 lpbi)); 705 706 //@@@PH automatically decide between A and W 707 708 return(NULL); 709 } 710 711 712 /***************************************************************************** 713 * Name : LPITEMIDLIST SHBrowseForFolderA 714 * Purpose : 715 * Parameters: LPBROWSEINFOA lpbi 716 * Variables : 717 * Result : 718 * Remark : SHELL32.237 719 * Status : UNTESTED STUB 720 * 721 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 722 *****************************************************************************/ 723 724 LPITEMIDLIST WIN32API SHBrowseForFolderA(LPBROWSEINFOA lpbi) 725 { 726 dprintf(("SHELL32: SHBrowseForFolderA(%08xh) not implemented.\n", 727 lpbi)); 728 729 return(NULL); 730 } 731 732 733 /***************************************************************************** 734 * Name : LPITEMIDLIST SHBrowseForFolderW 735 * Purpose : 736 * Parameters: LPBROWSEINFOW lpbi 737 * Variables : 738 * Result : 739 * Remark : SHELL32.238 740 * Status : UNTESTED STUB 741 * 742 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 743 *****************************************************************************/ 744 745 LPITEMIDLIST WIN32API SHBrowseForFolderW(LPBROWSEINFOA lpbi) 746 { 747 dprintf(("SHELL32: SHBrowseForFolderW(%08xh) not implemented.\n", 748 lpbi)); 749 750 return(NULL); 751 } 752 753 754 /***************************************************************************** 755 * Name : VOID SHChangeNotify 756 * Purpose : 757 * Parameters: LONG wEventId 758 * UINT uFlags 759 * LPCVOID dwItem1 760 * LPCVOID dwItem2 761 * Variables : 762 * Result : 763 * Remark : SHELL32.239 764 * Status : UNTESTED STUB 765 * 766 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 767 *****************************************************************************/ 768 769 VOID WIN32API SHChangeNotify(LONG wEventId, 770 UINT uFlags, 771 LPCVOID dwItem1, 772 LPCVOID dwItem2) 773 { 774 dprintf(("SHELL32: SHChangeNotify(%08xh,%08xh,%08xh,%08xh) not implemented.\n", 775 wEventId, 776 uFlags, 777 dwItem1, 778 dwItem2)); 779 780 } 781 782 783 /***************************************************************************** 784 * Name : HRESULT SHFileOperation 785 * Purpose : 786 * Parameters: 787 * Variables : 788 * Result : 789 * Remark : SHELL32.242 790 * Status : UNTESTED STUB 791 * 792 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 793 *****************************************************************************/ 794 795 DWORD WIN32API SHFileOperationAW(LPVOID lpFileOp) 796 { 797 dprintf(("SHELL32: SHFileOperationAW(%08xh) not implemented.\n", 798 lpFileOp)); 799 800 // if OsIsUnicode() 801 // SHFileOperationA(lpFileOp); 802 // else 803 // SHFileOperationW(lpFileOp); 804 805 return 0; 806 } 807 808 809 /***************************************************************************** 810 * Name : HRESULT SHFileOperationA 811 * Purpose : 812 * Parameters: 813 * Variables : 814 * Result : 815 * Remark : SHELL32.243 816 * Status : UNTESTED STUB 817 * 818 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 819 *****************************************************************************/ 820 821 DWORD WIN32API SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp) 822 { 823 dprintf(("SHELL32: SHFileOperationA(%08xh) not implemented.\n", 824 lpFileOp)); 825 826 return 0; 827 } 828 829 830 /***************************************************************************** 831 * Name : HRESULT SHFileOperationW 832 * Purpose : 833 * Parameters: 834 * Variables : 835 * Result : 836 * Remark : SHELL32.244 837 * Status : UNTESTED STUB 838 * 839 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 840 *****************************************************************************/ 841 842 DWORD WIN32API SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp) 843 { 844 dprintf(("SHELL32: SHFileOperationW(%08xh) not implemented.\n", 845 lpFileOp)); 846 847 return 0; 848 } 849 850 851 /***************************************************************************** 852 * Name : HRESULT SHGetDesktopFolder 853 * Purpose : 854 * Parameters: LPSHELLFOLDER *ppshf 855 * Variables : 856 * Result : 857 * Remark : SHELL32.252 858 * Status : UNTESTED STUB 859 * 860 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 861 *****************************************************************************/ 862 863 HRESULT WIN32API SHGetDesktopFolder(LPSHELLFOLDER *ppshf) 864 { 865 dprintf(("SHELL32: SHGetDesktopFolder(%08xh) not implemented.\n", 866 ppshf)); 867 868 return(1); 869 } 870 54 871 55 872 … … 64 881 * Variables : 65 882 * Result : 66 * Remark : 883 * Remark : SHELL32.253 .254 67 884 * Status : UNTESTED STUB 68 885 * … … 97 914 * Variables : 98 915 * Result : 99 * Remark : 916 * Remark : SHELL32.255 100 917 * Status : UNTESTED STUB 101 918 * … … 124 941 125 942 /***************************************************************************** 126 * Name : HRESULT SHGetDesktopFolder 127 * Purpose : 128 * Parameters: LPSHELLFOLDER *ppshf 129 * Variables : 130 * Result : 131 * Remark : 132 * Status : UNTESTED STUB 133 * 134 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 135 *****************************************************************************/ 136 137 HRESULT WIN32API SHGetDesktopFolder(LPSHELLFOLDER *ppshf) 138 { 139 dprintf(("SHELL32: SHGetDesktopFolder(%08xh) not implemented.\n", 140 ppshf)); 141 142 return(1); 143 } 144 145 146 /***************************************************************************** 147 * Name : VOID SHAddToRecentDocs 148 * Purpose : 149 * Parameters: UINT uFlags 150 * LPCVOID pv 151 * Variables : 152 * Result : 153 * Remark : 154 * Status : UNTESTED STUB 155 * 156 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 157 *****************************************************************************/ 158 159 VOID WIN32API SHAddToRecentDocs(UINT uFlags, 160 LPCVOID pv) 161 { 162 dprintf(("SHELL32: SHAddToRecentDocs(%08xh,%08xh) not implemented.\n", 163 uFlags, 164 pv)); 165 } 166 167 168 /***************************************************************************** 169 * Name : VOID SHChangeNotify 170 * Purpose : 171 * Parameters: LONG wEventId 172 * UINT uFlags 173 * LPCVOID dwItem1 174 * LPCVOID dwItem2 175 * Variables : 176 * Result : 177 * Remark : 178 * Status : UNTESTED STUB 179 * 180 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 181 *****************************************************************************/ 182 183 VOID WIN32API SHChangeNotify(LONG wEventId, 184 UINT uFlags, 185 LPCVOID dwItem1, 186 LPCVOID dwItem2) 187 { 188 dprintf(("SHELL32: SHChangeNotify(%08xh,%08xh,%08xh,%08xh) not implemented.\n", 189 wEventId, 190 uFlags, 191 dwItem1, 192 dwItem2)); 193 } 194 195 196 /***************************************************************************** 197 * Name : DWORD SHFileOperationA 198 * Purpose : 199 * Parameters: LPSHFILEOPSTRUCTA lpFileOp 200 * Variables : 201 * Result : 202 * Remark : 203 * Status : UNTESTED STUB 204 * 205 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 206 *****************************************************************************/ 207 208 DWORD WIN32API SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp) 209 { 210 dprintf(("SHELL32: SHFileOperationA(%08xh) not implemented.\n", 211 lpFileOp)); 943 * Name : HRESULT SHGetInstanceExplorer 944 * Purpose : 945 * Parameters: 946 * Variables : 947 * Result : 948 * Remark : SHELL32.256 949 * Status : UNTESTED STUB 950 * 951 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 952 *****************************************************************************/ 953 954 HRESULT WIN32API SHGetInstanceExplorer (LPUNKNOWN * lpUnknown) 955 { 956 dprintf(("SHELL32: SHGetInstanceExplorer(%08xh) not implemented.\n", 957 lpUnknown)); 958 959 *lpUnknown = SHELL32_IExplorerInterface; 960 961 if (!SHELL32_IExplorerInterface) 962 return E_FAIL; 963 964 //@@@PH to do: 965 //SHELL32_IExplorerInterface->lpvtbl->fnAddRef(SHELL32_IExplorerInterface); 966 return NOERROR; 967 } 968 969 970 /***************************************************************************** 971 * Name : HRESULT SHGetMalloc 972 * Purpose : 973 * Parameters: LPMALLOC *ppMalloc 974 * Variables : 975 * Result : 976 * Remark : SHELL32.257 977 * Status : UNTESTED STUB 978 * 979 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 980 *****************************************************************************/ 981 982 HRESULT WIN32API SHGetMalloc(LPMALLOC *ppMalloc) 983 { 984 dprintf(("SHELL32: SHGetMalloc(%08xh) not implemented.\n", 985 ppMalloc)); 212 986 213 987 return(0); 214 988 } 215 989 216 217 /*****************************************************************************218 * Name : DWORD SHFileOperationW219 * Purpose :220 * Parameters: LPSHFILEOPSTRUCTW lpFileOp221 * Variables :222 * Result :223 * Remark :224 * Status : UNTESTED STUB225 *226 * Author : Patrick Haller [Tue, 1999/06/09 20:02]227 *****************************************************************************/228 229 DWORD WIN32API SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)230 {231 dprintf(("SHELL32: SHFileOperationW(%08xh) not implemented.\n",232 lpFileOp));233 234 return(0);235 }236 990 237 991 … … 243 997 * Variables : 244 998 * Result : 245 * Remark : 999 * Remark : SHELL32.259 .260 246 1000 * Status : UNTESTED STUB 247 1001 * … … 261 1015 262 1016 /***************************************************************************** 1017 * Name : BOOL SHGetPathFromIDListW 1018 * Purpose : 1019 * Parameters: LPCITEMIDLIST pidl 1020 * LPSTR pszPath 1021 * Variables : 1022 * Result : 1023 * Remark : SHELL32.261 1024 * Status : UNTESTED STUB 1025 * 1026 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 1027 *****************************************************************************/ 1028 1029 BOOL WIN32API SHGetPathFromIDListW(LPCITEMIDLIST pidl, 1030 LPWSTR pszPath) 1031 { 1032 dprintf(("SHELL32: SHGetPathFromIDListW(%08xh,%08xh) not implemented.\n", 1033 pidl, 1034 pszPath)); 1035 1036 return(FALSE); 1037 } 1038 1039 1040 /***************************************************************************** 263 1041 * Name : HRESULT SHGetSpecialFolderLocation 264 1042 * Purpose : … … 268 1046 * Variables : 269 1047 * Result : 270 * Remark : 1048 * Remark : SHELL32.262 271 1049 * Status : UNTESTED STUB 272 1050 * … … 288 1066 289 1067 /***************************************************************************** 290 * Name : LPITEMIDLIST SHBrowseForFolder 291 * Purpose : 292 * Parameters: LPBROWSEINFOA lpbi 293 * Variables : 294 * Result : 295 * Remark : 296 * Status : UNTESTED STUB 297 * 298 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 299 *****************************************************************************/ 300 301 LPITEMIDLIST WIN32API SHBrowseForFolder(LPBROWSEINFOA lpbi) 302 { 303 dprintf(("SHELL32: SHBrowseForFolder(%08xh) not implemented.\n", 304 lpbi)); 305 306 return(NULL); 307 } 308 1068 * Name : HRESULT SHRegCloseKey 1069 * Purpose : 1070 * Parameters: 1071 * Variables : 1072 * Result : 1073 * Remark : SHELL32.505 1074 * Status : UNTESTED STUB 1075 * 1076 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 1077 *****************************************************************************/ 1078 1079 HRESULT WIN32API SHRegCloseKey (HKEY hkey) 1080 { 1081 dprintf(("SHELL32: SHRegCloseKey(%08xh)\n", 1082 hkey)); 1083 1084 return RegCloseKey( hkey ); 1085 } 1086 1087 /***************************************************************************** 1088 * Name : HRESULT SHRegOpenKeyA 1089 * Purpose : 1090 * Parameters: 1091 * Variables : 1092 * Result : 1093 * Remark : SHELL32.506 1094 * Status : UNTESTED STUB 1095 * 1096 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 1097 *****************************************************************************/ 1098 1099 HRESULT WIN32API SHRegOpenKeyA(HKEY hKey, 1100 LPSTR lpSubKey, 1101 LPHKEY phkResult) 1102 { 1103 dprintf(("SHELL32: SHRegOpenKeyA(%08xh,%s,%08xh)\n", 1104 hKey, 1105 lpSubKey, 1106 phkResult)); 1107 1108 return RegOpenKeyA(hKey, 1109 lpSubKey, 1110 phkResult); 1111 } 1112 1113 1114 /***************************************************************************** 1115 * Name : HRESULT SHRegOpenKeyW 1116 * Purpose : 1117 * Parameters: 1118 * Variables : 1119 * Result : 1120 * Remark : SHELL32.507 1121 * Status : UNTESTED STUB 1122 * 1123 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 1124 *****************************************************************************/ 1125 1126 HRESULT WIN32API SHRegOpenKeyW (HKEY hKey, 1127 LPCWSTR lpszSubKey, 1128 LPHKEY phkResult) 1129 { 1130 dprintf(("SHELL32: SHRegOpenKeyW(%08xh,%08xh,%08xh)\n", 1131 hKey, 1132 lpszSubKey, 1133 phkResult)); 1134 1135 return RegOpenKeyW(hKey, 1136 lpszSubKey, 1137 phkResult); 1138 } 1139 1140 1141 /***************************************************************************** 1142 * Name : HRESULT SHRegQueryValueA 1143 * Purpose : 1144 * Parameters: 1145 * Variables : 1146 * Result : 1147 * Remark : SHELL32.508 1148 * Status : UNTESTED STUB 1149 * 1150 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 1151 *****************************************************************************/ 1152 1153 HRESULT WIN32API SHRegQueryValueA(HKEY hKey, 1154 LPSTR lpszSubKey, 1155 LPSTR lpszData, 1156 LPLONG lpcbData) 1157 { 1158 dprintf(("SHELL32: SHRegQueryValueW(%08xh,%s,%08xh,%08xh)\n", 1159 hKey, 1160 lpszSubKey, 1161 lpszData, 1162 lpcbData)); 1163 1164 return (HRESULT)RegQueryValueA(hKey, 1165 lpszSubKey, 1166 lpszData, 1167 lpcbData); 1168 } 1169 1170 1171 /***************************************************************************** 1172 * Name : HRESULT SHRegQueryValueExA 1173 * Purpose : 1174 * Parameters: 1175 * Variables : 1176 * Result : 1177 * Remark : SHELL32.509 1178 * Status : UNTESTED STUB 1179 * 1180 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 1181 *****************************************************************************/ 1182 1183 HRESULT WIN32API SHRegQueryValueExA(DWORD u, 1184 LPSTR v, 1185 LPDWORD w, 1186 LPDWORD x, 1187 LPBYTE y, 1188 LPDWORD z) 1189 { 1190 dprintf(("SHELL32: SHRegQueryValueExA(%08xh,%s,%08xh,%08xh,%08xh,%08xh)\n", 1191 u, 1192 v, 1193 w, 1194 x, 1195 y, 1196 z)); 1197 1198 return (HRESULT)RegQueryValueExA(u, 1199 v, 1200 w, 1201 x, 1202 y, 1203 z); 1204 } 1205 1206 1207 /***************************************************************************** 1208 * Name : HRESULT SHRegQueryValueExW 1209 * Purpose : 1210 * Parameters: 1211 * Variables : 1212 * Result : 1213 * Remark : SHELL32.510 1214 * Status : UNTESTED STUB 1215 * 1216 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 1217 *****************************************************************************/ 1218 1219 HRESULT WIN32API SHRegQueryValueExW(DWORD u, 1220 LPWSTR v, 1221 LPDWORD w, 1222 LPDWORD x, 1223 LPBYTE y, 1224 LPDWORD z) 1225 { 1226 dprintf(("SHELL32: SHRegQueryValueExW(%08xh,%08xh,%08xh,%08xh,%08xh,%08xh)\n", 1227 u, 1228 v, 1229 w, 1230 x, 1231 y, 1232 z)); 1233 1234 return (HRESULT)RegQueryValueExW(u, 1235 v, 1236 w, 1237 x, 1238 y, 1239 z); 1240 } 1241 1242 1243 /***************************************************************************** 1244 * Name : HRESULT SHRegQueryValueW 1245 * Purpose : 1246 * Parameters: 1247 * Variables : 1248 * Result : 1249 * Remark : SHELL32.511 1250 * Status : UNTESTED STUB 1251 * 1252 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 1253 *****************************************************************************/ 1254 1255 HRESULT WIN32API SHRegQueryValueW(HKEY hKey, 1256 LPWSTR lpszSubKey, 1257 LPWSTR lpszData, 1258 LPLONG lpcbData) 1259 { 1260 dprintf(("SHELL32: SHRegQueryValueW(%08xh,%08xh,%08xh,%08xh)\n", 1261 hKey, 1262 lpszSubKey, 1263 lpszData, 1264 lpcbData)); 1265 1266 return (HRESULT)RegQueryValueW(hKey, 1267 lpszSubKey, 1268 lpszData, 1269 lpcbData); 1270 } 1271 1272 1273 /***************************************************************************** 1274 * Name : HGLOBAL SHAllocShared 1275 * Purpose : allocate shared memory ? 1276 * Parameters: 1277 * Variables : 1278 * Result : 1279 * Remark : SHELL32.520 1280 * Status : UNTESTED STUB 1281 * 1282 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 1283 * 1284 * NOTES 1285 * parameter1 is return value from HeapAlloc 1286 * parameter2 is equal to the size allocated with HeapAlloc 1287 * parameter3 is return value from GetCurrentProcessId 1288 * 1289 * the return value is posted as lParam with 0x402 (WM_USER+2) to somewhere 1290 * WM_USER+2 could be the undocumented CWM_SETPATH 1291 * the allocated memory contains a pidl 1292 */ 1293 1294 HGLOBAL WIN32API SHAllocShared(LPVOID psrc, 1295 DWORD size, 1296 DWORD procID) 1297 { 1298 HGLOBAL hmem; 1299 LPVOID pmem; 1300 1301 dprintf(("SHELL32: SHAllocShared(%08xh,%08xh,%08xh)\n", 1302 psrc, 1303 size, 1304 procID)); 1305 1306 hmem = GlobalAlloc(GMEM_FIXED, 1307 size); 1308 if (!hmem) 1309 return 0; 1310 1311 pmem = GlobalLock (hmem); 1312 if (! pmem) 1313 return 0; 1314 1315 memcpy (pmem, psrc, size); 1316 GlobalUnlock(hmem); 1317 return hmem; 1318 } 309 1319 310 1320 … … 376 1386 * parameter2 is return value from GetCurrentProcessId 377 1387 */ 1388 378 1389 HANDLE WIN32API SHFreeShared(HANDLE hmem, 379 1390 DWORD procID) … … 386 1397 } 387 1398 1399 1400 /***************************************************************************** 1401 * Name : DWORD WIN32API NTSHChangeNotifyRegister 1402 * Purpose : 1403 * Parameters: 1404 * Variables : 1405 * Result : 1406 * Remark : SHELL32.640 1407 * Status : UNTESTED STUB 1408 * 1409 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 1410 * 1411 * NOTES 1412 * Idlist is an array of structures and Count specifies how many items in the array 1413 * (usually just one I think). 1414 */ 1415 1416 DWORD WIN32API NTSHChangeNotifyRegister(HWND hwnd, 1417 LONG events1, 1418 LONG events2, 1419 DWORD msg, 1420 int count, 1421 IDSTRUCT *idlist) 1422 { 1423 dprintf(("SHELL32: NTSHChangeNotifyRegister(%08xh, %08xh,%08xh,%08xh,%08xh,%08xh) not implemented.\n", 1424 hwnd, 1425 events1, 1426 events2, 1427 msg, 1428 count, 1429 idlist)); 1430 1431 return SHChangeNotifyRegister(hwnd, 1432 events1, 1433 events2, 1434 msg, 1435 count, 1436 idlist); 1437 } 1438 1439 1440 /***************************************************************************** 1441 * Name : DWORD WIN32API NTSHChangeNotifyDeregister 1442 * Purpose : 1443 * Parameters: 1444 * Variables : 1445 * Result : 1446 * Remark : SHELL32.641 1447 * Status : UNTESTED STUB 1448 * 1449 * Author : Patrick Haller [Tue, 1999/06/09 20:02] 1450 */ 1451 DWORD WIN32API NTSHChangeNotifyDeregister(LONG x1) 1452 { 1453 dprintf(("SHELL32: NTSHChangeNotifyDeregister(%08xh) not implemented.\n", 1454 x1)); 1455 1456 return SHChangeNotifyDeregister(x1); 1457 } 1458
Note:
See TracChangeset
for help on using the changeset viewer.