Operacje ponownej analizy punktu
Aby określić, czy system plików obsługuje punkty ponownej analizy, wywołaj funkcję GetVolumeInformation i zbadaj flagę bitową FILE_SUPPORTS_REPARSE_POINTS.
Funkcja DeviceIoControl umożliwia ustawianie, modyfikowanie, uzyskiwanie i usuwanie punktów ponownej analizy. W poniższej tabeli opisano operacje punktu ponownej analizy, które można wykonać przy użyciu DeviceIoControl.
Operacja | Opis |
---|---|
FSCTL_SET_REPARSE_POINT | Umożliwia programowi wywołującym ustawienie nowego punktu ponownej analizy lub zmodyfikowanie istniejącego punktu. |
FSCTL_GET_REPARSE_POINT | Uzyskuje informacje przechowywane w istniejącym punkcie ponownej analizy. |
FSCTL_DELETE_REPARSE_POINT | Usuwa istniejący punkt ponownej analizy. |
W przypadku modyfikowania, pobierania lub usuwania punktu ponownej analizy należy określić ten sam tag ponownej analizy w operacji zawartej w pliku. W przeciwnym razie operacja zakończy się niepowodzeniem z powodu błędu ERROR_REPARSE_TAG_MISMATCH. W przypadku modyfikowania lub usuwania punktu ponownej analizy należy również określić identyfikator GUI D ponownej analizy w operacji zawartej w pliku. W przeciwnym razie operacja zakończy się niepowodzeniem z powodu błędu ERROR_REPARSE_ATTRIBUTE_CONFLICT.
Aby określić, czy plik lub katalog zawiera punkt ponownej analizy, użyj funkcji GetFileAttributes. Jeśli plik lub katalog ma skojarzony punkt ponownej analizy, FILE_ATTRIBUTE_REPARSE_POINT atrybut jest ustawiony.
Aby zastąpić istniejący punkt ponownej analizy bez konieczności obsługi pliku lub katalogu, wywołaj CreateFile za pomocą FILE_FLAG_OPEN_REPARSE_POINT. Ta flaga umożliwia otwarcie pliku niezależnie od tego, czy odpowiedni filtr systemu plików jest zainstalowany i działa poprawnie.