DeviceIoControl on x64

Hi, all:
I ported my upfilter driver(filter on atapi.sys) to x64 platform.
But the my x64 version driver can not receive the DeviceIoControl
request from UM application. Because my driver is a filter on the disk
stack, my UM codes which send io control to device are just like this:

HANDLE handle = CreateFile(“PhysicalDrive0”,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
0, OPEN_EXISTING, 0, 0);

rval = DeviceIoControl(handle,
IOCTL_SOME_CONTROLCODE,
0, 0,
&buffer, sizeof(STRUCT_TYPE),
&ret, NULL);

My driver did not receive the IOCTL_SOME_CONTROLCODE control
request. But the DeviceIoControl function return true! And those
codes is work fine on x86 platform.

Anybody has suggestion about why? thx.

Leo