すみません。DirectInput初勉強なのですが、
DirectInputのGetDeviceDataが常にFAILEDを返すのですが、理由が解りません。

DirectInput8Create() → CreateDevice() → SetDataFormat() →
SetCooperativeLevel() → SetProperty() → GetDeviceState()
ここまでは1つずつ、全てSUCCEEDEDで成功している事を確認しました。

コードは書籍を元に
hr = g_pDIDevice->GetDeviceData(sizeof(DIDEVICEOBJECTDATA), &od, &dwItems, 0);
です。DIDEVICEOBJECTDATA od; と DWORD dwItems = 1; の宣言はしています。
エラーはDIERR_INPUTLOSTではなく常にFAILEDを返して来ていて、
if( dwItems == 0 ) も動いていません。

何が原因でFAILEDしてしまうのでしょうか・・どうかご助言お願い致します;