USBD_GET_BESCHREIBUNGSORS
Zweck
Ruft Standard-USB-Deskriptoren (Universal Serial Bus) für eine logische Einheit ab.
Syntax
int ioctl (file, USBD_GET_DESCRIPTORS, arg)
Parameter
| Element | Beschreibung |
|---|---|
| Datei | Dateideskriptor, der beim Öffnen der Gerätedatei des USB-Systemtreibers (USBD) abgerufen wird. |
| Arg | Adresse der USBDGD -Struktur, die an einer 4-Byte-Grenze ausgerichtet ist. |
Beschreibung
Nach einer erfolgreichen Rückgabe von der Operation ioctl wird eine DESCIDX -Struktur am Anfang des angegebenen Puffers platziert, auf die der Standardeinheitendeskriptor, der Konfigurationsdeskriptor, der Schnittstellendeskriptor, die Endpunktdeskriptoren, der HID-Deskriptor (HID-Human Interface Device) (bei Verwendung einer HID-Einheit), der Hubdeskriptor (bei Verwendung einer Hubeinheit) und die Zeichenfolgedeskriptoren der angegebenen logischen USB-Einheit folgen. Die Struktur DESCIDX bietet direkte Adressierbarkeit für die einzelnen Deskriptoren. Zeichenfolgedeskriptoren werden zur Vereinfachung in auf null endende ASCII-Zeichenfolgen (ASCII = American Standard Code for Information Interchange) reformiert. Alle anderen Deskriptoren entsprechen dem Standard-USB-Format. Da die Größe der zurückgegebenen Daten normalerweise unbekannt ist, muss die Operation ioctl zweimal aufgerufen werden. Wenn Sie die Operation ioctl zum ersten Mal aufrufen, setzen Sie das Feld bufferLength auf null und das Pufferfeld auf null. Die Operation ioctl schlägt möglicherweise mit dem Fehler ENOSPC fehl, jedoch wird der Wert minBuffLength zurückgegeben, der die erforderliche Größe des Puffers angibt. Der Aufrufende kann dann den Puffer zuordnen und die Operation ioctl erneut aufrufen, wobei das Feld bufferLength auf den richtigen Wert gesetzt ist.
Ausführungsumgebung
Diese Funktion kann nur von der Benutzerprozessumgebung aufgerufen werden.
Rückgabewerte
| Wert | Beschreibung |
|---|---|
| 0 | Erfolg. |
| -1 | Fehler. Überprüfen Sie den Wert für errno auf bestimmte Fehlerursachen. |