Why call to IoBuildSynchronousFsdRequest hangs?

Hi,

Here is my code:

LARGE_INTEGER offset;
offset.QuadPart = 0;

KeInitializeEvent( &event, NotificationEvent, FALSE );
ioStatusBlock.Status = STATUS_SUCCESS;
ioStatusBlock.Information = 0;

irp = IoBuildSynchronousFsdRequest(IRP_MJ_READ, //MajorFunction,
NextDeviceObject, //DeviceObject,
OutputBuffer, //output buffer
Length,
&offset,
&event,
&ioStatusBlock);

OutputBuffer is passed through DeviceIoControl
It never returns from the call. Why?

As I understands this function only allocates IRP and fills its
parameters. Why can it hang?

--
Roman Kudinov

mailto:xxxxx@rbcmail.ru