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 |
---|---|
|
Koneksi perangkat telah dibuka oleh panggilan sebelumnya ke IPortableDevice::Open. |
|
Perangkat tidak akan lagi merespons input. |
|
Koneksi perangkat belum dibuka oleh panggilan ke IPortableDevice::Open. |
|
Objek antarmuka telah dilampirkan ke antarmuka perangkat. |
|
Objek antarmuka telah dilampirkan ke antarmuka IPortableDeviceService . |
|
Objek antarmuka belum dilampirkan ke perangkat. |
|
Objek antarmuka belum dilampirkan ke antarmuka IPortableDeviceService . Biasanya, ini dikembalikan jika aplikasi mencoba mengakses metode antarmuka yang terpasang, seperti IPortableDeviceServiceCapabilities, setelah IPortableDevice::Close dipanggil. |
|
IStream::Commit tidak pernah dipanggil saat membuat objek dengan data di perangkat. |
|
Koneksi layanan telah dibuka oleh panggilan sebelumnya ke IPortableDevice::Open. |
|
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. |
|
Koneksi layanan belum dibuka oleh panggilan ke IPortableDeviceService::Open. |
|
Penerima yang ditentukan untuk pesan SMS tidak valid. |
|
Isi pesan yang ditentukan untuk pesan SMS tidak valid. |
|
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 |
---|---|
|
Anda tidak dapat men-debug saat mengakses konten yang dilindungi DRM. |
|
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 |
---|---|
|
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. |
|
Dapat digunakan untuk menunjukkan bahwa jumlah elemen dalam array data telah melebihi batasnya (ULONGLONG). |
|
Dapat digunakan untuk menunjukkan bahwa perangkat sibuk memproses operasi lain. Aplikasi harus menunggu operasi tersebut selesai sebelum mencoba kembali. |
|
Perintah yang dikirim ke perangkat telah dibatalkan karena pembatalan, misalnya dengan memanggil salah satu metode Batal di API WPD. |
|
Dapat digunakan untuk menunjukkan bahwa paket data yang tidak valid diterima dari perangkat. |
|
Untuk perangkat MTP/IP, menunjukkan bahwa koneksi gagal diinisialisasi karena perangkat sedang digunakan. |
|
Perangkat telah terputus atau dicabut. |
|
Dapat digunakan untuk menunjukkan bahwa penghapusan non-rekursif dipanggil untuk objek dengan anak-anak. Aplikasi harus menggunakan bendera penghapusan rekursif di IPortableDeviceContent::D elete. |
|
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. |
|
Dapat digunakan untuk menunjukkan bahwa perangkat telah terputus atau dicabut. |
|
Dapat digunakan untuk menunjukkan bahwa perangkat telah berhenti merespons (menggantung) atau kegagalan umum telah terjadi pada perangkat. Perangkat mungkin perlu diatur ulang secara manual. |
|
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. |
|
Dapat digunakan untuk menunjukkan bahwa VARTYPE yang ditentukan tidak valid untuk properti tertentu. |
|
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. |
|
Penghapusan non-rekursif dipanggil untuk objek dengan anak-anak. |
|
Parameter yang disediakan oleh aplikasi tidak valid. |
|
Dapat digunakan untuk menunjukkan bahwa konversi properti tanggalwaktu gagal. |
|
Dapat digunakan untuk menunjukkan bahwa perangkat telah berhenti merespons (digantung). Perangkat mungkin perlu diatur ulang secara manual. |
|
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. |
|
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. |
|
Dapat digunakan untuk menunjukkan bahwa properti atau perintah tidak didukung oleh perangkat. |
|
Perintah yang dikirim ke perangkat telah dibatalkan karena pembatalan manual, misalnya dengan memanggil salah satu metode Batal di API WPD. |
|
Dapat digunakan untuk menunjukkan bahwa perangkat tidak mengirim jumlah data yang benar. |
|
Dapat digunakan untuk menunjukkan bahwa sumber daya (seperti gambar mini atau ikon) tidak ada di perangkat. |
|
Dapat digunakan untuk menunjukkan bahwa perangkat telah berhenti merespons (digantung). Perangkat mungkin perlu diatur ulang secara manual. |
|
Dapat digunakan untuk menunjukkan bahwa perangkat telah berhenti merespons (digantung). Perangkat mungkin perlu diatur ulang secara manual. |
|
Dapat digunakan untuk menunjukkan bahwa format yang ditentukan tidak didukung oleh perangkat. |
|
Dapat digunakan untuk menunjukkan bahwa aplikasi tidak dapat mengirim jumlah data yang diminta ke perangkat. |
|
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 |
|