- Timestamp:
- Oct 10, 2001, 11:44:19 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/pidl.c
r6709 r6999 8 8 * 9 9 */ 10 11 12 /**************************************************************************** 13 * includes 14 ****************************************************************************/ 15 16 #include <odin.h> 17 #include <os2sel.h> 18 #include <odinwrap.h> 19 20 ODINDEBUGCHANNEL(SHELL32-PIDL) 21 10 22 11 23 #include <ctype.h> … … 25 37 26 38 DEFAULT_DEBUG_CHANNEL(pidl); 39 40 #ifndef __WIN32OS2__ 27 41 DECLARE_DEBUG_CHANNEL(shell); 42 #endif 28 43 29 44 #if defined( __WIN32OS2__) && defined(DEBUG) … … 43 58 if (! pidltemp) 44 59 { 45 MESSAGE ("-------- pidl=NULL (Desktop)\n");60 MESSAGE ("PIDL: -------- pidl=NULL (Desktop)\n"); 46 61 } 47 62 else 48 63 { 49 MESSAGE (" -------- pidl=%p\n", pidl);64 MESSAGE ("PIDL: -------- pidl=%p\n", pidl); 50 65 if (pidltemp->mkid.cb) 51 66 { … … 65 80 dwAttrib = pData->u.file.uFileAttribs; 66 81 67 MESSAGE (" -- pidl=%p size=%u type=%lx attr=0x%08lx name=%s (%s,%s)\n",82 MESSAGE ("PIDL: -- pidl=%p size=%u type=%lx attr=0x%08lx name=%s (%s,%s)\n", 68 83 pidltemp, pidltemp->mkid.cb,type,dwAttrib,szName,debugstr_a(szLongName), debugstr_a(szShortName)); 69 84 … … 74 89 else 75 90 { 76 MESSAGE (" empty pidl (Desktop)\n");91 MESSAGE ("PIDL: empty pidl (Desktop)\n"); 77 92 } 78 93 pcheck(pidl); … … 146 161 * ILGetDisplayName [SHELL32.15] 147 162 */ 148 BOOL WINAPI ILGetDisplayName(LPCITEMIDLIST pidl,LPSTR path) 163 164 ODINFUNCTION2(BOOL, ILGetDisplayName, 165 LPCITEMIDLIST, pidl, 166 LPSTR, path) 149 167 { 150 168 TRACE_(shell)("pidl=%p %p semi-stub\n",pidl,path); … … 157 175 * observed: pidl=Desktop return=pidl 158 176 */ 159 LPITEMIDLIST WINAPI ILFindLastID(LPITEMIDLIST pidl) 177 ODINFUNCTION1(LPITEMIDLIST, ILFindLastID, 178 LPITEMIDLIST, pidl) 160 179 { LPITEMIDLIST pidlLast = pidl; 161 180 … … 175 194 * when pidl=Desktop return=FALSE 176 195 */ 177 BOOL WINAPI ILRemoveLastID(LPCITEMIDLIST pidl) 196 ODINFUNCTION1(BOOL, ILRemoveLastID, 197 LPCITEMIDLIST, pidl) 178 198 { 179 199 TRACE_(shell)("pidl=%p\n",pidl); … … 191 211 * dupicate an idlist 192 212 */ 193 LPITEMIDLIST WINAPI ILClone (LPCITEMIDLIST pidl) 213 ODINFUNCTION1(LPITEMIDLIST, ILClone, 214 LPCITEMIDLIST, pidl) 194 215 { DWORD len; 195 216 LPITEMIDLIST newpidl; … … 214 235 * duplicates the first idlist of a complex pidl 215 236 */ 216 LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl) 237 ODINFUNCTION1(LPITEMIDLIST, ILCloneFirst, 238 LPCITEMIDLIST, pidl) 217 239 { DWORD len; 218 240 LPITEMIDLIST pidlNew = NULL; … … 244 266 * the first two bytes are the len, the pidl is following then 245 267 */ 246 HRESULT WINAPI ILLoadFromStream (IStream * pStream, LPITEMIDLIST * ppPidl) 268 ODINFUNCTION2(HRESULT, ILLoadFromStream, 269 IStream *, pStream, 270 LPITEMIDLIST *, ppPidl) 247 271 { WORD wLen = 0; 248 272 DWORD dwBytesRead; … … 288 312 * the first two bytes are the len, the pidl is following then 289 313 */ 290 HRESULT WINAPI ILSaveToStream (IStream * pStream, LPCITEMIDLIST pPidl) 314 ODINFUNCTION2(HRESULT, ILSaveToStream, 315 IStream *, pStream, 316 LPCITEMIDLIST, pPidl) 291 317 { 292 318 LPITEMIDLIST pidl; … … 324 350 * wraper for IShellFolder::ParseDisplayName() 325 351 */ 326 HRESULT WINAPI SHILCreateFromPathA (LPCSTR path, LPITEMIDLIST * ppidl, DWORD * attributes) 352 ODINFUNCTION3(HRESULT, SHILCreateFromPathA, 353 LPCSTR, path, 354 LPITEMIDLIST *, ppidl, 355 DWORD *, attributes) 327 356 { LPSHELLFOLDER sf; 328 357 WCHAR lpszDisplayName[MAX_PATH]; … … 342 371 return ret; 343 372 } 344 HRESULT WINAPI SHILCreateFromPathW (LPCWSTR path, LPITEMIDLIST * ppidl, DWORD * attributes) 373 374 375 ODINFUNCTION3(HRESULT, SHILCreateFromPathW, 376 LPCWSTR, path, 377 LPITEMIDLIST *, ppidl, 378 DWORD *, attributes) 345 379 { LPSHELLFOLDER sf; 346 380 DWORD pchEaten; … … 375 409 * exported by ordinal 376 410 */ 377 LPITEMIDLIST WINAPI SHCloneSpecialIDList(HWND hwndOwner,DWORD nFolder,DWORD x3) 411 ODINFUNCTION3(LPITEMIDLIST, SHCloneSpecialIDList, 412 HWND, hwndOwner, 413 DWORD, nFolder, 414 DWORD, x3) 378 415 { LPITEMIDLIST ppidl; 379 416 WARN_(shell)("(hwnd=0x%x,csidl=0x%lx,0x%lx):semi-stub.\n", … … 389 426 * 390 427 */ 391 LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl) 428 ODINFUNCTION1(LPITEMIDLIST, ILGlobalClone, 429 LPCITEMIDLIST, pidl) 392 430 { DWORD len; 393 431 LPITEMIDLIST newpidl; … … 411 449 * 412 450 */ 413 BOOL WINAPI ILIsEqual(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) 451 ODINFUNCTION2(BOOL, ILIsEqual, 452 LPCITEMIDLIST, pidl1, 453 LPCITEMIDLIST, pidl2) 414 454 { 415 455 char szData1[MAX_PATH]; … … 456 496 * child=a/b/c/d -> true if bImmediate is false, d is in a subfolder of a/b 457 497 */ 458 BOOL WINAPI ILIsParent( LPCITEMIDLIST pidlParent, LPCITEMIDLIST pidlChild, BOOL bImmediate) 498 ODINFUNCTION3(BOOL, ILIsParent, 499 LPCITEMIDLIST, pidlParent, 500 LPCITEMIDLIST, pidlChild, 501 BOOL, bImmediate) 459 502 { 460 503 char szData1[MAX_PATH]; … … 499 542 * pidl2 equal pidl1 pointer to last 0x00-element of pidl2 500 543 */ 501 LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2) 544 ODINFUNCTION2(LPITEMIDLIST, ILFindChild, 545 LPCITEMIDLIST, pidl1, 546 LPCITEMIDLIST, pidl2) 502 547 { 503 548 char szData1[MAX_PATH]; … … 554 599 * Does not destroy the passed in idlists! 555 600 */ 556 LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2) 601 ODINFUNCTION2(LPITEMIDLIST, ILCombine, 602 LPCITEMIDLIST, pidl1, 603 LPCITEMIDLIST, pidl2) 557 604 { 558 605 DWORD len1,len2; … … 596 643 * NOTES 597 644 */ 598 LPITEMIDLIST WINAPI SHGetRealIDL(LPSHELLFOLDER lpsf, LPITEMIDLIST pidl, DWORD z) 599 { 645 ODINFUNCTION3(LPITEMIDLIST, SHGetRealIDL, 646 LPSHELLFOLDER, lpsf, 647 LPITEMIDLIST, pidl, 648 DWORD, z) 649 { 650 dprintf(("not yet implemented")); 651 600 652 FIXME("sf=%p pidl=%p 0x%04lx\n",lpsf,pidl,z); 601 653 … … 611 663 * pild = CSIDL_DRIVES ret = 0 612 664 */ 613 LPITEMIDLIST WINAPI SHLogILFromFSIL(LPITEMIDLIST pidl) 614 { 665 ODINFUNCTION1(LPITEMIDLIST, SHLogILFromFSIL, 666 LPITEMIDLIST, pidl) 667 { 668 dprintf(("not yet implemented")); 669 615 670 FIXME("(pidl=%p)\n",pidl); 616 671 … … 633 688 * exported by ordinal 634 689 */ 635 DWORD WINAPI ILGetSize(LPITEMIDLIST pidl) 636 { 637 LPSHITEMID si = &(pidl->mkid); 638 DWORD len=0; 639 640 if (pidl) 641 { while (si->cb) 642 { len += si->cb; 643 si = (LPSHITEMID)(((LPBYTE)si)+si->cb); 644 } 645 len += 2; 646 } 647 TRACE("pidl=%p size=%lu\n",pidl, len); 648 return len; 690 ODINFUNCTION1(DWORD, ILGetSize, 691 LPITEMIDLIST, pidl) 692 { 693 LPSHITEMID si = &(pidl->mkid); 694 DWORD len=0; 695 696 // @@@PH this cannot be correct: pidl==NULL would crash! 697 if (pidl) 698 { 699 while (si->cb) 700 { 701 len += si->cb; 702 si = (LPSHITEMID)(((LPBYTE)si)+si->cb); 703 } 704 len += 2; 705 } 706 TRACE("pidl=%p size=%lu\n",pidl, len); 707 return len; 649 708 } 650 709 … … 659 718 * 660 719 */ 661 LPITEMIDLIST WINAPI ILGetNext(LPITEMIDLIST pidl) 720 ODINFUNCTION1(LPITEMIDLIST, ILGetNext, 721 LPITEMIDLIST, pidl) 662 722 { 663 723 WORD len; … … 685 745 * Destroys the passed in idlist! (???) 686 746 */ 687 LPITEMIDLIST WINAPI ILAppend(LPITEMIDLIST pidl,LPCITEMIDLIST item,BOOL bEnd) 747 ODINFUNCTION3(LPITEMIDLIST, ILAppend, 748 LPITEMIDLIST, pidl, 749 LPCITEMIDLIST, item, 750 BOOL, bEnd) 688 751 { 689 752 LPITEMIDLIST idlRet; … … 722 785 * exported by ordinal 723 786 */ 724 DWORD WINAPI ILFree(LPITEMIDLIST pidl) 787 ODINFUNCTION1(DWORD, ILFree, 788 LPITEMIDLIST, pidl) 725 789 { 726 790 TRACE("(pidl=0x%08lx)\n",(DWORD)pidl); … … 734 798 * 735 799 */ 736 void WINAPI ILGlobalFree( LPCITEMIDLIST pidl) 800 ODINPROCEDURE1(ILGlobalFree, 801 LPCITEMIDLIST, pidl) 737 802 { 738 803 TRACE("%p\n",pidl); … … 745 810 * 746 811 */ 747 LPITEMIDLIST WINAPI ILCreateFromPathA (LPCSTR path) 812 ODINFUNCTION1(LPITEMIDLIST, ILCreateFromPathA, 813 LPCSTR, path) 748 814 { 749 815 LPITEMIDLIST pidlnew; … … 756 822 return FALSE; 757 823 } 758 LPITEMIDLIST WINAPI ILCreateFromPathW (LPCWSTR path) 824 825 826 ODINFUNCTION1(LPITEMIDLIST, ILCreateFromPathW, 827 LPCWSTR, path) 759 828 { 760 829 LPITEMIDLIST pidlnew; … … 776 845 * SHSimpleIDListFromPath [SHELL32.162] 777 846 */ 778 LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPCSTR lpszPath) 847 ODINFUNCTION1(LPITEMIDLIST, SHSimpleIDListFromPathA, 848 LPCSTR, lpszPath) 779 849 { 780 850 LPITEMIDLIST pidl=NULL; … … 802 872 return pidl; 803 873 } 804 LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPCWSTR lpszPath) 874 875 876 ODINFUNCTION1(LPITEMIDLIST, SHSimpleIDListFromPathW, 877 LPCWSTR, lpszPath) 805 878 { 806 879 char lpszTemp[MAX_PATH]; … … 832 905 * 833 906 */ 834 HRESULT WINAPI SHGetSpecialFolderLocation( 835 HWND hwndOwner,836 INT nFolder,837 LPITEMIDLIST * ppidl)907 ODINFUNCTION3(HRESULT, SHGetSpecialFolderLocation, 908 HWND, hwndOwner, 909 INT, nFolder, 910 LPITEMIDLIST *, ppidl) 838 911 { 839 912 CHAR szPath[MAX_PATH]; … … 893 966 * we have to take all data from the pidl 894 967 */ 895 HRESULT WINAPI SHGetFolderLocation( 896 HWNDhwnd,897 intcsidl,898 HANDLEhToken,899 DWORDdwFlags,900 LPITEMIDLIST *ppidl)968 ODINFUNCTION5(HRESULT, SHGetFolderLocation, 969 HWND, hwnd, 970 int, csidl, 971 HANDLE, hToken, 972 DWORD, dwFlags, 973 LPITEMIDLIST *, ppidl) 901 974 { 902 975 FIXME("0x%04x 0x%08x 0x%08x 0x%08lx %p\n", … … 912 985 * we have to take all data from the pidl 913 986 */ 914 HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID dest, int len) 987 ODINFUNCTION5(HRESULT, SHGetDataFromIDListA, 988 LPSHELLFOLDER, psf, 989 LPCITEMIDLIST, pidl, 990 int, nFormat, 991 LPVOID, dest, 992 int, len) 915 993 { 916 994 TRACE_(shell)("sf=%p pidl=%p 0x%04x %p 0x%04x stub\n",psf,pidl,nFormat,dest,len); … … 951 1029 * 952 1030 */ 953 HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID dest, int len) 1031 ODINFUNCTION5(HRESULT, SHGetDataFromIDListW, 1032 LPSHELLFOLDER, psf, 1033 LPCITEMIDLIST, pidl, 1034 int, nFormat, 1035 LPVOID, dest, 1036 int, len) 954 1037 { 955 1038 TRACE_(shell)("sf=%p pidl=%p 0x%04x %p 0x%04x stub\n",psf,pidl,nFormat,dest,len); … … 1009 1092 * fnGetDisplayNameOf can return different types of OLEString 1010 1093 */ 1011 BOOL WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath) 1094 ODINFUNCTION2(BOOL, SHGetPathFromIDListA, 1095 LPCITEMIDLIST, pidl, 1096 LPSTR, pszPath) 1012 1097 { STRRET str; 1013 1098 LPSHELLFOLDER shellfolder; … … 1044 1129 * SHGetPathFromIDListW [SHELL32.262] 1045 1130 */ 1046 BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath) 1131 ODINFUNCTION2(BOOL, SHGetPathFromIDListW, 1132 LPCITEMIDLIST, pidl, 1133 LPWSTR, pszPath) 1047 1134 { char sTemp[MAX_PATH]; 1048 1135 … … 1060 1147 * SHBindToParent [shell version 5.0] 1061 1148 */ 1062 HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast) 1149 ODINFUNCTION4(HRESULT, SHBindToParent, 1150 LPCITEMIDLIST, pidl, 1151 REFIID, riid, 1152 LPVOID *,ppv, 1153 LPCITEMIDLIST *,ppidlLast) 1063 1154 { 1064 1155 IShellFolder * psf; … … 1107 1198 * SHGetPathFromIDListAW [SHELL32.221][NT 4.0: SHELL32.219] 1108 1199 */ 1109 BOOL WINAPI SHGetPathFromIDListAW(LPCITEMIDLIST pidl,LPVOID pszPath) 1200 ODINFUNCTION2(BOOL, SHGetPathFromIDListAW, 1201 LPCITEMIDLIST, pidl, 1202 LPVOID, pszPath) 1110 1203 { 1111 1204 TRACE_(shell)("(pidl=%p,%p)\n",pidl,pszPath);
Note:
See TracChangeset
for help on using the changeset viewer.