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 以降) |