DirectInputのサンプルをコンパイル&実行したのですが、
エラー及び警告は出なかったがQueryInterfaceメソッドで
DirectInputDevice2に拡張する事に失敗し初期化を完了できず
実行しても入力が受け取れませんでした。
サンプルに添付していた実行ファイルは正常に動作するのですが・・
ソースは要約するとこんな感じなんですが、

#define DIRECTINPUT_VERSION 0x0800

static LPDIRECTINPUT Dinp = NULL;
static LPDIRECTINPUTDEVICE2 Dinp_stick = NULL;

HRESULT res;
LPDIRECTINPUTDEVICE tdid;

res = DirectInput8Create(hInst,DIRECTINPUT_VERSION,IID_IDirectInput8,(void**)&Dinp,NULL);
res = Dinp->CreateDevice(pdInst->guidInstance,&tdid,NULL);
res = tdid->QueryInterface(IID_IDirectInputDevice2,(LPVOID*)&Dinp_stick);
//ここでresにE_NOINTERFACEが返る

使用しているSDKはApril2006,コンパイラはVC++2005Express(VC++6.0でも同じでした)です。
どなたかよろしくお願いします。