Ich möchte alle Geräte (wie WLAN oder Bluetooth) Status überprüfen, zu wissen, dass sie gut funktionieren oder nicht oder sie verloren, wenn ich Stresstest neu starten, wie kann ich den Geräte-Status (wie die Eigenschaft des Geräts in der Geräteverwaltung) Hat das Windows API, um das zu bekommen?Wie überprüft man den Status von Windows-Geräten beim Neustart des PCs?
-2
A
Antwort
0
für bekommen die Geräte-Status erhalten Sie anrufen müssen CM_Get_DevNode_Status
für bekommen DEVINST dnDevInst
Sie alle Geräte mit CM_Get_Device_ID_ListW
+ CM_Locate_DevNode
oder alternative Verwendung aufzählen kann CM_Locate_DevNode
+ CM_Get_Child
+ CM_Get_Sibling
zum Beispiel:
void enumDN(DEVINST dnDevInst)
{
union {
PVOID buf;
PBYTE pb;
PWSTR sz;
};
ULONG cb = 0, rcb = 256;
static volatile UCHAR guz;
PVOID stack = alloca(guz);
WCHAR Name[MAX_DEVICE_ID_LEN];
CONFIGRET err;
if (CM_Get_Device_ID(dnDevInst, Name, RTL_NUMBER_OF(Name), 0) == CR_SUCCESS)
{
DEVPROPTYPE PropertyType;
ULONG Status, ulProblemNumber;
if (CM_Get_DevInst_Status(&Status, &ulProblemNumber, dnDevInst, 0) == CR_SUCCESS)
{
PWSTR FriendlyName = NULL;
do
{
if (cb < rcb)
{
rcb = cb = RtlPointerToOffset(buf = alloca(rcb - cb), stack);
}
if ((err = CM_Get_DevNode_PropertyW(dnDevInst, &DEVPKEY_Device_FriendlyName,
&PropertyType, pb, &rcb, 0)) == CR_SUCCESS)
{
if (PropertyType == DEVPROP_TYPE_STRING)
{
FriendlyName = sz;
}
}
} while (err == CR_BUFFER_SMALL);
DbgPrint("%08x %S %S\n", Status, Name, FriendlyName);
}
}
if ((err = CM_Get_Child(&dnDevInst, dnDevInst, 0)) == CR_SUCCESS)
{
do
{
enumDN(dnDevInst);
} while ((err = CM_Get_Sibling(&dnDevInst, dnDevInst, 0)) == CR_SUCCESS);
}
}
void enumDN()
{
DEVINST dnDevInst;
if (CM_Locate_DevInstW(&dnDevInst, NULL, 0) == CR_SUCCESS)
{
enumDN(dnDevInst);
}
}
Verwandte Themen
- 1. Wie überprüft man den HorizontalScrollView Scroll-Status?
- 2. Wie überprüft man den Status des aktuellen Threads?
- 3. Warum verursacht die Neuerstellung nach dem Neustart des PCs Netzwerkfehler?
- 4. wie man den View-Status in Bezug auf Superview überprüft
- 5. Wie überprüft man den Status der Checkbutton in tkinter
- 6. Wie überprüft man den Bildschirm ein/aus Status in onStop()?
- 7. Wie überprüft man den Namenstatus?
- 8. Bluetooth ToggleButton überprüft nicht den Status
- 9. Wie überprüft man den Inhalt des String-Pools?
- 10. Wie überprüft man den Wert des Methodenparameters im IntelliJ Debugger?
- 11. Wie überprüft man den Migrationsstatus?
- 12. Probleme beim Überprüfen des Status von boolean
- 13. Wie überprüft man den unmittelbaren Knoten des Elements ist Text?
- 14. Windows-Dienst beim Neustart des Servers gestoppt?
- 15. Wie überprüft man den Typ des Felds struct in Elixir?
- 16. Wie überprüft man den Mikrofonzugriff zum Zeitpunkt des Starts?
- 17. Wie überprüft man den Inhalt des Antwortobjekts in Tomcat?
- 18. Verhindern Aktivität Neustart beim Drehen des Bildschirms
- 19. Wie überprüft man den Service-Status unter anderen Benutzer von Systemd verwaltet?
- 20. Neustart des Codes beim Aufwachen vom Hintergrund
- 21. Wie überprüft man den Status der nativen ODBC-Verbindung in Matlab?
- 22. Wie überprüft man alle Elemente des Arrays?
- 23. Wie man den automatischen Neustart von Tomcat in Eclipse abstellt?
- 24. Wie man den automatischen Neustart von Tomcat in Eclipse einschaltet?
- 25. Übersteht FirebaseMessagingService den Neustart des Geräts?
- 26. Wie speichert man den Status von UIButton in einer TableViewCell?
- 27. Wie überprüft man den Array-Bereich?
- 28. Starten Sie den GPS-Dienst beim Neustart
- 29. Wie überprüft man den Typ eines Wertes von einem JSONObject?
- 30. Status der AWS-Statusprüfung Alarm Neustart