Fehlerkonst constants (Fehlerkonst constants

Windows Portable Devices-Methoden können eine Vielzahl von HRESULT-Fehlercodes zurückgeben. Einige sind spezifisch für Windows Geräte, während andere durch andere SDKs oder Portierungskits definiert werden, die zum Erstellen eines Geräts verwendet werden. In diesem Abschnitt werden die verschiedenen Fehlercodes beschrieben, die nach Ursprung organisiert zurückgegeben werden können.

WPD definiert die folgenden Fehlerkonst constants.

Konstante/Wert BESCHREIBUNG
E _ _WPD-GERÄT _ WURDE BEREITS _ 0X802A0001
Die Geräteverbindung wurde bereits durch einen vorherigen Aufruf von IPortableDevice::Open geöffnet.
E _ WPD _ DEVICE _ IS _ HUNG
0x802A0006
Das Gerät reagiert nicht mehr auf Eingaben.
E _ WPD _ DEVICE NOT OPEN _ _ 0X802A0002
Die Geräteverbindung wurde noch nicht durch einen Aufruf von IPortableDevice::Open geöffnet.
E _ _WPD-OBJEKT, _ _ DAS BEREITS AN _ _ GERÄTEGERÄTE ANGEFÜGT
0X802A0003
Das Schnittstellenobjekt wurde bereits an die Geräteschnittstelle angefügt.
E _ _WPD-OBJEKT, _ _ DAS BEREITS AN _ _ DIENSTDIENSTE ANGEFÜGT
0X802A00CA
Das Schnittstellenobjekt wurde bereits an die IPortableDeviceService-Schnittstelle angefügt.
E _ _WPD-OBJEKT _ NICHT AN _ _ _ GERÄTE-0X802A0004
Das Schnittstellenobjekt wurde nicht an das Gerät angefügt.
E _ _WPD-OBJEKT _ NICHT AN _ _ _ DIENST-0X802A00CB
Das Schnittstellenobjekt wurde nicht an die IPortableDeviceService-Schnittstelle angefügt. In der Regel wird dies zurückgegeben, wenn die Anwendung versucht, auf Methoden einer angefügten Schnittstelle wie IPortableDeviceServiceCapabilities zu zugreifen, nachdem IPortableDevice::Close aufgerufen wurde.
E _ WPD _ OBJECT _ NOT _ COMMITED
0x802A0005
IStream::Commit wurde nie aufgerufen, als ein Objekt mit Daten auf einem Gerät erstellt wurde.
E _ DER _ WPD-DIENST _ WURDE _ BEREITS
0X802A00C8
Die Dienstverbindung wurde bereits durch einen vorherigen Aufruf von IPortableDevice::Open geöffnet.
E _ WPD _ SERVICE BAD PARAMETER ORDER _ _ _ 0X802A00CC
Die Methodenparameter für IPortableDeviceServiceMethods::Invoke oder IPortableDeviceServiceMethods::InvokeAsync werden nicht in der richtigen Reihenfolge festgelegt. Der Parameter muss in der durch WPD PARAMETER ATTRIBUTE ORDER angegebenen _ Reihenfolge festgelegt _ _ werden.
E _ WPD _ SERVICE NOT OPEN _ _ 0X802A00C9
Die Dienstverbindung wurde noch nicht durch einen Aufruf von IPortableDeviceService::Open geöffnet.
E _ WPD _ SMS INVALID RECIPIENT _ _ 0X802A0064
Der für eine SMS-Nachricht angegebene Empfänger ist ungültig.
E _ WPD _ SMS INVALID MESSAGE BODY _ _ _ 0X802A0065
Der Text einer für eine SMS-Nachricht angegebenen Nachricht ist ungültig.
E _ WPD _ SMS _ SERVICE _ UNAVAILABLE
0x802A0066
Der SMS-Dienst ist nicht verfügbar.

Gelegentlich tritt möglicherweise ein Fehler auf, der im Media Rights Manager SDK Windows definiert ist. Eine Liste von Fehlern, die von diesem SDK definiert werden, finden Sie in der MSDN Library. Die folgenden Fehler Windows Media Rights Manager SDK waren jedoch nicht in dieser Dokumentation enthalten.

Konstante/Wert BESCHREIBUNG
NS _ E _ DRM _ DEBUGGING NOT _ ALLOWED _ 0xC00D2767
Sie können nicht debuggen, wenn Sie auf DRM-geschützte Inhalte zugreifen.
NS _ E _ NICHT _ LIZENZIERTE
0xC00D00CD
Der Inhalt ist nicht lizenziert.

WPD gibt möglicherweise Windows Standardfehlercodes an die Anwendung zurück. In der folgenden Tabelle sind die am häufigsten verwendeten Standardfehlercodes Windows und die allgemeinen Fehlerbedingungen bei verwendung eines WPD-Geräts aufgeführt.

Win32-Fehlercodes werden mithilfe des Makros HRESULT _ FROM _ WIN32 in HRESULT s konvertiert.

Konstante/Wert BESCHREIBUNG
FEHLER _ ZUGRIFF _ VERWEIGERT
0X80070005
Kann verwendet werden, um anzugeben, dass ein schreibgeschütztes Objekt oder eine schreibgeschützte Eigenschaft nicht geändert oder gelöscht werden kann. Kann verwendet werden, um anzugeben, dass auf das Objekt außerhalb seines Bereichs zugegriffen wird, z. B. ein untergeordnetes Objekt, das außerhalb der Hierarchie eines Gerätediensts liegt. Kann verwendet werden, um anzugeben, dass die Anwendung nicht über den Zugriff verfügt (z. B. wenn die Zugriffssteuerung auf Geräte durch Gruppenrichtlinie eingeschränkt ist), um WPD-Befehle an das Gerät zu senden.
FEHLER _ ARITHMETISCHER _ ÜBERLAUF
0X80070216
Kann verwendet werden, um anzugeben, dass die Anzahl der Elemente in einem Datenarray seine Grenzwerte überschritten hat (ULONGLONG).
FEHLER _ BUSY
0x800700AA
Kann verwendet werden, um anzugeben, dass das Gerät mit der Verarbeitung eines anderen Vorgangs beschäftigt ist. Anwendungen sollten warten, bis dieser Vorgang abgeschlossen ist, bevor sie den Vorgang wiederholen.
FEHLER _ CANCELLED
0x800704C7
Ein an das Gerät gesendeter Befehl wurde aufgrund eines Abbruchs abgebrochen, z. B. durch Aufrufen einer der Cancel-Methoden in der WPD-API.
FEHLER _ _DATENTYPKONFLIKT 0X8007070C
Kann verwendet werden, um anzugeben, dass ein ungültiges Datenpaket vom Gerät empfangen wurde.
FEHLER _ GERÄT _ WIRD _ VERWENDET 0X80070964
Gibt für ein MTP-/IP-Gerät an, dass die Verbindung nicht initialisiert werden konnte, weil das Gerät verwendet wird.
FEHLER _ DEVICE _ NOT _ CONNECTE
0x8007048F
Das Gerät wurde getrennt oder nicht angeschlossen.
FEHLER _ DIR _ NOT _ EMPTY
0x80070091
Kann verwendet werden, um anzugeben, dass ein nicht rekursiver Löschtyp für ein Objekt mit den unteren Ns aufgerufen wurde. Die Anwendung sollte das Rekursive Delete-Flag in IPortableDeviceContent::D elete verwenden.
FEHLER _ EMPTY
0x800710D2
Kann verwendet werden, um anzugeben, dass das Gerät keine Ressourcendaten senden konnte, wenn Ressourcendaten erwartet wurden (z. B. eine Miniaturansicht oder ein Gerätesymbol). Dies weist in der Regel auf einen Fehler auf dem Gerät hin.
FEHLER _ FILE _ NOT _ FOUND
0X80070002
Kann verwendet werden, um anzugeben, dass das Gerät getrennt oder nicht angeschlossen wurde.
FEHLER _ _ GEN-FEHLER
0X8007001F
Kann verwendet werden, um anzugeben, dass das Gerät nicht mehr reagiert (nicht mehr reagiert) oder ein allgemeiner Fehler auf dem Gerät aufgetreten ist. Das Gerät muss möglicherweise manuell zurückgesetzt werden.
FEHLER _ _UNGÜLTIGE
0X8007000D
Kann verwendet werden, um anzugeben, dass an das Gerät gesendete oder vom Gerät empfangene Daten nicht ordnungsgemäß analysiert werden können. Dies kann auf einen geräteseitigen oder einen Transportfehler hinweisen. Wenn MTP-Anbietervorgänge an das Gerät gesendet werden, kann dieser Fehler darauf hindeuten, dass die angegebenen Vorgangsparameter nicht vom gültigen VARTYPE sind.
FEHLER _ UNGÜLTIGER _ DATENTYP
0X8007070C
Kann verwendet werden, um anzugeben, dass der angegebene VARTYPE für eine bestimmte Eigenschaft ungültig ist.
FEHLER _ UNGÜLTIGE _ 0X80070001
Es wurde eine Schreibanforderung an eine Ressource auf dem Gerät gestellt, die im Lesemodus mithilfe von IPortableDeviceResources::GetStream geöffnet wurde, oder eine Leseanforderung an eine Ressource, die für Write oder Create geöffnet wurde.
FEHLER _ UNGÜLTIGE _ 0X800710DD
Ein nicht rekursiver Löschtyp wird für ein Objekt mit unteren Elemente aufgerufen.
FEHLER _ UNGÜLTIGER _ PARAMETER
0x80070057
Der von der Anwendung bereitgestellte Parameter ist ungültig.
FEHLER _ UNGÜLTIGE _ 0X8007076D
Kann verwendet werden, um anzugeben, dass bei der Konvertierung einer datetime-Eigenschaft ein Fehler auftraten.
FEHLER _ _ BEIM 0X8007045D
Kann verwendet werden, um anzugeben, dass das Gerät nicht mehr reagiert (nicht mehr reagiert). Das Gerät muss möglicherweise manuell zurückgesetzt werden.
FEHLER _ NICHT _ GEFUNDEN
0x80070490
Kann verwendet werden, um anzugeben, dass das Gerät eine Eigenschaft unterstützt, aber dieser Eigenschaftswert derzeit leer oder nicht initialisiert ist. Kann verwendet werden, um anzugeben, dass der interne Kontext für einen Zeitausführungsvorgang nicht mehr vorhanden ist, da der Vorgang abgeschlossen wurde oder abgebrochen wurde. Beispiele für solche Vorgänge sind Masseneigenschaften, Objektenumeration, Übertragung und Aufrufen von Gerätedienstmethoden. Anwendungen sollten den Vorgang von Anfang an wiederholen. Kann verwendet werden, um anzugeben, dass das angegebene Objekt nicht vorhanden ist. Das untergeordnete Objekt kann sich außerhalb der Gerätediensthierarchie befinden.
FEHLER _ NOT _ READY
0x80070015
Kann verwendet werden, um anzugeben, dass ein Vorgang nicht ordnungsgemäß initialisiert wurde. Dies weist in der Regel auf einen internen Fehler hin oder darauf, dass die Anwendung ein veraltetes Gerätehandle verwendet. Die Anwendung sollte den Vorgang von Anfang an wiederholen oder das Gerät erneut öffnen.
FEHLER _ NICHT _ UNTERSTÜTZTE
0X80070032
Kann verwendet werden, um anzugeben, dass eine Eigenschaft oder ein Befehl vom Gerät nicht unterstützt wird.
FEHLER _ VORGANG _ ABGEBROCHEN 0X800703E3
Ein an das Gerät gesendeter Befehl wurde aufgrund eines manuellen Abbruchs abgebrochen, z. B. durch Aufrufen einer der Cancel-Methoden in der WPD-API.
FEHLER _ LESEN _ VON
0X8007001E
Kann verwendet werden, um anzugeben, dass das Gerät nicht die richtige Datenmenge sendet.
FEHLER _ RESSOURCE _ NICHT _ VERFÜGBAR
0x8007138E
Kann verwendet werden, um anzugeben, dass eine Ressource (z. B. eine Miniaturansicht oder ein Symbol) nicht auf dem Gerät vorhanden ist.
FEHLER _ SEM _ TIMEOUT-0x80070079
Kann verwendet werden, um anzugeben, dass das Gerät nicht mehr reagiert (nicht mehr reagiert). Das Gerät muss möglicherweise manuell zurückgesetzt werden.
FEHLER _ TIMEOUT-0x800705B4
Kann verwendet werden, um anzugeben, dass das Gerät nicht mehr reagiert (nicht mehr reagiert). Das Gerät muss möglicherweise manuell zurückgesetzt werden.
FEHLER _ NICHT UNTERSTÜTZTE _
0X8007065E
Kann verwendet werden, um anzugeben, dass das angegebene Format vom Gerät nicht unterstützt wird.
FEHLER _ WRITE _ FAULT
0x8007001D
Kann verwendet werden, um anzugeben, dass die Anwendung die angeforderte Datenmenge nicht an das Gerät senden konnte.
WSAETIMEDOUT-0x8007274c
Gibt für ein MTP-/IP-Gerät an, dass für die Verbindung mit dem Gerät ein Time out erfolgt ist. Möglicherweise muss das Gerät manuell erneut verbunden werden.

Media Transfer Protocol-Fehlercodes

Geräte, die Media Transfer Protocol (MTP) unterstützen, können die folgenden Fehlercodes zurückgeben. Die meisten dieser Fehlercodes implizieren einen Fehler im MTP-Stapel (Kommunikation zwischen dem MTP-Klassentreiber und dem Gerät), sind jedoch hilfreich bei der Diagnose der Fehlersituation.

HRESULT-Beschreibung MTP-Antwortcode Beschreibung des MTP-Antwortcodes Details
0x80042003 0x2003 Sitzung nicht geöffnet Gibt an, dass das Sitzungshand handle des Vorgangs keine derzeit geöffnete Sitzung ist. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x80042004 0x2004 Ungültige TransactionID Gibt an, dass die TransactionID 0 (null) ist oder nicht auf eine gültige Transaktion verweist. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x80042005 0x2005 Vorgang wird nicht unterstützt Gibt an, dass der Vorgangscode ein gültiger Code zu sein scheint, das Gerät den Vorgang jedoch nicht unterstützt. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x80042006 0x2006 Parameter nicht unterstützt Gibt an, dass ein Nicht-Null-Parameter in Verbindung mit dem Vorgang angegeben wurde und der -Parameter für diesen Vorgang nicht verwendet wird. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x80042007 0x2007 Unvollständige Übertragung Gibt an, dass die Übertragung nicht abgeschlossen wurde und alle übertragenen Daten verworfen werden sollen. Diese Antwort entspricht nicht einer abgebrochenen Transaktion.
0x80042008 0x2008 Ungültige StorageID Gibt an, dass eine mit einem Vorgang gesendete Speicher-ID nicht auf einen tatsächlich gültigen Speicher verweist, der auf dem Gerät vorhanden ist. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x80042009 0x2009 Ungültiges ObjectHandle Gibt an, dass ein Objekthand handle nicht auf ein tatsächliches Objekt verweist, das auf dem Gerät vorhanden ist. Die Anwendung sollte die Speicher erneut aufzählen.
0x8004200A 0x200A DeviceProp nicht unterstützt Gibt an, dass der Geräteeigenschaftscode ein gültiger Code zu sein scheint, diese Eigenschaft jedoch vom Gerät nicht unterstützt wird. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x8004200B 0x200B Ungültiger ObjectFormatCode Gibt an, dass das Gerät den im angegebenen Kontext angegebenen objektformatierten Code nicht unterstützt.
0x80042012 0x2012 Teillöschung Gibt an, dass nur eine Teilmenge der zum Löschen angegebenen Speicher tatsächlich gelöscht wurde, da einige schreibgeschützt waren oder sich in schreibgeschützten Speichern befinden.
0x80042013 0x2013 Store Nicht verfügbar Gibt an, dass der Speicher (oder der Speicher, der das angegebene Objekt enthält) physisch nicht verfügbar ist. Dies kann durch das Auswerfen von Medien verursacht werden. Diese Antwort darf nicht verwendet werden, um anzugeben, dass der Speicher ausgelastet ist.
0x80042014 0x2014 Spezifikation nach Format nicht unterstützt Gibt an, dass der Vorgang versucht hat, eine Aktion nur für Objekte eines bestimmten Formats anzugeben, und dass diese Funktion nicht unterstützt wird. Der Vorgang sollte erneut versucht werden, ohne das Format anzugeben. Jede Antwort dieser Art führt dazu, dass jeder zukünftige Versuch, nach Format mit dem angegebenen Vorgang anzugeben, zu derselben Antwort führt. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x80042015 0x2015 Keine gültige ObjectInfo Gibt an, dass der Host dem Gerät vor dem Übertragen des Objekts keine gültigen Objektinformationen zur Verfügung stellt. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x80042016 0x2016 Ungültiges Codeformat Gibt an, dass der Datencode nicht das richtige Format hat und daher ungültig ist. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x80042017 0x2017 Unbekannter Anbietercode Das Gerät weiß nicht, wie der erweiterte Code des Anbieters behandelt werden soll.
0x8004201A 0x201A Ungültiges ParentObject Gibt an, dass das Objekt kein gültiges übergeordnetes Objekt ist. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x8004201B 0x201B Ungültiges DeviceProp-Format Gibt an, dass versucht wurde, eine Geräteeigenschaft festgelegt zu haben, die Daten jedoch nicht die richtige Größe oder das richtige Format haben. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x8004201C 0x201C Ungültiger DeviceProp-Wert Gibt an, dass versucht wurde, eine Geräteeigenschaft auf einen Wert zu setzen, der vom Gerät nicht zugelassen wird. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x8004201E 0x201E Sitzung bereits geöffnet Gibt an, dass der Host versucht hat, die Sitzung zu öffnen, während eine Sitzung bereits geöffnet ist. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x8004201F 0x201F Transaktion abgebrochen Kann verwendet werden, um anzugeben, dass der Vorgang aufgrund eines manuellen Abbruchs unterbrochen wurde.
0x80042020 0x2020 Spezifikation des Ziels nicht unterstützt Gibt an, dass das Gerät die Spezifikation des Ziels durch den Host nicht unterstützt. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x8004A801 0xA801 Ungültiger _ ObjectPropCode Gibt an, dass das Gerät den gesendeten Objekteigenschaftscode in diesem Kontext nicht unterstützt. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x8004A802 0xA802 _Ungültiges _ ObjectProp-Format Gibt an, dass eine an das Gerät gesendete Objekteigenschaft eine nicht unterstützte Größe oder einen nicht unterstützten Typ auf hat. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x8004A803 0xA803 _Ungültiger _ ObjectProp-Wert Gibt an, dass eine an das Gerät gesendete Objekteigenschaft der richtige Typ ist, aber einen Wert enthält, der nicht unterstützt wird. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x8004A804 0xA804 Ungültiger _ ObjectReference-Wert Gibt an, dass ein gesendeter Objektverweis ungültig ist. Entweder enthält der Verweis ein Objekthand handle, das auf dem Gerät nicht vorhanden ist, oder der Verweis, der festgelegt werden soll, wird im Kontext nicht unterstützt. Dies kann auf einen Fehler im MTP-Stapel oder auf die Anwendung mit einem veralteten Speicherobjekt verursacht werden.
0x8004A806 0xA806 Ungültiges _ Dataset Gibt an, dass das in der Datenphase dieses Vorgangs gesendete Dataset ungültig ist. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x8004A807 0xA807 Objekt _ zu _ groß Gibt an, dass das objekt, das gesendet werden soll, nicht im Dateisystem des Geräts gespeichert werden kann. Dies wird nicht zurückgegeben, wenn nicht genügend Speicherplatz im Speicher zur Verfügung steht.
0x8004A301 0xA301 Ungültige _ ServiceID Gibt an, dass eine mit einem Vorgang gesendete Dienst-ID nicht auf einen tatsächlich gültigen Dienst verweist, der auf dem Gerät vorhanden ist. Dies weist auf einen internen Fehler im MTP-Stapel hin.
0x8004A302 0xA302 Ungültiger _ ServicePropCode Gibt an, dass das Gerät den gesendeten Diensteigenschaftscode in diesem Kontext nicht unterstützt. Dies weist auf einen internen Fehler im MTP-Stapel hin.

Requirements (Anforderungen)

Anforderung Wert
Header
PortableDevice.h

Weitere Informationen

Konstanten