Windows Programming/드라이버
FileObject->RelatedFileObject가 유효한 경우
좋은향기
2009. 1. 19. 13:16
반응형
FILE_OBJECT의 RelatedFileObject 필드가 유효한 경우
* MSDN의 FILE_OBJECT 섹션을 찾아보면 RelatedFileObject필드는 IRP_MJ_CREATE IRP를 처리하는 시점에서만 유효함을 알 수 있다.
그렇다면 IRP_MJ_CREATE IRP를 처리할때는 RElatedFileObject필드가 항상 유효한가?
MS 문서에 Documentation 되어 있는 내용은 아니지만, 테스트 해보면 다음과 같은 결과를 알수 있다.
1) 절대 경로를 이용하여 파일을 생성하는 경우, [ fopen("E:\\test.txt", _T("w")); ]
FileObject->RelatedFileObject == NULL
FileObject->FileName 필드가 포함하는 값 : 파일경로+파일명 포함
* FullPath를 얻기 위해서는 [볼륨명+FileObject->FileName]의 조합이면 된다.
2) 상대 경로를 이용하여 파일을 생성하는 경우, [ fopen("test.txt", _T("w")); ]
FileObject->RelatedFileObject != NULL
FileObject->RelatedFileObject->FileName 필드가 포함하는 값 : 폴더패스
FileObject->FileName 필드가 포함하는 값 : 파일명
* FullPath를 얻기 위해서는 [볼륨명+FileObject->RelateFileObject+ FileObject->FileName]의 조합이 필요하다.
반응형