Changeset 6999 for trunk/src


Ignore:
Timestamp:
Oct 10, 2001, 11:44:19 PM (24 years ago)
Author:
phaller
Message:

odinwrap instrumented

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/shell32/pidl.c

    r6709 r6999  
    88 *
    99 */
     10
     11
     12/****************************************************************************
     13 * includes
     14 ****************************************************************************/
     15
     16#include <odin.h>
     17#include <os2sel.h>
     18#include <odinwrap.h>
     19
     20ODINDEBUGCHANNEL(SHELL32-PIDL)
     21
    1022
    1123#include <ctype.h>
     
    2537
    2638DEFAULT_DEBUG_CHANNEL(pidl);
     39
     40#ifndef __WIN32OS2__
    2741DECLARE_DEBUG_CHANNEL(shell);
     42#endif
    2843
    2944#if defined( __WIN32OS2__) && defined(DEBUG)
     
    4358        if (! pidltemp)
    4459        {
    45           MESSAGE ("-------- pidl=NULL (Desktop)\n");
     60          MESSAGE ("PIDL: -------- pidl=NULL (Desktop)\n");
    4661        }
    4762        else
    4863        {
    49           MESSAGE ("-------- pidl=%p\n", pidl);
     64          MESSAGE ("PIDL: -------- pidl=%p\n", pidl);
    5065          if (pidltemp->mkid.cb)
    5166          {
     
    6580                dwAttrib = pData->u.file.uFileAttribs;
    6681
    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",
    6883                       pidltemp, pidltemp->mkid.cb,type,dwAttrib,szName,debugstr_a(szLongName), debugstr_a(szShortName));
    6984
     
    7489          else
    7590          {
    76             MESSAGE ("empty pidl (Desktop)\n");
     91            MESSAGE ("PIDL: empty pidl (Desktop)\n");
    7792          }
    7893          pcheck(pidl);
     
    146161 * ILGetDisplayName                     [SHELL32.15]
    147162 */
    148 BOOL WINAPI ILGetDisplayName(LPCITEMIDLIST pidl,LPSTR path)
     163
     164ODINFUNCTION2(BOOL, ILGetDisplayName,
     165              LPCITEMIDLIST, pidl,
     166              LPSTR, path)
    149167{
    150168        TRACE_(shell)("pidl=%p %p semi-stub\n",pidl,path);
     
    157175 *   observed: pidl=Desktop return=pidl
    158176 */
    159 LPITEMIDLIST WINAPI ILFindLastID(LPITEMIDLIST pidl)
     177ODINFUNCTION1(LPITEMIDLIST, ILFindLastID,
     178              LPITEMIDLIST, pidl)
    160179{       LPITEMIDLIST   pidlLast = pidl;
    161180
     
    175194 *   when pidl=Desktop return=FALSE
    176195 */
    177 BOOL WINAPI ILRemoveLastID(LPCITEMIDLIST pidl)
     196ODINFUNCTION1(BOOL, ILRemoveLastID,
     197              LPCITEMIDLIST, pidl)
    178198{
    179199        TRACE_(shell)("pidl=%p\n",pidl);
     
    191211 *    dupicate an idlist
    192212 */
    193 LPITEMIDLIST WINAPI ILClone (LPCITEMIDLIST pidl)
     213ODINFUNCTION1(LPITEMIDLIST, ILClone,
     214              LPCITEMIDLIST, pidl)
    194215{ DWORD    len;
    195216  LPITEMIDLIST  newpidl;
     
    214235 *  duplicates the first idlist of a complex pidl
    215236 */
    216 LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl)
     237ODINFUNCTION1(LPITEMIDLIST, ILCloneFirst,
     238              LPCITEMIDLIST, pidl)
    217239{       DWORD len;
    218240        LPITEMIDLIST pidlNew = NULL;
     
    244266 *   the first two bytes are the len, the pidl is following then
    245267 */
    246 HRESULT WINAPI ILLoadFromStream (IStream * pStream, LPITEMIDLIST * ppPidl)
     268ODINFUNCTION2(HRESULT, ILLoadFromStream,
     269              IStream *, pStream,
     270              LPITEMIDLIST *, ppPidl)
    247271{       WORD            wLen = 0;
    248272        DWORD           dwBytesRead;
     
    288312 *   the first two bytes are the len, the pidl is following then
    289313 */
    290 HRESULT WINAPI ILSaveToStream (IStream * pStream, LPCITEMIDLIST pPidl)
     314ODINFUNCTION2(HRESULT, ILSaveToStream,
     315              IStream *, pStream,
     316              LPCITEMIDLIST, pPidl)
    291317{
    292318        LPITEMIDLIST    pidl;
     
    324350 *   wraper for IShellFolder::ParseDisplayName()
    325351 */
    326 HRESULT WINAPI SHILCreateFromPathA (LPCSTR path, LPITEMIDLIST * ppidl, DWORD * attributes)
     352ODINFUNCTION3(HRESULT, SHILCreateFromPathA,
     353              LPCSTR, path,
     354              LPITEMIDLIST *, ppidl,
     355              DWORD *, attributes)
    327356{       LPSHELLFOLDER sf;
    328357        WCHAR lpszDisplayName[MAX_PATH];
     
    342371        return ret;
    343372}
    344 HRESULT WINAPI SHILCreateFromPathW (LPCWSTR path, LPITEMIDLIST * ppidl, DWORD * attributes)
     373
     374
     375ODINFUNCTION3(HRESULT, SHILCreateFromPathW,
     376              LPCWSTR, path,
     377              LPITEMIDLIST *, ppidl,
     378              DWORD *, attributes)
    345379{       LPSHELLFOLDER sf;
    346380        DWORD pchEaten;
     
    375409 *     exported by ordinal
    376410 */
    377 LPITEMIDLIST WINAPI SHCloneSpecialIDList(HWND hwndOwner,DWORD nFolder,DWORD x3)
     411ODINFUNCTION3(LPITEMIDLIST, SHCloneSpecialIDList,
     412              HWND, hwndOwner,
     413              DWORD, nFolder,
     414              DWORD, x3)
    378415{       LPITEMIDLIST ppidl;
    379416        WARN_(shell)("(hwnd=0x%x,csidl=0x%lx,0x%lx):semi-stub.\n",
     
    389426 *
    390427 */
    391 LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl)
     428ODINFUNCTION1(LPITEMIDLIST, ILGlobalClone,
     429              LPCITEMIDLIST, pidl)
    392430{       DWORD    len;
    393431        LPITEMIDLIST  newpidl;
     
    411449 *
    412450 */
    413 BOOL WINAPI ILIsEqual(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
     451ODINFUNCTION2(BOOL, ILIsEqual,
     452              LPCITEMIDLIST, pidl1,
     453              LPCITEMIDLIST, pidl2)
    414454{
    415455        char    szData1[MAX_PATH];
     
    456496 *              child=a/b/c/d -> true if bImmediate is false, d is in a subfolder of a/b
    457497 */
    458 BOOL WINAPI ILIsParent( LPCITEMIDLIST pidlParent, LPCITEMIDLIST pidlChild, BOOL bImmediate)
     498ODINFUNCTION3(BOOL, ILIsParent,
     499              LPCITEMIDLIST, pidlParent,
     500              LPCITEMIDLIST, pidlChild,
     501              BOOL, bImmediate)
    459502{
    460503        char    szData1[MAX_PATH];
     
    499542 *  pidl2 equal pidl1           pointer to last 0x00-element of pidl2
    500543 */
    501 LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2)
     544ODINFUNCTION2(LPITEMIDLIST, ILFindChild,
     545              LPCITEMIDLIST, pidl1,
     546              LPCITEMIDLIST, pidl2)
    502547{
    503548        char    szData1[MAX_PATH];
     
    554599 *  Does not destroy the passed in idlists!
    555600 */
    556 LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2)
     601ODINFUNCTION2(LPITEMIDLIST, ILCombine,
     602              LPCITEMIDLIST, pidl1,
     603              LPCITEMIDLIST, pidl2)
    557604{
    558605        DWORD    len1,len2;
     
    596643 * NOTES
    597644 */
    598 LPITEMIDLIST WINAPI SHGetRealIDL(LPSHELLFOLDER lpsf, LPITEMIDLIST pidl, DWORD z)
    599 {
     645ODINFUNCTION3(LPITEMIDLIST, SHGetRealIDL,
     646              LPSHELLFOLDER, lpsf,
     647              LPITEMIDLIST, pidl,
     648              DWORD, z)
     649{
     650  dprintf(("not yet implemented"));
     651 
    600652        FIXME("sf=%p pidl=%p 0x%04lx\n",lpsf,pidl,z);
    601653
     
    611663 *  pild = CSIDL_DRIVES         ret = 0
    612664 */
    613 LPITEMIDLIST WINAPI SHLogILFromFSIL(LPITEMIDLIST pidl)
    614 {
     665ODINFUNCTION1(LPITEMIDLIST, SHLogILFromFSIL,
     666              LPITEMIDLIST, pidl)
     667{
     668  dprintf(("not yet implemented"));
     669 
    615670        FIXME("(pidl=%p)\n",pidl);
    616671
     
    633688 *  exported by ordinal
    634689 */
    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;
     690ODINFUNCTION1(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;
    649708}
    650709
     
    659718 *
    660719 */
    661 LPITEMIDLIST WINAPI ILGetNext(LPITEMIDLIST pidl)
     720ODINFUNCTION1(LPITEMIDLIST, ILGetNext,
     721              LPITEMIDLIST, pidl)
    662722{
    663723        WORD len;
     
    685745 *  Destroys the passed in idlist! (???)
    686746 */
    687 LPITEMIDLIST WINAPI ILAppend(LPITEMIDLIST pidl,LPCITEMIDLIST item,BOOL bEnd)
     747ODINFUNCTION3(LPITEMIDLIST, ILAppend,
     748              LPITEMIDLIST, pidl,
     749              LPCITEMIDLIST, item,
     750              BOOL, bEnd)
    688751{
    689752        LPITEMIDLIST idlRet;
     
    722785 *     exported by ordinal
    723786 */
    724 DWORD WINAPI ILFree(LPITEMIDLIST pidl)
     787ODINFUNCTION1(DWORD, ILFree,
     788              LPITEMIDLIST, pidl)
    725789{
    726790        TRACE("(pidl=0x%08lx)\n",(DWORD)pidl);
     
    734798 *
    735799 */
    736 void WINAPI ILGlobalFree( LPCITEMIDLIST pidl)
     800ODINPROCEDURE1(ILGlobalFree,
     801               LPCITEMIDLIST, pidl)
    737802{
    738803        TRACE("%p\n",pidl);
     
    745810 *
    746811 */
    747 LPITEMIDLIST WINAPI ILCreateFromPathA (LPCSTR path)
     812ODINFUNCTION1(LPITEMIDLIST, ILCreateFromPathA,
     813              LPCSTR, path)
    748814{
    749815        LPITEMIDLIST pidlnew;
     
    756822        return FALSE;
    757823}
    758 LPITEMIDLIST WINAPI ILCreateFromPathW (LPCWSTR path)
     824
     825
     826ODINFUNCTION1(LPITEMIDLIST, ILCreateFromPathW,
     827              LPCWSTR, path)
    759828{
    760829        LPITEMIDLIST pidlnew;
     
    776845 *  SHSimpleIDListFromPath [SHELL32.162]
    777846 */
    778 LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPCSTR lpszPath)
     847ODINFUNCTION1(LPITEMIDLIST, SHSimpleIDListFromPathA,
     848              LPCSTR, lpszPath)
    779849{
    780850        LPITEMIDLIST    pidl=NULL;
     
    802872        return pidl;
    803873}
    804 LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPCWSTR lpszPath)
     874
     875
     876ODINFUNCTION1(LPITEMIDLIST, SHSimpleIDListFromPathW,
     877              LPCWSTR, lpszPath)
    805878{
    806879        char    lpszTemp[MAX_PATH];
     
    832905 *
    833906 */
    834 HRESULT WINAPI SHGetSpecialFolderLocation(
    835         HWND hwndOwner,
    836         INT nFolder,
    837         LPITEMIDLIST * ppidl)
     907ODINFUNCTION3(HRESULT, SHGetSpecialFolderLocation,
     908        HWND, hwndOwner,
     909        INT, nFolder,
     910        LPITEMIDLIST *, ppidl)
    838911{
    839912        CHAR            szPath[MAX_PATH];
     
    893966 *  we have to take all data from the pidl
    894967 */
    895 HRESULT WINAPI SHGetFolderLocation(
    896         HWND hwnd,
    897         int csidl,
    898         HANDLE hToken,
    899         DWORD dwFlags,
    900         LPITEMIDLIST *ppidl)
     968ODINFUNCTION5(HRESULT, SHGetFolderLocation,
     969              HWND, hwnd,
     970              int, csidl,
     971              HANDLE, hToken,
     972              DWORD, dwFlags,
     973              LPITEMIDLIST *, ppidl)
    901974{
    902975        FIXME("0x%04x 0x%08x 0x%08x 0x%08lx %p\n",
     
    912985 *  we have to take all data from the pidl
    913986 */
    914 HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID dest, int len)
     987ODINFUNCTION5(HRESULT, SHGetDataFromIDListA,
     988              LPSHELLFOLDER, psf,
     989              LPCITEMIDLIST, pidl,
     990              int, nFormat,
     991              LPVOID, dest,
     992              int, len)
    915993{
    916994        TRACE_(shell)("sf=%p pidl=%p 0x%04x %p 0x%04x stub\n",psf,pidl,nFormat,dest,len);
     
    9511029 *
    9521030 */
    953 HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID dest, int len)
     1031ODINFUNCTION5(HRESULT, SHGetDataFromIDListW,
     1032              LPSHELLFOLDER, psf,
     1033              LPCITEMIDLIST, pidl,
     1034              int, nFormat,
     1035              LPVOID, dest,
     1036              int, len)
    9541037{
    9551038        TRACE_(shell)("sf=%p pidl=%p 0x%04x %p 0x%04x stub\n",psf,pidl,nFormat,dest,len);
     
    10091092 *  fnGetDisplayNameOf can return different types of OLEString
    10101093 */
    1011 BOOL WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath)
     1094ODINFUNCTION2(BOOL, SHGetPathFromIDListA,
     1095              LPCITEMIDLIST, pidl,
     1096              LPSTR, pszPath)
    10121097{       STRRET str;
    10131098        LPSHELLFOLDER shellfolder;
     
    10441129 * SHGetPathFromIDListW                         [SHELL32.262]
    10451130 */
    1046 BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath)
     1131ODINFUNCTION2(BOOL, SHGetPathFromIDListW,
     1132              LPCITEMIDLIST, pidl,
     1133              LPWSTR, pszPath)
    10471134{       char sTemp[MAX_PATH];
    10481135
     
    10601147 *      SHBindToParent          [shell version 5.0]
    10611148 */
    1062 HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast)
     1149ODINFUNCTION4(HRESULT, SHBindToParent,
     1150              LPCITEMIDLIST, pidl,
     1151              REFIID, riid,
     1152              LPVOID *,ppv,
     1153              LPCITEMIDLIST *,ppidlLast)
    10631154{
    10641155        IShellFolder    * psf;
     
    11071198 * SHGetPathFromIDListAW                [SHELL32.221][NT 4.0: SHELL32.219]
    11081199 */
    1109 BOOL WINAPI SHGetPathFromIDListAW(LPCITEMIDLIST pidl,LPVOID pszPath)
     1200ODINFUNCTION2(BOOL, SHGetPathFromIDListAW,
     1201              LPCITEMIDLIST, pidl,
     1202              LPVOID, pszPath)
    11101203{
    11111204        TRACE_(shell)("(pidl=%p,%p)\n",pidl,pszPath);
Note: See TracChangeset for help on using the changeset viewer.