RemoveBindLink 関数 (bindlink.h)

この API を使用すると、ユーザーは CreateBindLink を呼び出して以前に作成したリンクを削除できます。

構文

HRESULT RemoveBindLink(
  PCWSTR virtualPath
);

パラメーター

virtualPath

バインド リンクを削除する仮想パス。

注釈

この API は、ユーザーが管理者特権を持っていない場合、またはユーザーが仮想パスにアクセスするためのアクセス許可を持っていない場合、または削除されるリンクが既存のリンクの先祖である場合に失敗します。 リンクが存在しない場合、または別の内部エラーが原因で API も失敗します。 RemoveBindLink の呼び出し中にアプリが仮想パスを走査する途中にある場合、結果の動作は、各スレッドがプロセス内のどこにあるかによって異なります (つまり、これは、削除されるリンクとアクセスされるファイル/ディレクトリの間の競合です)。

入れ子になったリンクは、最も深い順に削除する必要があることに注意してください。 つまり、先祖の仮想パスを削除するには、最も深い仮想パスを削除する必要があります。 リンクを作成してリンクを削除する関連のないサービスは、お互いの個人用領域を尊重し、それらのマッピングを制御下のパスに制限することが期待されます。

次の例は、 で以前に作成したリンクをユーザーが削除する方法を C:\\test示しています。

#include <iostream>
#include <wil\resource.h>
#include <bindlink.h>

int wmain(int argc, wchar_t* argv[])
{
    constexpr PCWSTR virtPath = L"C:\test";
    HRESULT hr = S_OK;

    hr = RemoveBindLink(virtPath);

    if(FAILED(hr))
    {
        std::cerr << "CreateBindLink Failed with Err: " << hr;
        return hr;
    }

    std::cout << "Link Deleted!\n";
}

CreateBindLink API と RemoveBindLink API の使用方法の完全な例については、バインド リンクの例に関するページを参照してください。

要件

要件
Header bindlink.h
Library bindlink.lib
[DLL] bindlink.dll

こちらもご覧ください

CreateBindLink