Função RemoveBindLink (bindlink.h)
Essa API permite que um usuário remova um link que foi criado anteriormente chamando CreateBindLink.
Sintaxe
HRESULT RemoveBindLink(
PCWSTR virtualPath
);
Parâmetros
virtualPath
O caminho virtual para o qual o link de associação deve ser removido.
Comentários
Essa API falhará se o usuário não tiver privilégios de Administrador ou se o usuário não tiver permissão para acessar o caminho virtual ou se o link que está sendo excluído for o ancestral de um link existente. A API também falhará se o link não existir ou devido a outro erro interno. Se um aplicativo estiver no meio da passagem do caminho virtual enquanto RemoveBindLink for chamado, o comportamento resultante dependerá de onde cada um dos threads está no processo (ou seja, essa é uma corrida entre o link que está sendo excluído e o arquivo/diretório que está sendo acessado).
Observe que os links aninhados devem ser removidos na ordem mais profunda. Isso significa que o caminho virtual mais profundo deve ser removido antes que os caminhos virtuais ancestrais possam ser removidos. Espera-se que os serviços não relacionados que criam os links e removam os links respeitem o espaço pessoal uns dos outros e limitem seus mapeamentos a caminhos sob seu controle.
Exemplos
O exemplo a seguir mostra como um usuário pode remover um link criado anteriormente em 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";
}
Para obter um exemplo completo de como usar as APIs CreateBindLink e RemoveBindLink , consulte a página de exemplo de link de associação .
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | bindlink.h |
Biblioteca | bindlink.lib |
DLL | bindlink.dll |