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