|
BOOL ReadDevice(IDirectInputDevice8 *pDIDevice, void *DataBuffer, long BufferSize)
{
HRESULT hr;
while(1) {
// Poll device
g_pDIDevice-> oll();
// Read in state
if(SUCCEEDED(hr = g_pDIDevice->GetDeviceState(BufferSize,(LPVOID)DataBuffer)))
break;
// Return on an unknown error
if(hr != DIERR_INPUTLOST && hr != DIERR_NOTACQUIRED)
return FALSE;
// Reacquire and try again
if(FAILED(g_pDIDevice->Acquire()))
return FALSE;
}
// Return a success
return TRUE;
}
如题,谢谢了! |
|