ZwCreateFile error for \Device\HarddiskVolumeX

Dear all, i am writing a volume upper filter driver. i want to read data from volume in start device complete routine. but it always failed. if i use the next lower deviceobject to build irp, read returns NO_SUCH_DEVICE. if i user ZwCreateFile to create handle for \device\harddiskvolumeX, it also failed with NO_SUCH_DEVICE. but i know some others can create it successfully, why i can’t do it?
device IOCTL like IOCTL_DISK_GET_LENGTH_INFO also failed, but IOCTL_DISK_GET_PARTITION_INFO_EX can be succeeded.