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를 사용하는 방법에 대한 전체 예제는 바인딩 링크 예제 페이지를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | bindlink.h |
라이브러리 | bindlink.lib |
DLL | bindlink.dll |