But I wonder why you have a pointer to pointer for the device context at all. Usually you declare your DX objects as pointers, not as double pointers. Or are you confused by e.g. D3D11CreateDeviceAndSwapChain ? Note that the double pointer on the device context is a out parameter. Hmmm, a quick google search shows Java doesn't have such a thing (like the out keyword in C#). In this case you declare a pointer, but use & (address of operator)
ID3D11DeviceContext* immediateContext = NULL; D3D11CreateDeviceAndSwapChain( ..., &immediateContext);
Also: Be more precise when having troubles: Copy the exact error message from your compiler/linker and also copy relevant code (function definition and function call in this case). Please use code tags when you do.