How to use RtlVolumeDeviceToDosName()?

Hi:
I added the following codes to my filter driver.But it resulted in system crashing.The codes are invoked to find out which voulme it is(C:,D: or E:?) when a volume is being mounted.

UNICODE_STRING DosName;
RtlInitUnicodeString(&DosName,NULL);
RtlVolumeDeviceToDosName(PtrTargetVolumeDeviceObject,&DosName);

I think the problem lies in the last sentence because it will work properly if the last sentence is removed.But I don’t know the reason.Could anybody give me any advice?
Thanks.

Jim

Hi:
I added the following codes to my filter driver.But it resulted in system crashing.The codes are invoked to find out which voulme it is(C:,D: or E:?) when a volume is being mounted.

UNICODE_STRING DosName;
RtlInitUnicodeString(&DosName,NULL);
RtlVolumeDeviceToDosName(PtrTargetVolumeDeviceObject,&DosName);

I think the problem lies in the last sentence because it will work properly if the last sentence is removed.But I don’t know the reason.Could anybody give me any advice?

The error message (by softice) is “Break due to Page fault(0EH) Fault=0000”.The function is called in IRQL PASSIVE_LEVEL(? irql:(uchar) 0x0).

Thanks.

Jim