FSCTL_ENUM_OVERLAY 제어 코드
FSCTL_ENUM_OVERLAY 제어 코드는 지정된 볼륨에 대한 지원 공급자의 모든 데이터 원본을 열거합니다.
이 작업을 수행하려면 다음 매개 변수 를 사용하여 FltFsControlFile 또는 ZwFsControlFile 을 호출합니다.
매개 변수
인스턴스 [in]: FltFsControlFile만 해당 합니다. 호출자에 대한 불투명 instance 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
FileObject [in]: FltFsControlFile만 해당 합니다. 분리할 볼륨을 지정하는 파일 포인터 개체입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
FileHandle [in]: ZwFsControlFile만 해당 합니다. 분리할 볼륨의 파일 핸들입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
FsControlCode [in]: 작업에 대한 제어 코드입니다. 이 작업에 는 FSCTL_REMOVE_OVERLAY 사용합니다.
InputBuffer [in]: WOF_EXTERNAL_INFO 구조를 포함해야 하는 입력 버퍼에 대한 포인터입니다.
InputBufferLength [in]: sizeof(WOF_EXTERNAL_INFO)로 설정합니다.
OutputBuffer [out]: 볼륨을 지원하는 데이터 원본에 대해 하나 이상의 WIM_PROVIDER_OVERLAY_ENTRY 구조를 수신하는 출력 버퍼에 대한 포인터입니다.
OutputBufferLength [out]: OutputBuffer가 가리키는 버퍼의 크기(바이트)입니다.
LengthReturned [out]: 성공적으로 완료될 때 OutputBuffer 에 기록된 바이트 수를 지정합니다.
상태 블록
FltFsControlFile 또는 ZwFsControlFile 은 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 함수가 다음 NTSTATUS 값 중 하나를 반환할 수 있습니다.
코드 | 의미 |
---|---|
STATUS_ACCESS_DENIED | 요청자에게는 관리 권한이 없습니다. |
STATUS_BUFFER_TOO_SMALL | OutputBuffer에서 가리키고 OutputBufferLength로 지정된 출력 버퍼의 길이가 너무 작습니다. |
STATUS_INTERNAL_ERROR | 요청된 볼륨에 액세스할 수 없습니다. |
STATUS_INVALID_DEVICE_REQUEST | 지원 서비스가 없거나 시작되지 않았습니다. |
설명
WIM 공급자에 대한 데이터 원본을 열거할 때 출력 버퍼에는 WIM_PROVIDER_OVERLAY_ENTRY 구조의 배열이 포함됩니다. 출력 버퍼의 크기는 모든 오버레이 항목을 포함할 수 있을 만큼 커야 합니다. 그렇지 않으면 호출이 STATUS_BUFFER_TOO_SMALL 반환됩니다.
추가 지원 공급자는 고유한 특정 열거형 구조를 정의합니다.
요구 사항
요구 사항 유형 | 요구 사항 |
---|---|
지원되는 최소 클라이언트 | Windows 8.1 Update |
헤더 | Ntifs.h ( Ntifs.h 또는 Fltkernel.h 포함) |