Поделиться через


Получение возможностей драйвера

[Функция, связанная с этой страницей, Джойстики, является устаревшей функцией. Он был заменен пространством имен Windows.Gaming.Input. Пространство имен Windows.Gaming.Input оптимизировано для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать пространство имен Windows.Gaming.Input вместо джойстиков, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

В следующем примере используются joyGetNumDevs и joyGetPos , чтобы определить, доступны ли службы джойстиков и подключен ли джойстик к одному из портов.

JOYINFO joyinfo; 
UINT wNumDevs, wDeviceID; 
BOOL bDev1Attached, bDev2Attached; 
 
    if((wNumDevs = joyGetNumDevs()) == 0) 
        return ERR_NODRIVER; 
    bDev1Attached = joyGetPos(JOYSTICKID1,&joyinfo) != JOYERR_UNPLUGGED; 
    bDev2Attached = wNumDevs == 2 && joyGetPos(JOYSTICKID2,&joyinfo) != 
        JOYERR_UNPLUGGED; 
    if(bDev1Attached || bDev2Attached)   // decide which joystick to use 
        wDeviceID = bDev1Attached ? JOYSTICKID1 : JOYSTICKID2; 
    else 
        return ERR_NODEVICE;