Konstanta Kesalahan

Metode Perangkat Portabel Windows dapat mengembalikan berbagai kode kesalahan HRESULT . Beberapa khusus untuk Perangkat Portabel Windows, sementara yang lain didefinisikan oleh SDK lain atau kit porting yang digunakan untuk membangun perangkat. Bagian ini menjelaskan berbagai kode kesalahan yang dapat dikembalikan, diatur berdasarkan asal.

WPD mendefinisikan konstanta kesalahan berikut.

Konstanta/nilai Deskripsi
E_WPD_DEVICE_ALREADY_OPENED
0x802A0001
Koneksi perangkat telah dibuka oleh panggilan sebelumnya ke IPortableDevice::Open.
E_WPD_DEVICE_IS_HUNG
0x802A0006
Perangkat tidak akan lagi merespons input.
E_WPD_DEVICE_NOT_OPEN
0x802A0002
Koneksi perangkat belum dibuka oleh panggilan ke IPortableDevice::Open.
E_WPD_OBJECT_ALREADY_ATTACHED_TO_DEVICE
0x802A0003
Objek antarmuka telah dilampirkan ke antarmuka perangkat.
E_WPD_OBJECT_ALREADY_ATTACHED_TO_SERVICE
0x802A00CA
Objek antarmuka telah dilampirkan ke antarmuka IPortableDeviceService .
E_WPD_OBJECT_NOT_ATTACHED_TO_DEVICE
0x802A0004
Objek antarmuka belum dilampirkan ke perangkat.
E_WPD_OBJECT_NOT_ATTACHED_TO_SERVICE
0x802A00CB
Objek antarmuka belum dilampirkan ke antarmuka IPortableDeviceService . Biasanya, ini dikembalikan jika aplikasi mencoba mengakses metode antarmuka yang terpasang, seperti IPortableDeviceServiceCapabilities, setelah IPortableDevice::Close dipanggil.
E_WPD_OBJECT_NOT_COMMITED
0x802A0005
IStream::Commit tidak pernah dipanggil saat membuat objek dengan data di perangkat.
E_WPD_SERVICE_ALREADY_OPENED
0x802A00C8
Koneksi layanan telah dibuka oleh panggilan sebelumnya ke IPortableDevice::Open.
E_WPD_SERVICE_BAD_PARAMETER_ORDER
0x802A00CC
Parameter metode untuk IPortableDeviceServiceMethods::Invoke atau IPortableDeviceServiceMethods::InvokeAsync tidak diatur dalam urutan yang benar. Parameter harus diatur dalam urutan yang ditentukan oleh WPD_PARAMETER_ATTRIBUTE_ORDER.
E_WPD_SERVICE_NOT_OPEN
0x802A00C9
Koneksi layanan belum dibuka oleh panggilan ke IPortableDeviceService::Open.
E_WPD_SMS_INVALID_RECIPIENT
0x802A0064
Penerima yang ditentukan untuk pesan SMS tidak valid.
E_WPD_SMS_INVALID_MESSAGE_BODY
0x802A0065
Isi pesan yang ditentukan untuk pesan SMS tidak valid.
E_WPD_SMS_SERVICE_UNAVAILABLE
0x802A0066
Layanan SMS tidak tersedia.

Terkadang, Anda mungkin mengalami kesalahan yang ditentukan dalam Windows Media Rights Manager SDK. Daftar kesalahan yang ditentukan oleh SDK tersebut diberikan di pustaka MSDN. Namun, kesalahan Windows Media Rights Manager SDK berikut tidak disertakan dalam dokumentasi ini.

Konstanta/nilai Deskripsi
NS_E_DRM_DEBUGGING_NOT_ALLOWED
0xC00D2767
Anda tidak dapat men-debug saat mengakses konten yang dilindungi DRM.
NS_E_NOT_LICENSED
0xC00D00CD
Konten tidak dilisensikan.

WPD dapat mengembalikan kode kesalahan Windows standar ke aplikasi. Tabel berikut mencantumkan kode kesalahan Windows standar yang paling umum digunakan dan kondisi kesalahan umum saat menggunakan perangkat WPD.

Kode kesalahan Win32 dikonversi ke HRESULTmenggunakan makro HRESULT_FROM_WIN32 .

