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 和 RemoveBindLink API 的完整示例,请参阅 绑定链接示例 页。
要求
要求 | 值 |
---|---|
Header | bindlink.h |
Library | bindlink.lib |
DLL | bindlink.dll |