Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.7 KiB

  1. #ifndef _ISLTRACK_H_
  2. #define _ISLTRACK_H_
  3. #if defined(ENABLE_TRACK)
  4. //===========================================================================
  5. //
  6. // Interface: IShellLinkTracker
  7. //
  8. // The IShellLinkTracker interface is used to access the ShellLink's
  9. // CTracker object. For example, Monikers call this interface to set
  10. // the creation flags in the CTracker.
  11. //
  12. //
  13. // [Member functions]
  14. //
  15. // Initialize
  16. // This function is called to set the Creation Flags on
  17. // a ShellLinkTracker object
  18. //
  19. // Parameters: [DWORD] dwCreationFlags
  20. //
  21. // GetTrackFlags
  22. // This function is used to get the creation flags (known externally
  23. // as "track flags").
  24. //
  25. // Parameters: [DWORD *] pdwTrackFlags
  26. //
  27. // Resolve
  28. // This function resolves the shell link, searching for the
  29. // link if necessary.
  30. //
  31. // Parameters: [HWND] hwnd
  32. // - The window of the caller (can be GetDesktopWindow()).
  33. // [DWORD] fFlags
  34. // - Flags to control the Resolve, from the SLR_ enumeration.
  35. // [DWORD] dwRestricted
  36. // - Track Flags to be OR-ed with the ShellLink object's
  37. // internal Track Flags (a.k.a. Creation Flags).
  38. // [DWORD] dwTickCountDeadline
  39. // - The maximum amount of time, in milliseconds, for
  40. // which a search should execute (if a search is necessary).
  41. //
  42. //
  43. //===========================================================================
  44. #undef INTERFACE
  45. #define INTERFACE IShellLinkTracker
  46. DECLARE_INTERFACE_(IShellLinkTracker, IUnknown)
  47. {
  48. // *** IUnknown methods ***
  49. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
  50. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  51. STDMETHOD_(ULONG,Release) (THIS) PURE;
  52. // *** IShellLinkTracker methods ***
  53. STDMETHOD(Initialize)(THIS_
  54. DWORD dwTrackFlags) PURE;
  55. STDMETHOD(GetTrackFlags)(THIS_
  56. DWORD * pdwTrackFlags) PURE;
  57. STDMETHOD(Resolve)(THIS_
  58. HWND hwnd,
  59. DWORD fFlags,
  60. DWORD dwRestriction,
  61. DWORD dwTickCountDeadline,
  62. DWORD dwReserved ) PURE;
  63. };
  64. typedef IShellLinkTracker * LPSHELLLINKTRACKER;
  65. DEFINE_GUID(IID_IShellLinkTracker, 0x5E35D200L, 0xF3BB, 0x11CE, 0x9B, 0xDB, 0x00, 0xAA, 0x00, 0x4C, 0xD0, 0x1A);
  66. #endif // _CAIRO_
  67. #endif // _ISLTRACK_H_