RemoveBindLink-Funktion (bindlink.h)
Mit dieser API kann ein Benutzer einen Link entfernen, der zuvor durch Aufrufen von CreateBindLink erstellt wurde.
Syntax
HRESULT RemoveBindLink(
PCWSTR virtualPath
);
Parameter
virtualPath
Der virtuelle Pfad, für den der Bindungslink entfernt werden soll.
Hinweise
Diese API schlägt fehl, wenn der Benutzer nicht über Administratorrechte verfügt oder wenn der Benutzer nicht über die Berechtigung für den Zugriff auf den virtuellen Pfad verfügt oder wenn der zu löschende Link der Vorgänger eines vorhandenen Links ist. Die API schlägt auch fehl, wenn der Link nicht vorhanden ist oder aufgrund eines anderen internen Fehlers. Wenn eine App gerade den virtuellen Pfad durchläuft, während RemoveBindLink aufgerufen wird, hängt das resultierende Verhalten davon ab, wo sich die einzelnen Threads im Prozess befinden (d. h. dies ist ein Rennen zwischen dem zu löschenden Link und der Datei/dem Verzeichnis, auf die zugegriffen wird).
Beachten Sie, dass geschachtelte Links in der höchsten Reihenfolge entfernt werden müssen. Dies bedeutet, dass der tiefste virtuelle Pfad entfernt werden muss, bevor virtuelle Pfade des Vorgängers entfernt werden können. Von nicht verwandten Diensten, die die Links erstellen und die Links entfernen, wird erwartet, dass sie den persönlichen Raum des anderen respektieren und ihre Zuordnungen auf Pfade unter ihrer Kontrolle beschränken.
Beispiele
Das folgende Beispiel zeigt, wie ein Benutzer einen zuvor erstellten Link auf C:\\test
entfernen kann.
#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";
}
Ein vollständiges Beispiel für die Verwendung der CreateBindLink - und RemoveBindLink-APIs finden Sie auf der Beispielseite für Bindungslinks .
Anforderungen
Anforderung | Wert |
---|---|
Header | bindlink.h |
Bibliothek | bindlink.lib |
DLL | bindlink.dll |