For the Redmi Note 3 ADB drivers, you have to go through this hoop.
First of all if you connect the device with USB cable and USB Debugging off, you will see that Windows 8 loads a generic driver for you to copy on/off files to the phone and SD storage. This will appear when the USB cable is first plugged in and appears as a device icon under Control Panel > Device Manager > Portable Devices, Redmi Note 3 (or the device you are working with).
Go to the phone and switch on USB Debugging in the Developer section of your phone. Notice that an additional item appears as an undefined device now in the device manager list, it will have the yellow exclamation mark and it may not have the same name of the phone listed as you saw under Portable Devices. Ignore this item for the moment. Now, without doing anything to the phone (it should be already in USB debug mode) go back to the Portable Devices in Device Manager and right-click the Redmi Note 3 or whatever phone you are working with that is listed there without the exclamation mark (listed under Portable Devices). Right click on the icon under Portable Devices. On that icon select Properties, Details, and under the pull down, select Hardware IDs and copy down what you see.
For Redmi Note I get:
(Note if you do this out of turn, the Hardware ID will be different with the phone USB debugging turned off. You want to copy the value that it changes to when the USB debugging is ON)
When you downloaded the SDK you should have a file structure expanded from the ZIP such as this:
Find the file named: android_winusb.inf in the usb_driver folder Make a copy of it and name it anything, such as redmi.inf Edit the redmi.inf and add the lines as instructed for your particular phone. For example, for the Redmi Note 3, I added the following 2 lines as instructed in the 2 locations.
%SingleAdbInterface% = USB_Install, USB\VID_2717&PID_1218&REV_0216&MI_0
%CompositeAdbInterface% = USB_Install, USB\VID_2717&PID_1218&MI_00
Now go back up to the unknown device that appeared in Device Manager when you switched on device USB debugging and right click on this item (ADB Interface — has yellow exclamation mark), right click on it and then select Update Driver Software, and then Browse My Computer, Let Me Pick (Choose Next in that screen), click on the Have Disk button and browse to find the Redmi.inf. Continue to agree to all the prompts warning you it might not be the right driver. As the final step, Windows should have identified the device as Android ADB Interface and once that is done, you should be able to go back, open your CMD window and run the command "adb devices" (from the sdk's platform-tools folder if adb doesn't work properly in cmd) and now you should see that the phone is now discovered and communicating.