Konstanta/nilai Deskripsi
ERROR_ACCESS_DENIED
0x80070005
Dapat digunakan untuk menunjukkan bahwa objek atau properti baca-saja tidak dapat dimodifikasi atau dihapus. Dapat digunakan untuk menunjukkan bahwa objek sedang diakses di luar cakupannya, misalnya objek anak yang berada di luar hierarki layanan perangkat. Dapat digunakan untuk menunjukkan bahwa aplikasi tidak memiliki akses (misalnya, jika kontrol akses ke perangkat dibatasi oleh Kebijakan Grup) untuk mengirim perintah WPD ke perangkat.
ERROR_ARITHMETIC_OVERFLOW
0x80070216
Dapat digunakan untuk menunjukkan bahwa jumlah elemen dalam array data telah melebihi batasnya (ULONGLONG).
ERROR_BUSY
0x800700AA
Dapat digunakan untuk menunjukkan bahwa perangkat sibuk memproses operasi lain. Aplikasi harus menunggu operasi tersebut selesai sebelum mencoba kembali.
ERROR_CANCELLED
0x800704C7
Perintah yang dikirim ke perangkat telah dibatalkan karena pembatalan, misalnya dengan memanggil salah satu metode Batal di API WPD.
ERROR_DATATYPE_MISMATCH
0x8007070C
Dapat digunakan untuk menunjukkan bahwa paket data yang tidak valid diterima dari perangkat.
ERROR_DEVICE_IN_USE
0x80070964
Untuk perangkat MTP/IP, menunjukkan bahwa koneksi gagal diinisialisasi karena perangkat sedang digunakan.
ERROR_DEVICE_NOT_CONNECTE
0x8007048F
Perangkat telah terputus atau dicabut.
ERROR_DIR_NOT_EMPTY
0x80070091
Dapat digunakan untuk menunjukkan bahwa penghapusan non-rekursif dipanggil untuk objek dengan anak-anak. Aplikasi harus menggunakan bendera penghapusan rekursif di IPortableDeviceContent::D elete.
ERROR_EMPTY
0x800710D2
Dapat digunakan untuk menunjukkan bahwa perangkat gagal mengirim data sumber daya apa pun ketika data sumber daya diharapkan (misalnya gambar mini atau ikon perangkat). Ini biasanya menunjukkan kesalahan pada perangkat.
ERROR_FILE_NOT_FOUND
0x80070002
Dapat digunakan untuk menunjukkan bahwa perangkat telah terputus atau dicabut.
ERROR_GEN_FAILURE
0x8007001F
Dapat digunakan untuk menunjukkan bahwa perangkat telah berhenti merespons (menggantung) atau kegagalan umum telah terjadi pada perangkat. Perangkat mungkin perlu diatur ulang secara manual.
ERROR_INVALID_DATA
0x8007000D
Dapat digunakan untuk menunjukkan bahwa data yang dikirim ke atau diterima dari perangkat tidak dapat diurai dengan benar. Ini mungkin menunjukkan kesalahan sisi perangkat atau transportasi. Jika operasi vendor MTP dikirim ke perangkat, kesalahan ini dapat menunjukkan bahwa parameter operasi yang ditentukan bukan dari VARTYPE yang valid.
ERROR_INVALID_DATATYPE
0x8007070C
Dapat digunakan untuk menunjukkan bahwa VARTYPE yang ditentukan tidak valid untuk properti tertentu.
ERROR_INVALID_FUNCTION
0x80070001
Permintaan tulis dibuat ke sumber daya pada perangkat yang dibuka dalam mode Baca menggunakan IPortableDeviceResources::GetStream, atau permintaan baca dibuat ke sumber daya yang dibuka untuk Tulis atau Buat.
ERROR_INVALID_OPERATION
0x800710DD
Penghapusan non-rekursif dipanggil untuk objek dengan anak-anak.
ERROR_INVALID_PARAMETER
0x80070057
Parameter yang disediakan oleh aplikasi tidak valid.
ERROR_INVALID_TIME
0x8007076D
Dapat digunakan untuk menunjukkan bahwa konversi properti tanggalwaktu gagal.
ERROR_IO_DEVICE
0x8007045D
Dapat digunakan untuk menunjukkan bahwa perangkat telah berhenti merespons (digantung). Perangkat mungkin perlu diatur ulang secara manual.
ERROR_NOT_FOUND
0x80070490
Dapat digunakan untuk menunjukkan bahwa perangkat mendukung properti, tetapi nilai properti tersebut saat ini kosong atau tidak diinisialisasi. Dapat digunakan untuk menunjukkan bahwa konteks internal untuk operasi jangka panjang tidak ada lagi, karena operasi telah selesai atau telah dibatalkan. Contoh operasi tersebut termasuk properti massal, enumerasi objek, transfer, dan memanggil metode layanan perangkat. Aplikasi harus mencoba kembali operasi dari awal. Dapat digunakan untuk menunjukkan bahwa objek yang ditentukan tidak ada. Objek anak mungkin berada di luar hierarki layanan perangkat.
ERROR_NOT_READY
0x80070015
Dapat digunakan untuk menunjukkan bahwa operasi tidak diinisialisasi dengan benar. Ini biasanya menunjukkan kesalahan internal, atau bahwa aplikasi menggunakan handel perangkat kedaluarsa. Aplikasi harus mencoba kembali operasi dari awal, atau membuka kembali perangkat.
ERROR_NOT_SUPPORTED
0x80070032
Dapat digunakan untuk menunjukkan bahwa properti atau perintah tidak didukung oleh perangkat.
ERROR_OPERATION_ABORTED
0x800703E3
Perintah yang dikirim ke perangkat telah dibatalkan karena pembatalan manual, misalnya dengan memanggil salah satu metode Batal di API WPD.
ERROR_READ_FAULT
0x8007001E
Dapat digunakan untuk menunjukkan bahwa perangkat tidak mengirim jumlah data yang benar.
ERROR_RESOURCE_NOT_AVAILABLE
0x8007138E
Dapat digunakan untuk menunjukkan bahwa sumber daya (seperti gambar mini atau ikon) tidak ada di perangkat.
ERROR_SEM_TIMEOUT
0x80070079
Dapat digunakan untuk menunjukkan bahwa perangkat telah berhenti merespons (digantung). Perangkat mungkin perlu diatur ulang secara manual.
ERROR_TIMEOUT
0x800705B4
Dapat digunakan untuk menunjukkan bahwa perangkat telah berhenti merespons (digantung). Perangkat mungkin perlu diatur ulang secara manual.
ERROR_UNSUPPORTED_TYPE
0x8007065E
Dapat digunakan untuk menunjukkan bahwa format yang ditentukan tidak didukung oleh perangkat.
ERROR_WRITE_FAULT
0x8007001D
Dapat digunakan untuk menunjukkan bahwa aplikasi tidak dapat mengirim jumlah data yang diminta ke perangkat.
WSAETIMEDOUT
0x8007274c
Untuk perangkat MTP/IP, menunjukkan bahwa koneksi ke perangkat telah kehabisan waktu. Perangkat mungkin perlu disambungkan kembali secara manual.

