home *** CD-ROM | disk | FTP | other *** search
/ Total C++ 2 / TOTALCTWO.iso / vb5.0 / tools / unsupprt / shelllnk / shelllnk.odl < prev    next >
Text File  |  1997-01-16  |  7KB  |  228 lines

  1. // File:  generated on 8/29/96 4:51:01 PM - By Brian Harris
  2.  
  3.                         // Default Win95[ANSI]
  4. //#define UNICODE    //         WinNT[UNICODE]
  5.  
  6. [
  7. #ifdef UNICODE
  8.     uuid(11269240-F241-11cf-BD9A-00AA00575603),
  9.     helpstring("VB 5 - IShellLinkW Interface(UNICODE)"),
  10. #else
  11.     uuid(11269241-F241-11cf-BD9A-00AA00575603),
  12.     helpstring("VB 5 - IShellLinkA Interface(ANSI)"),
  13. #endif
  14.     version(1.0)
  15. ]
  16.  
  17.  
  18. #ifdef UNICODE
  19.     library IShellLinkW
  20.     #define ISTRING LPWSTR
  21. #else
  22.     library IShellLinkA
  23.     #define ISTRING LPSTR
  24. #endif
  25. #define TCHAR unsigned char
  26.  
  27. {
  28.     importlib("stdole2.tlb");
  29.  
  30.     #define MAX_PATH  255
  31.  
  32.     typedef struct FILETIME
  33.     {
  34.       long  dwLowDateTime;
  35.       long  dwHighDateTime;
  36.     } FILETIME;
  37.  
  38.     typedef struct WIN32_FIND_DATA
  39.     {
  40.       long      dwFileAttributes;
  41.       FILETIME  ftCreationTime;
  42.       FILETIME  ftLastAccessTime;
  43.       FILETIME  ftLastWriteTime;
  44.       long      nFileSizeHigh;
  45.       long      nFileSizeLow;
  46.       long      dwReserved0;
  47.       long      dwReserved1;
  48.       TCHAR     cFileName[MAX_PATH];
  49.       TCHAR     cAlternate[14];
  50.     } WIN32_FIND_DATA;
  51.  
  52.     // IShellLink::Resolve fFlags
  53.     typedef enum {
  54.         SLR_NO_UI           = 0x0001,
  55.         SLR_ANY_MATCH       = 0x0002,
  56.         SLR_UPDATE          = 0x0004,
  57.     } SLR_FLAGS;
  58.  
  59.     // IShellLink::GetPath fFlags
  60.     typedef enum {
  61.         SLGP_SHORTPATH      = 0x0001,
  62.         SLGP_UNCPRIORITY    = 0x0002,
  63.     } SLGP_FLAGS;
  64.  
  65.     //==========================================================================
  66.     [
  67.         uuid(0000010b-0000-0000-C000-000000000046),
  68.         helpstring("IPersistFile Interface"),
  69.         odl
  70.     ]
  71.     //==========================================================================
  72.     interface IPersistFile : IUnknown
  73.     //==========================================================================
  74.     {
  75.         [helpstring("GetClassID")]
  76.         HRESULT GetClassID (
  77.                         [in,out] long  *pClassID);
  78.  
  79.         [helpstring("IsDirty")]
  80.         HRESULT IsDirty (void);
  81.  
  82.         [helpstring("Load")]
  83.         HRESULT Load (
  84.                         [in]     LPSTR  pszFileName,
  85.                         [in]     long   dwMode);
  86.  
  87.         [helpstring("Save")]
  88.         HRESULT Save (
  89.                         [in]     LPSTR  pszFileName,
  90.                         [in]     long   fRemember);
  91.  
  92.         [helpstring("SaveCompleted")]
  93.         HRESULT SaveCompleted (
  94.                         [in]     LPSTR  pszFileName);
  95.  
  96.         [helpstring("GetCurFile")]
  97.         HRESULT GetCurFile (
  98.                         [in,out] LPSTR *ppszFileName);
  99.     }
  100.  
  101.     //==========================================================================
  102.     [
  103. #ifdef UNICODE
  104.         uuid(000214F9-0000-0000-C000-000000000046),
  105.         helpstring("IShellLinkW Interface"),
  106. #else
  107.         uuid(000214EE-0000-0000-C000-000000000046),
  108.         helpstring("IShellLinkA Interface"),
  109. #endif
  110.         odl, hidden
  111.     ]
  112.  
  113.     //==========================================================================
  114. #ifdef UNICODE
  115.     interface IShellLinkW:IUnknown
  116. #else
  117.     interface IShellLinkA:IUnknown
  118. #endif
  119.     //==========================================================================
  120.     {
  121.         [helpstring("GetPath")]
  122.         HRESULT GetPath(
  123.                         [in]     ISTRING           pszFile,
  124.                         [in]     long              cchMaxPath,
  125.                         [in,out] WIN32_FIND_DATA  *pfd,
  126.                         [in]     long              fflags);
  127.  
  128.         [helpstring("GetIDList")]
  129.         HRESULT GetIDList(
  130.                         [in,out]  long  *ppidl);
  131.  
  132.         [helpstring("SetIDList")]
  133.         HRESULT SetIDList(
  134.                         [in]      long   pidl);
  135.  
  136.         [helpstring("GetDescription")]
  137.         HRESULT GetDescription(
  138.                         [in]      ISTRING  pszName,
  139.                         [in]      long     cchMaxName);
  140.  
  141.         [helpstring("SetDescription")]
  142.         HRESULT SetDescription(
  143.                         [in]      ISTRING  pszName);
  144.  
  145.         [helpstring("GetWorkingDirectory")]
  146.         HRESULT GetWorkingDirectory(
  147.                         [in]      ISTRING  pszDir,
  148.                         [in]      long     cchMaxPath);
  149.  
  150.         [helpstring("SetWorkingDirectory")]
  151.         HRESULT SetWorkingDirectory(
  152.                         [in]      ISTRING  pszDir);
  153.  
  154.         [helpstring("GetArguments")]
  155.         HRESULT GetArguments(
  156.                         [in]      ISTRING  pszArgs,
  157.                         [in]      long     cchMaxPath);
  158.  
  159.         [helpstring("SetArguments")]
  160.         HRESULT SetArguments(
  161.                         [in]      ISTRING  pszArgs);
  162.  
  163.         [helpstring("GetHotkey")]
  164.         HRESULT GetHotkey(
  165.                         [in,out]  long    *pwHotkey);
  166.  
  167.         [helpstring("SetHotkey")]
  168.         HRESULT SetHotkey(
  169.                         [in]      long    wHotkey);
  170.  
  171.         [helpstring("GetShowCmd")]
  172.         HRESULT GetShowCmd(
  173.                         [in,out]  long   *piShowCmd);
  174.  
  175.         [helpstring("SetShowCmd")]
  176.         HRESULT SetShowCmd(
  177.                         [in]      long    iShowCmd);
  178.  
  179.         [helpstring("GetIconLocation")]
  180.         HRESULT GetIconLocation(
  181.                         [in]      ISTRING  pszIconPath,
  182.                         [in]      long     cchIconPath,
  183.                         [in,out]  long    *piIcon);
  184.  
  185.         [helpstring("SetIconLocation")]
  186.         HRESULT SetIconLocation(
  187.                         [in]      ISTRING  pszIconPath,
  188.                         [in]      long     iIcon);
  189.  
  190.         [helpstring("SetRelativePath")]
  191.         HRESULT SetRelativePath(
  192.                         [in]      ISTRING  pszPathRel,
  193.                         [in]      long     dwReserved);
  194.  
  195.         [helpstring("Resolve")]
  196.         HRESULT Resolve(
  197.                         [in]      long     hwnd,
  198.                         [in]      long     fflags);
  199.  
  200.         [helpstring("SetPath")]
  201.         HRESULT SetPath(
  202.                         [in]      ISTRING  pszFile);
  203.     }
  204. #ifdef UNICODE
  205.     //==========================================================================
  206.     [
  207.         uuid(00021401-0000-0000-C000-000000000046),
  208.         helpstring("ShellLinkW Class")
  209.     ]
  210.     //==========================================================================
  211.     coclass ShellLinkW
  212.     {
  213.         [default] interface IShellLinkW;
  214.     }
  215. #else
  216.     //==========================================================================
  217.     [
  218.         uuid(00021401-0000-0000-C000-000000000046),
  219.         helpstring("ShellLinkA Class")
  220.     ]
  221.     //==========================================================================
  222.     coclass ShellLinkA
  223.     {
  224.         [default] interface IShellLinkA;
  225.     }
  226. #endif
  227. }
  228.