IoReplaceFileObjectName 함수(ntifs.h)
IoReplaceFileObjectName 루틴은 파일 개체의 이름을 대체합니다.
구문
NTSTATUS IoReplaceFileObjectName(
[in] PFILE_OBJECT FileObject,
[in] PWSTR NewFileName,
[in] USHORT FileNameLength
);
매개 변수
[in] FileObject
파일 이름을 바꿀 파일 개체에 대한 포인터입니다.
[in] NewFileName
파일 개체의 새 이름에 대한 문자열 버퍼에 대한 포인터입니다.
[in] FileNameLength
파일 개체의 새 이름의 길이(바이트)입니다.
반환 값
그렇지 않으면 STATUS_SUCCESS 또는 다음 NTSTATUS 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
STATUS_INVALID_PARAMETER | 제공된 파일 개체에 바꿀 이름이 없습니다. |
STATUS_INSUFFICIENT_RESOURCES | 이 작업을 완료하기 위해 버퍼를 할당할 수 있는 메모리가 부족합니다. |
설명
드라이버는 IoReplaceFileObjectName 을 사용하여 파일 개체의 이름을 안전하게 바꿔야 합니다. 이렇게 하면 I/O 관리자가 파일 개체와 연결된 버퍼의 수명을 제어할 수 있습니다. IoReplaceFileObjectName을 사용하지 않고 파일 개체 이름을 직접 바꾸는 것은 이름의 다른 용도와 충돌할 수 있으며 가능하면 피해야 합니다.
이 루틴은 커널이 이름의 수명을 올바르게 관리할 수 있도록 수동으로 수행하는 대신 파일 개체 이름을 바꾸는 데 사용해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 |
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |