IE ユーザーが SharePoint にあるファイルのリンクをクリックすると (そしてユーザーが「読み取り専用」アクセスを選択すると)、ファイルは一時インターネット ファイルにコピーされ、アプリケーションが開かれ、そのファイル名がパラメーターとして渡されます。ユーザーが読み取り専用モードからチェックアウトおよび編集モードに切り替えることができるように、アプリに「チェックアウト」ボタンを実装しようとしています。ファイルの SharePoint URL を知る方法が見つかりませんでした。チェックアウトして編集するときは問題ありません。システム上のファイルを SharePoint の URL にマップするレジストリ エントリがあります。読み取り専用ファイルのようなものは見つかりませんでした。
編集: Windows エクスプローラーで使用できる URL 列がありますが、その列を (エクスプローラーで) 表示すると、すべての値が空白になります。また、この値を返すファイル情報 API 呼び出しが見つかりません。
更新: wininet.lib でいくつかの有望な呼び出しを見つけました: FindFirstUrlCacheEntryEx (および "next") と FindFirstUrlCacheGroup (および next)。それらはデータを返さなかったようで、私が読んだことから、これらは私のアプリケーションの wininet api 呼び出しキャッシュの使用のみを返します - IE のものではありません。
また、ファイルを開いたときに IE がアプリに対して行った COM 呼び出しのリストを実行して、サポートされている場合にどのインターフェイスが表示されているかを確認してみました。有望に見えたのは IMonikerProp インターフェイスで、実装すると呼び出されました...ただし、MIME タイプのプロパティ、アプリのクラス ID、TrustedDownload フラグしか提供されませんでした。