IResolveShellLink::ResolveShellLink メソッド (shobjidl_core.h)

フォルダー オブジェクトがシェル リンクを解決することを要求します。

構文

HRESULT ResolveShellLink(
  [in] IUnknown *punkLink,
  [in] HWND     hwnd,
  [in] DWORD    fFlags
);

パラメーター

[in] punkLink

種類: IUnknown*

オブジェクトの IShellLink インターフェイスへのポインター。 その後、このインターフェイスに対してクエリを実行して、リンクの内容を確認できます。

[in] hwnd

型: HWND

シェルがダイアログ ボックスの親として使用するウィンドウを処理します。 リンクの解決中にユーザーに詳細情報の入力を求める必要がある場合は、シェルによってダイアログ ボックスが表示されます。

[in] fFlags

型: DWORD

アクション フラグ。 このパラメーターは、次の値と組み合わせて使用できます。

SLR_INVOKE_MSI

Windows インストーラーを呼び出します。

SLR_NOLINKINFO

分散リンクの追跡を無効にします。 既定では、分散リンク追跡では、ボリューム名に基づいて複数のデバイス間でリムーバブル メディアが追跡されます。 また、UNC パスを使用して、ドライブ文字が変更されたリモート ファイル システムを追跡します。 SLR_NOLINKINFO設定すると、両方の種類の追跡が無効になります。

SLR_NO_UI

リンクを解決できない場合は、ダイアログ ボックスを表示しません。 SLR_NO_UIが設定されている場合、fFlags の上位ワードはタイムアウト期間をミリ秒単位で指定します。 タイムアウト期間内にリンクを解決できない場合、関数は を返します。 上位ワードが 0 に設定されている場合、タイムアウト期間の既定値は 3000 ミリ秒 (3 秒) です。

SLR_NOUPDATE

リンク情報は更新しないでください。

SLR_NOSEARCH

検索ヒューリスティックは実行しないでください。

SLR_NOTRACK

分散リンク追跡は使用しないでください。

SLR_UPDATE

リンク オブジェクトが変更された場合は、そのパスと識別子の一覧を更新します。 SLR_UPDATEが設定されている場合、リンク オブジェクトが変更されたかどうかを判断するために IPersistFile::IsDirty を呼び出す必要はありません。

戻り値

種類: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

解説

このメソッドは、ターゲットが移動または名前変更された場合でも、シェル リンクのターゲットの検索を試みる必要があります。

要件

   
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)
[DLL] Shell32.dll (バージョン 5.0 以降)

関連項目

IResolveShellLink