Kode Kesalahan Protokol Transfer Media

Perangkat yang mendukung Protokol Transfer Media (MTP) dapat mengembalikan kode kesalahan berikut. Sebagian besar kode kesalahan ini menyiratkan kesalahan dalam tumpukan MTP (komunikasi antara driver kelas MTP dan perangkat), tetapi sangat membantu dalam mendiagnosis situasi kesalahan.

Deskripsi HRESULT Kode respons MTP Deskripsi kode respons MTP Detail
0x80042003 0x2003 Sesi Tidak Terbuka Menunjukkan bahwa handel sesi operasi bukan sesi yang saat ini terbuka. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x80042004 0x2004 TransactionID Tidak Valid Menunjukkan bahwa TransactionID adalah nol atau tidak mengacu pada transaksi yang valid. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x80042005 0x2005 Operasi Tidak Didukung Menunjukkan bahwa kode operasi tampaknya merupakan kode yang valid, tetapi perangkat tidak mendukung operasi. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x80042006 0x2006 Parameter Tidak Didukung Menunjukkan bahwa parameter non-nol ditentukan bersama dengan operasi, dan parameter tidak digunakan untuk operasi tersebut. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x80042007 0x2007 Transfer Tidak Lengkap Menunjukkan bahwa transfer tidak selesai, dan data apa pun yang ditransfer harus dibuang. Respons ini tidak sesuai dengan transaksi yang dibatalkan.
0x80042008 0x2008 StorageID Tidak Valid Menunjukkan bahwa ID penyimpanan yang dikirim dengan operasi tidak merujuk ke penyimpanan valid aktual yang ada di perangkat. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x80042009 0x2009 ObjectHandle Tidak Valid Menunjukkan bahwa handel objek tidak merujuk ke objek aktual yang ada di perangkat. Aplikasi harus menghitung penyimpanan lagi.
0x8004200A 0x200A DeviceProp Tidak Didukung Menunjukkan bahwa kode properti perangkat tampaknya merupakan kode yang valid, tetapi properti tersebut tidak didukung oleh perangkat. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x8004200B 0x200B ObjectFormatCode Tidak Valid Menunjukkan bahwa perangkat tidak mendukung kode format objek tertentu yang disediakan dalam konteks tertentu.
0x80042012 0x2012 Penghapusan Parsial Menunjukkan bahwa hanya subset penyimpanan yang ditunjukkan untuk penghapusan yang benar-benar dihapus, karena beberapa dilindungi terhadap penulisan atau berada di penyimpanan yang bersifat baca-saja.
0x80042013 0x2013 Penyimpanan Tidak Tersedia Menunjukkan bahwa penyimpanan (atau penyimpanan yang berisi objek yang ditunjukkan) tidak tersedia secara fisik. Hal ini dapat disebabkan oleh ejeksi media. Respons ini tidak akan digunakan untuk menunjukkan bahwa toko sibuk.
0x80042014 0x2014 Spesifikasi Menurut Format Tidak Didukung Menunjukkan bahwa operasi yang mencoba menentukan tindakan hanya pada objek dengan format tertentu, dan kemampuan tersebut tidak didukung. Operasi harus dicoba lagi tanpa menentukan berdasarkan format. Setiap respons dari sifat ini menyimpulkan bahwa setiap upaya di masa mendatang untuk menentukan berdasarkan format dengan operasi yang ditunjukkan akan menghasilkan respons yang sama. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x80042015 0x2015 Tidak Ada ObjectInfo yang Valid Menunjukkan bahwa host tidak memberikan info objek yang valid ke perangkat sebelum mentransfer objek. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x80042016 0x2016 Format Kode Tidak Valid Menunjukkan bahwa kode data tidak memiliki format yang benar, dan oleh karena itu tidak valid. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x80042017 0x2017 Kode Vendor Tidak Diketahui Perangkat tidak tahu cara menangani kode yang diperluas vendor.
0x8004201A 0x201A ParentObject Tidak Valid Menunjukkan bahwa objek tersebut bukan objek induk yang valid. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x8004201B 0x201B Format DeviceProp Tidak Valid Menunjukkan bahwa upaya dilakukan untuk mengatur properti perangkat, tetapi data tidak memiliki ukuran atau format yang benar. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x8004201C 0x201C Nilai DeviceProp Tidak Valid Menunjukkan bahwa upaya dilakukan untuk mengatur properti perangkat ke nilai yang tidak diizinkan oleh perangkat. Ini menunjukkan kesalahan internal dalam tumpukan MTP
0x8004201E 0x201E Sesi Sudah Terbuka Menunjukkan bahwa host mencoba membuka sesi saat sesi sudah terbuka. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x8004201F 0x201F Transaksi Dibatalkan Dapat digunakan untuk menunjukkan bahwa operasi terganggu karena pembatalan manual.
0x80042020 0x2020 Spesifikasi Tujuan Tidak Didukung Menunjukkan bahwa perangkat tidak mendukung spesifikasi tujuan oleh host. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x8004A801 0xA801 Invalid_ObjectPropCode Menunjukkan bahwa perangkat tidak mendukung Kode Properti Objek yang dikirim dalam konteks ini. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x8004A802 0xA802 Invalid_ObjectProp_Format Menunjukkan bahwa properti objek yang dikirim ke perangkat dalam ukuran atau jenis yang tidak didukung. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x8004A803 0xA803 Invalid_ObjectProp_Value Menunjukkan bahwa properti objek yang dikirim ke perangkat adalah jenis yang benar, tetapi berisi nilai yang tidak didukung. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x8004A804 0xA804 Invalid_ObjectReference Menunjukkan bahwa Referensi Objek terkirim tidak valid. Referensi berisi handel objek yang tidak ada pada perangkat, atau referensi yang mencoba diatur tidak didukung dalam konteks. Hal ini dapat disebabkan oleh kesalahan dalam tumpukan MTP atau karena aplikasi menggunakan objek penyimpanan kedaluarsa.
0x8004A806 0xA806 Invalid_Dataset Menunjukkan bahwa himpunan data yang dikirim dalam fase data operasi ini tidak valid. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x8004A807 0xA807 Object_Too_Large Menunjukkan bahwa objek yang ingin dikirim tidak dapat disimpan dalam sistem file perangkat. Ini tidak akan dikembalikan ketika tidak ada ruang yang cukup pada penyimpanan.
0x8004A301 0xA301 Invalid_ServiceID Menunjukkan bahwa ID layanan yang dikirim dengan operasi tidak merujuk ke layanan valid aktual yang ada di perangkat. Ini menunjukkan kesalahan internal dalam tumpukan MTP.
0x8004A302 0xA302 Invalid_ServicePropCode Menunjukkan bahwa perangkat tidak mendukung Kode Properti Layanan yang dikirim dalam konteks ini. Ini menunjukkan kesalahan internal dalam tumpukan MTP.

Persyaratan

Persyaratan Nilai
Header
PortableDevice.h

Lihat juga

Konstanta