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