You are wrong, you must make a function on Darkbasic, with two parameters and must be passed to iCamVideoStreamCallback, if you see iCamSetCallbackAddress on help file, it have a pseudo code to explain how it must be coded. With iCamSetCallbackAddress to pass to iCamPlay the address of your function created on DB to process video stream. You must make a function like this:
function VideoStreamCallBack(lwnd,VHDR)
Call dll 1,"iCamVideoStreamCallBack",lwnd,VHDR
Call dll 1,"iCamGetMotion"
address=Make Memory(x*y*4)
Call dll 1,"iCamCopyWebcamImage",address
endfunction