반응형
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]의 조합이 필요하다.
반응형
'Windows Programming > 드라이버' 카테고리의 다른 글
DRIVER_POWER_STATE_FAILURE (9f) (0) | 2009.04.14 |
---|---|
IRP_MJ_DEVICE_CONTROL Irp의 완료처리 (0) | 2009.03.31 |
File System의 로드와 볼륨마운트 과정 (1) | 2009.01.16 |
WDK Header의 계층관계 (0) | 2009.01.09 |
Run-time String 함수와 kernel String함수의 대응관계 (0) | 2008.10.17 |