Obtención de las funcionalidades del controlador
[La característica asociada a esta página, Joysticks, es una característica heredada. Se ha reemplazado por el espacio de nombres Windows.Gaming.Input. El espacio de nombres Windows.Gaming.Input se ha optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use el espacio de nombres Windows.Gaming.Input en lugar de Joysticks, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
En el ejemplo siguiente se usa joyGetNumDevs y joyGetPos para determinar si los servicios del joystick están disponibles y si un joystick está conectado a uno de los puertos.
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;