Доброй ночи !
Пишу драйвер для работы с USB устройством на базе PHILIPS ISP1583.
Использую:
-    Windows XP SP2
 -    Compuware Driver Studio (3.00)
 -    DDK XP (2600)
 -    USB 2.0
 
Читая данные с устройства посредством BULK - все работает.
Пытаюсь читать данные с устройства через ISOCHRONOUS (соответствующие конечные точки сконфигурированы).
Взял пример из Driver Studio "usbisoch\iread.cpp". 
В UsbIsocDevice::StartIsocReads() на функции "BuildIsochronousTransfer" 
получаю BSOD. Пожалуйста, подскажите где ошибка. Заранее благодарю.
#define ISOC_NUM_PACKETS_PER_URB    32
#define ISOC_PACKET_SIZE            64
#define ISOC_URB_DATA_SIZE          (ISOC_NUM_PACKETS_PER_URB * ISOC_PACKET_SIZE)
...
UCHAR *p = new (NonPagedPool) UCHAR[ISOC_URB_DATA_SIZE]; 
...
PURB pUrb = m_Iso_Endpoint_IN.BuildIsochronousTransfer(
	ISOC_NUM_PACKETS_PER_URB,  // # packets
	ISOC_PACKET_SIZE,          // packet size
	TRUE,                      // bIn
	TRUE,                      // bASAP
	USBD_ISO_START_FRAME_RANGE,	// Start Frame
	p,                         // pBuffer
	ISOC_URB_DATA_SIZE	         // Length	
         );