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