I got your email, I am glad to see you solved it.
Regarding your question about capturing video in VC++ , I don' t have a specific anser, but capturing audio, for instance, usually works with 2 buffers. You pass a pointer to one buffer (a) to a capture function, and usually the function will generate an event (windows message) which is the signal for your application to call the function again, but this time with a pointer to buffer (b). While the capture function is filling buffer (b), you have to write the contens of buffer (a) to the disk or somewhere else, so when function signals your application again, you pass the pointer to buffer(a) to the capture function and start saving the contents of buffer (b), and so on, and so on.
I only assume that the same method is used for video capture, but I don't know details.
Maybe this program / library is helpfull:
I found it with google using this search string: "c++ video capture xp"