BlankHi,
I’m trying to build my own IRP to create a file, and the request passed to
lower driver is successfully returned,
but reading or writing by the new fileobject will hang . The
IoCheckShareAccess also returns 0 for READ & WRITE.
What’s wrong with the creation ?
Here is dump of FileObject after creation:
814255c0: FsContext: e1f901c8
814255c0: FsContext2: e1ed2868
814255c0: FinalStatus: 00000000
814255c0: RelatedFileObject: 813511e8
814255c0: LockOperation: 00000000
814255c0: DeletePending: 00000000
814255c0: ReadAccess: 00000001
814255c0: WriteAccess: 00000001
814255c0: DeleteAccess: 00000000
814255c0: SharedRead: 00000001
814255c0: SharedWrite: 00000001
814255c0: SharedDelete: 00000000
814255c0: Flags: 00000042
814255c0: CurrentByteOffset: 00000000
814255c0: Waiters: 00000000
814255c0: Busy: 00000000
814255c0: LastLock: 00000000
814255c0: Lock: 00040001
814255c0: Event: 00040000
814255c0: CompletionContext: 00000000
The IoCheckShareAccess call is
DbgTrace((“IoCheckAccess return %d\n”,
(STATUS_SUCCESS == IoCheckShareAccess( FILE_READ_DATA,
FILE_SHARE_READ,
FileObject,
&shareaccess,
FALSE))));
Thanks,
Xinwei