Поделиться через


Функция 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";
}

Полный пример использования API CreateBindLink и RemoveBindLink см. на странице примеров ссылок привязки .

Требования

Требование Значение
Заголовок bindlink.h
Библиотека bindlink.lib
DLL bindlink.dll

См. также раздел

CreateBindLink