D3D9 Index buffers and cuda


Is there any way to ‘cudaD3D9RegisterResource’ d3d9 INDEX buffer ?
for vertex buffers all is fine, but for index buffers calling

cudaD3D9RegisterResource(IndexBuffer, cudaD3D9RegisterFlagsNone);

always ends with:

First-chance exception at 0x7789649d in RayCaster.exe: Microsoft C++ exception: cudaError_enum at memory location 0x0029f264…

Index buffer is in POOL_DEFAULT and have format D3DFMT_INDEX16

When moved to POOL_MANAGED, VC triggers breakpoint and tells:

HEAP[RayCaster.exe]: HEAP: Free Heap block 3e8cf60 modified at 3e8d04c after it was freed

The index buffer is 100% ok, because all rendering on screen from it is correct every frame. I just need to read indices from this buffer (map it with cudaD3D9MapFlagsReadOnly).

Now i need to allocate memory using cudaAlloc, then lock index buffer,
then do cudaMemcpy(cudaMalloc_allocated_memory, pointer_returned_by_lock, HostToDevice) and all is fine.
The interop between indexbuffer and cuda is broken for dx9 ?