I am working on Umd driver taking R200 umd sample as base. while debugging after few modification I am getting an error. In one of its function Cadapter::initialize it defines an instance of the structure D3DDDI_DEVICECALLBACKS.
The D3DDDI_DEVICECALLBACKS structure contains Microsoft Direct3D runtime callback functions that the user-mode display driver can use. when I call pfnCreateContextCb a member function defines in the structure it is returning a NULL pointer.
I have traced the code, but I just want to know that whose responsibility is to fill value in pfnCreateContextCb. Is it to be filled by Direct3D runtime or miniport driver or by user mode driver itself.
Since my last post on this thread I am looking for this problem that i have posted. What I find out is that value to the call back function pfnCreateContextCb is being provided by the direct3d at run time through Createdevice function. I have seen in MSDN also
http://msdn2.microsoft.com/en-us/library/ms797632.aspx
that createdevice is first called by direct3druntime and than pfnCreateContextCb is being called by user mode display driver. But as far as what i have seen r200 sample is not following the flow mention in MSDN. It is first calling pfnCreateContextCb and than createdevice thats why pfnCreateContextCb is returning NULL.
so whether r200 sample is having an error or I have misunderstood the fact.
regards