mirror of https://github.com/tongzx/nt5src
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.6 KiB
80 lines
2.6 KiB
|
|
#ifndef _ISLTRACK_H_
|
|
#define _ISLTRACK_H_
|
|
|
|
#if defined(ENABLE_TRACK)
|
|
|
|
//===========================================================================
|
|
//
|
|
// Interface: IShellLinkTracker
|
|
//
|
|
// The IShellLinkTracker interface is used to access the ShellLink's
|
|
// CTracker object. For example, Monikers call this interface to set
|
|
// the creation flags in the CTracker.
|
|
//
|
|
//
|
|
// [Member functions]
|
|
//
|
|
// Initialize
|
|
// This function is called to set the Creation Flags on
|
|
// a ShellLinkTracker object
|
|
//
|
|
// Parameters: [DWORD] dwCreationFlags
|
|
//
|
|
// GetTrackFlags
|
|
// This function is used to get the creation flags (known externally
|
|
// as "track flags").
|
|
//
|
|
// Parameters: [DWORD *] pdwTrackFlags
|
|
//
|
|
// Resolve
|
|
// This function resolves the shell link, searching for the
|
|
// link if necessary.
|
|
//
|
|
// Parameters: [HWND] hwnd
|
|
// - The window of the caller (can be GetDesktopWindow()).
|
|
// [DWORD] fFlags
|
|
// - Flags to control the Resolve, from the SLR_ enumeration.
|
|
// [DWORD] dwRestricted
|
|
// - Track Flags to be OR-ed with the ShellLink object's
|
|
// internal Track Flags (a.k.a. Creation Flags).
|
|
// [DWORD] dwTickCountDeadline
|
|
// - The maximum amount of time, in milliseconds, for
|
|
// which a search should execute (if a search is necessary).
|
|
//
|
|
//
|
|
//===========================================================================
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IShellLinkTracker
|
|
|
|
DECLARE_INTERFACE_(IShellLinkTracker, IUnknown)
|
|
{
|
|
// *** IUnknown methods ***
|
|
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
|
|
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
|
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
|
|
|
|
|
// *** IShellLinkTracker methods ***
|
|
STDMETHOD(Initialize)(THIS_
|
|
DWORD dwTrackFlags) PURE;
|
|
STDMETHOD(GetTrackFlags)(THIS_
|
|
DWORD * pdwTrackFlags) PURE;
|
|
STDMETHOD(Resolve)(THIS_
|
|
HWND hwnd,
|
|
DWORD fFlags,
|
|
DWORD dwRestriction,
|
|
DWORD dwTickCountDeadline,
|
|
DWORD dwReserved ) PURE;
|
|
|
|
|
|
};
|
|
|
|
|
|
typedef IShellLinkTracker * LPSHELLLINKTRACKER;
|
|
|
|
DEFINE_GUID(IID_IShellLinkTracker, 0x5E35D200L, 0xF3BB, 0x11CE, 0x9B, 0xDB, 0x00, 0xAA, 0x00, 0x4C, 0xD0, 0x1A);
|
|
|
|
#endif // _CAIRO_
|
|
#endif // _ISLTRACK_H_
|