Freigeben über


FSCTL_SET_REPARSE_POINT-Steuerungscode

Der FSCTL_SET_REPARSE_POINT-Steuerelementcode legt einen Analysepunkt für eine Datei oder ein Verzeichnis fest.

Um diesen Vorgang auszuführen, rufen Sie ZwFsControlFile mit den folgenden Parametern auf.

Minifilter sollten FltTagFile anstelle von FSCTL_SET_REPARSE_POINT verwenden, um einen Analysepunkt festzulegen.

Weitere Informationen zu Analysepunkten und dem FSCTL_SET_REPARSE_POINT-Steuerungscode finden Sie in der Microsoft Windows SDK-Dokumentation.

Parameter

  • FileHandle [in]: Dateihandle für die Datei oder das Verzeichnis, für die bzw. das ein Analysepunkt festgelegt werden soll. Dieser Parameter ist erforderlich und darf nicht NULL sein.

  • FsControlCode [in]: Steuerungscode für den Vorgang. Verwenden Sie für diesen Vorgang FSCTL_SET_REPARSE_POINT.

  • InputBuffer [in]: Zeiger auf eine vom Aufrufer zugewiesene REPARSE_GUID_DATA_BUFFER - oder REPARSE_DATA_BUFFER-Struktur , die die Analysepunktdaten enthält. Wenn ein vorhandener Analysepunkt geändert wird, muss das im ReparseTag-Member dieser Struktur angegebene Tag mit dem Tag des zu ändernden Analysepunkts übereinstimmen. Wenn der Analysepunkt ein Analysepunkt eines Drittanbieters (nicht von Microsoft) ist, ist die im ReparseGuid-Member der Struktur angegebene GUID ein REPARSE_GUID_DATA_BUFFER Struktur mit der GUID des zu ändernden Analysepunkts übereinstimmen muss.

  • InputBufferLength [in]: Größe des Puffers, auf den der InputBuffer-Parameter verweist, in Bytes. Für eine REPARSE_GUID_DATA_BUFFER-Struktur muss dieser Wert mindestens REPARSE_GUID_DATA_BUFFER_HEADER_SIZE plus der Größe der benutzerdefinierten Daten und kleiner oder gleich MAXIMUM_REPARSE_DATA_BUFFER_SIZE sein. Für eine REPARSE_DATA_BUFFER-Struktur muss dieser Wert mindestens REPARSE_DATA_BUFFER_HEADER_SIZE plus der Größe der benutzerdefinierten Daten und kleiner oder gleich MAXIMUM_REPARSE_DATA_BUFFER_SIZE sein.

  • OutputBuffer [out]: Bei diesem Vorgang nicht verwendet; auf NULL festgelegt.

  • OutputBufferLength [out]: Bei diesem Vorgang nicht verwendet; auf 0 (null) festgelegt.

Statusblock

ZwFsControlFile gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert zurück, z. B. einen der folgenden:

Code Bedeutung
STATUS_DIRECTORY_NOT_EMPTY Ein Analysepunkt kann nicht für ein nicht leeres Verzeichnis festgelegt werden. Dies ist ein Fehlercode.
STATUS_EAS_NOT_SUPPORTED Ein Analysepunkt kann nicht für eine Datei festgelegt werden, wenn sich diese Anforderung in einer Transaktion befindet. Dies ist ein Fehlercode.
STATUS_IO_REPARSE_DATA_INVALID Einer der angegebenen Parameterwerte war ungültig. Dies ist ein Fehlercode.
STATUS_IO_REPARSE_TAG_MISMATCH Das vom Aufrufer angegebene Analysetag stimmte nicht mit dem Tag des zu ändernden Analysepunkts überein. Dies ist ein Fehlercode.
STATUS_NOT_A_REPARSE_POINT Die Datei oder das Verzeichnis ist kein Analysepunkt. Dies ist ein Fehlercode.
STATUS_REPARSE_ATTRIBUTE_CONFLICT Der Analysepunkt ist ein Analysepunkt eines Drittanbieters, und die vom Aufrufer angegebene Analyse-GUID stimmte nicht mit der GUID des zu ändernden Analysepunkts überein. Dies ist ein Fehlercode.

Anforderungen

Anforderungstyp Anforderung
Header Ntifs.h (schließen Sie Ntifs.h oder Fltkernel.h ein)

Weitere Informationen

FLT_PARAMETERS für IRP_MJ_FILE_SYSTEM_CONTROL

FltTagFile

FltUntagFile

FSCTL_DELETE_REPARSE_POINT

FSCTL_GET_REPARSE_POINT

IRP_MJ_FILE_SYSTEM_CONTROL

IsReparseTagMicrosoft

IsReparseTagNameSurrogate

REPARSE_DATA_BUFFER

REPARSE_GUID_DATA_BUFFER

ZwFsControlFile