반응형
scanner의 데이터를 볼 경우 저장된 값 이외에 쓰레기 값들이 들어온다.
이 이유는 드라이버 개발자를 위한 윈도우 파일 시스템의 책 내용에서 추측할 수 있는데 책에는 이렇게 나와 있다.
저장되는 파일의 크기는 stack location의 parameter의 union 구조체에 저장 되어 있는데(parameters.Write.Length) 이 크기가 실제 데이터 크기가 아니란다. 항상 페이지 크기로 설정 되어 있기 때문이란다.(0x10000)
그렇기에 실제 크기를 알고자 할 경우 FSRTL_COMMON_FCB_HEADER 구조체에서 파일 크기와 관련된 멤버 변수를 추출해야 한단다.
FcbHeader = currenIrpStack->FileObject->FsContext , size =
FcbHeader->FileSize.LowPart
이렇게 구해오랜다.
반응형
'프로그래밍 > Windows Device Driver' 카테고리의 다른 글
[Windows Driver] 필터 드라이버 고도(Altitude range) (0) | 2014.01.28 |
---|---|
장치드라이버 아이콘 변경하기 (0) | 2014.01.21 |
chkinf 사용하기 (0) | 2014.01.07 |
[WDK] passThrough 드라이버 (4) | 2013.12.28 |
[WDK] nullFilter 드라이버 (0) | 2013.12.28 |