Fuji/Source/Drivers/XBox/MFInput_XB.cpp
void CheckDeviceChanges(DEVICE_STATE *pdsDevices)
{
	MFCALLSTACK;

	DWORD dwInsert, dwRemove;
	int i;

	// Check each device type to see if any changes have occurred.
	for( i = 0; i < NUM_DEVICE_STATES; i++ )
	{
		if( XGetDeviceChanges( pdsDevices[i].pxdt, &dwInsert, &dwRemove ) )
		{
			// Call handler to service the insertion and/or removal.
			HandleDeviceChanges( pdsDevices[i].pxdt, dwInsert, dwRemove );

			// Update new device state.
			pdsDevices[i].dwState &= ~dwRemove;
			pdsDevices[i].dwState |= dwInsert;
		}
	}
}
//
// Check for and handle any device changes.
//

Check for and handle any device changes.
Check for and handle any device changes .
void CheckDeviceChanges(DEVICE_STATE *pdsDevices)
{
	MFCALLSTACK;
	DWORD dwInsert, dwRemove;
	int i;
	for( i = 0; i < NUM_DEVICE_STATES; i++ )
	{
		if( XGetDeviceChanges( pdsDevices[i].pxdt, &dwInsert, &dwRemove ) )
		{
			HandleDeviceChanges( pdsDevices[i].pxdt, dwInsert, dwRemove );
			pdsDevices[i].dwState &= ~dwRemove;
			pdsDevices[i].dwState |= dwInsert;
		}
	}
}
void CheckDeviceChanges ( DEVICE_STATE * pdsDevices ) { MFCALLSTACK ; DWORD dwInsert , dwRemove ; int i ; for ( i = 0 ; i < NUM_DEVICE_STATES ; i ++ ) { if ( XGetDeviceChanges ( pdsDevices [ i ] . pxdt , & dwInsert , & dwRemove ) ) { HandleDeviceChanges ( pdsDevices [ i ] . pxdt , dwInsert , dwRemove ) ; pdsDevices [ i ] . dwState &= ~ dwRemove ; pdsDevices [ i ] . dwState |= dwInsert ; } } }
Check for and handle any device changes.
Check for and handle any device changes .
// Check each device type to see if any changes have occurred.
 // Call handler to service the insertion and/or removal.
 // Update new device state.
