FSCTL_DELETE_REPARSE_POINT 제어 코드
FSCTL_DELETE_REPARSE_POINT 제어 코드는 지정된 파일 또는 디렉터리에서 재분석 지점을 삭제합니다. FSCTL_DELETE_REPARSE_POINT 사용하면 파일 또는 디렉터리가 삭제되지 않습니다.
이 작업을 수행하려면 다음 매개 변수 를 사용하여 ZwFsControlFile 을 호출합니다.
미니필터는 재분석 지점을 삭제하려면 FSCTL_DELETE_REPARSE_POINT 대신 FltUntagFile 을 사용해야 합니다.
재분석 지점 및 FSCTL_DELETE_REPARSE_POINT 제어 코드에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.
매개 변수
FileHandle [in]: 재분석 지점을 삭제할 파일 또는 디렉터리에 대한 파일 핸들입니다. 호출자는 파일 또는 디렉터리에 대한 쓰기 권한이 있어야 합니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
FsControlCode [in]: 작업에 대한 코드를 제어합니다. 이 작업에는 FSCTL_DELETE_REPARSE_POINT 사용합니다.
InputBuffer [in]: REPARSE_GUID_DATA_BUFFER 또는 REPARSE_DATA_BUFFER 구조체에 대한 포인터입니다. 이 구조체의 ReparseTag 멤버에 지정된 태그는 삭제할 재분석 지점의 태그와 일치해야 하며 ReparseDataLength 멤버는 0이어야 합니다. 또한 재분석 지점이 타사(비 Microsoft) 재분석 지점인 경우 REPARSE_GUID_DATA_BUFFER 구조체의 ReparseGuid 멤버에 지정된 GUID가 삭제할 재분석 지점의 GUID와 일치해야 합니다.
InputBufferLength [in]: InputBuffer 매개 변수가 가리키는 버퍼의 크기(바이트)입니다. REPARSE_GUID_DATA_BUFFER 구조체의 경우 이 값은 정확히 REPARSE_GUID_DATA_BUFFER_HEADER_SIZE 합니다. REPARSE_DATA_BUFFER 구조체의 경우 이 값은 정확히 REPARSE_DATA_BUFFER_HEADER_SIZE 합니다.
OutputBuffer [out]: None. NULL로 설정됨.
OutputBufferLength [out]: 를 0으로 설정합니다.
상태 블록
ZwFsControlFile 은 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.
코드 | 의미 |
---|---|
STATUS_IO_REPARSE_DATA_INVALID | 지정된 매개 변수 값 중 하나가 잘못되었습니다. 오류 코드입니다. |
STATUS_IO_REPARSE_TAG_INVALID | 호출자가 지정한 재분석 태그가 잘못되었습니다. 오류 코드입니다. |
STATUS_IO_REPARSE_TAG_MISMATCH | 호출자가 지정한 재분석 태그가 삭제할 재분석 지점의 태그와 일치하지 않습니다. 오류 코드입니다. |
STATUS_REPARSE_ATTRIBUTE_CONFLICT | 재분석 지점은 타사 재분석 지점이며 호출자가 지정한 재분석 GUID가 삭제할 재분석 지점의 GUID와 일치하지 않습니다. 오류 코드입니다. |
요구 사항
요구 사항 유형 | 요구 사항 |
---|---|
헤더 | Ntifs.h ( Ntifs.h 또는 Fltkernel.h 포함) |