IoCheckFileObjectOpenedAsCopySource 함수(ntifs.h)
IoCheckFileObjectOpenedAsCopySource 루틴은 복사 의도를 원본 파일로 사용하여 파일이 이전에 열렸는지 여부를 확인합니다.
구문
BOOLEAN IoCheckFileObjectOpenedAsCopySource(
[in] PFILE_OBJECT FileObject
);
매개 변수
[in] FileObject
복사 의도에 대해 검사 원본 파일 개체에 대한 포인터입니다.
반환 값
파일 개체가 이전에 복사 파일 의도로 열린 원본 파일을 나타내는 경우 IoCheckFileObjectOpenedAsCopySource는 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다. TRUE의 반환 값은 생성 시 의도에만 신호를 보냅니다. 파일 개체의 모든 작업이 모두 복사본의 일부임을 의미하지는 않습니다.
설명
다음 예제에서는 복사 의도를 사용하여 파일 개체를 열었는지 검사 방법을 보여 있습니다.
typedef
BOOLEAN (*PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_SOURCE)(
_In_ PFILE_OBJECT FileObject
);
typedef
BOOLEAN (*PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_DESTINATION)(
_In_ PFILE_OBJECT FileObject
);
PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_SOURCE IoCheckFileObjectOpenedAsCopySource;
PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_DESTINATION IoCheckFileObjectOpenedAsCopyDestination;
// First resolve the API
RtlInitUnicodeString(&RoutineName, L"IoCheckFileObjectOpenedAsCopySource");
IoCheckFileObjectOpenedAsCopySource = (PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_SOURCE)MmGetSystemRoutineAddress(&RoutineName);
RtlInitUnicodeString(&RoutineName, L"IoCheckFileObjectOpenedAsCopyDestination");
IoCheckFileObjectOpenedAsCopyDestination = (PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_DESTINATION)MmGetSystemRoutineAddress(&RoutineName);
// Now use the API
IoCheckFileObjectOpenedAsCopySource(FltObjects->FileObject);
IoCheckFileObjectOpenedAsCopyDestination(FltObjects->FileObject);
자세한 내용은 커널 모드 파일 복사 및 복사 파일 시나리오 검색 을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 11, 버전 22H2 |
헤더 | ntifs.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
IRQL | PASSIVE_LEVEL |