@NoteMe
HRESULT hRet = DirectDrawCreateEx(NULL, (void**)&DD, IID_IDirectDraw7, NULL);

when that line process's, another thread is attached to my main thread.

I can check it out in spy++.....

So I aint specifiing the flag.

@CB
I always figured -1 would be an error, but seeing I am doing nothing but creating and releasing/null the interfact with DD it can't be error. So your probably right