Share via


錯誤常數

Windows 可攜式裝置方法可以傳回各種 HRESULT 錯誤碼。 有些是 Windows 可攜式裝置特有的,有些則是由用來建置裝置的其他 SDK 或移植套件所定義。 本節說明可以傳回的各種錯誤碼,依原點組織。

WPD 定義下列錯誤常數。

常數/值 Description
E_WPD_DEVICE_ALREADY_OPENED
0x802A0001
裝置連線已在 呼叫 IPortableDevice::Open之前開啟。
E_WPD_DEVICE_IS_HUNG
0x802A0006
裝置將不再回應輸入。
E_WPD_DEVICE_NOT_OPEN
0x802A0002
IPortableDevice::Open的呼叫尚未開啟裝置連線。
E_WPD_OBJECT_ALREADY_ATTACHED_TO_DEVICE
0x802A0003
介面物件已經連結至裝置介面。
E_WPD_OBJECT_ALREADY_ATTACHED_TO_SERVICE
0x802A00CA
介面物件已經附加至 IPortableDeviceService 介面。
E_WPD_OBJECT_NOT_ATTACHED_TO_DEVICE
0x802A0004
介面物件尚未連結至裝置。
E_WPD_OBJECT_NOT_ATTACHED_TO_SERVICE
0x802A00CB
介面物件尚未附加至 IPortableDeviceService 介面。 一般而言,如果在呼叫IPortableDevice::Close之後,應用程式嘗試存取附加介面的方法,例如IPortableDeviceServiceCapabilities,就會傳回這個方法。
E_WPD_OBJECT_NOT_COMMITED
0x802A0005
在裝置上使用資料建立物件時,從未呼叫IStream::Commit
E_WPD_SERVICE_ALREADY_OPENED
0x802A00C8
服務連線已經由 IPortableDevice::Open的呼叫開啟。
E_WPD_SERVICE_BAD_PARAMETER_ORDER
0x802A00CC
未以正確的順序設定 IPortableDeviceServiceMethods::InvokeIPortableDeviceServiceMethods::InvokeAsync 的方法參數。 參數必須依照 WPD_PARAMETER_ATTRIBUTE_ORDER所指定的順序來設定。
E_WPD_SERVICE_NOT_OPEN
0x802A00C9
呼叫 IPortableDeviceService::Open尚未開啟服務連線。
E_WPD_SMS_INVALID_RECIPIENT
0x802A0064
為 SMS 訊息指定的收件者無效。
E_WPD_SMS_INVALID_MESSAGE_BODY
0x802A0065
為 SMS 訊息指定的訊息本文無效。
E_WPD_SMS_SERVICE_UNAVAILABLE
0x802A0066
SMS 服務無法使用。

有時候,您可能會在 Windows Media Rights Manager SDK 中遇到錯誤。 MSDN 程式庫中會提供該 SDK 所定義的錯誤清單。 不過,本檔未包含下列 Windows Media Rights Manager SDK 錯誤。

常數/值 Description
NS_E_DRM_DEBUGGING_NOT_ALLOWED
0xC00D2767
您無法在存取受 DRM 保護的內容時進行偵錯。
NS_E_NOT_LICENSED
0xC00D00CD
內容未獲得授權。

WPD 可能會將標準 Windows 錯誤碼傳回給應用程式。 下表列出使用 WPD 裝置時最常使用的標準 Windows 錯誤碼和常見錯誤狀況。

Win32 錯誤碼會使用HRESULT_FROM_WIN32宏轉換成HRESULT

常數/值 Description
ERROR_ACCESS_DENIED
0x80070005
可用來指出無法修改或刪除唯讀物件或屬性。 可用來指出物件在其範圍外存取,例如落在裝置服務階層之外的子物件。 例如,如果裝置的存取控制受限於群組原則) 將 WPD 命令傳送至裝置,則可用來指出應用程式沒有存取權 (。
ERROR_ARITHMETIC_OVERFLOW
0x80070216
可用來指出資料陣列中的元素數目已超過其限制, (ULONGLONG) 。
ERROR_BUSY
0x800700AA
可用來指出裝置正忙於處理另一項作業。 應用程式應該等候該作業完成,然後再重試。
ERROR_CANCELLED
0x800704C7
傳送至裝置的命令已因取消而中止,例如在 WPD API 中呼叫其中一個 Cancel 方法。
ERROR_DATATYPE_MISMATCH
0x8007070C
可用來指出從裝置收到不正確資料封包。
ERROR_DEVICE_IN_USE
0x80070964
針對 MTP/IP 裝置,表示連線因為裝置正在使用中而無法初始化。
ERROR_DEVICE_NOT_CONNECTE
0x8007048F
裝置已中斷連線或取消叢集。
ERROR_DIR_NOT_EMPTY
0x80070091
可用來指出針對具有子系的物件呼叫非遞迴刪除。 應用程式應該使用 IPortableDeviceContent::D elete中的遞迴刪除旗標。
ERROR_EMPTY
0x800710D2
可用來指出當預期資源資料 (例如縮圖或裝置圖示) 時,裝置無法傳送任何資源資料。 這通常表示裝置發生錯誤。
ERROR_FILE_NOT_FOUND
0x80070002
可用來指出裝置已中斷連線或取消叢集。
ERROR_GEN_FAILURE
0x8007001F
可用來指出裝置已停止回應 () 或裝置發生一般失敗。 裝置可能需要手動重設。
ERROR_INVALID_DATA
0x8007000D
可用來指出傳送至或接收自裝置的資料無法正確剖析。 這可能表示裝置端或傳輸錯誤。 如果 MTP 廠商作業傳送至裝置,此錯誤可能表示指定的作業參數不是有效的 VARTYPE
ERROR_INVALID_DATATYPE
0x8007070C
可用來指出指定的 VARTYPE 對指定的屬性無效。
ERROR_INVALID_FUNCTION
0x80070001
寫入要求是在使用IPortableDeviceResources::GetStream開啟的裝置上開啟的資源,或已對針對寫入建立開啟的資源提出讀取要求。
ERROR_INVALID_OPERATION
0x800710DD
具有子系的物件會呼叫非遞迴刪除。
ERROR_INVALID_PARAMETER
0x80070057
應用程式所提供的參數無效。
ERROR_INVALID_TIME
0x8007076D
可用來指出 datetime 屬性的轉換失敗。
ERROR_IO_DEVICE
0x8007045D
可用來指出裝置已停止回應 () 。 裝置可能需要手動重設。
ERROR_NOT_FOUND
0x80070490
可用來指出裝置支援 屬性,但該屬性值目前是空的或未初始化的。 可用來指出長時間執行作業的內部內容已不存在,因為作業已完成或已取消。 這類作業的範例包括大量屬性、物件列舉、傳輸和叫用裝置服務方法。 應用程式應該從頭重試作業。 可用來指出指定的物件不存在。 子物件可能位於裝置服務階層之外。
ERROR_NOT_READY
0x80070015
可用來指出作業未正確初始化。 這通常表示內部錯誤,或應用程式正在使用過時的裝置控制碼。 應用程式應該從頭重試作業,或重新開啟裝置。
ERROR_NOT_SUPPORTED
0x80070032
可用來指出裝置不支援屬性或命令。
ERROR_OPERATION_ABORTED
0x800703E3
傳送至裝置的命令已因為手動取消而中止,例如在 WPD API 中呼叫其中一個 Cancel 方法。
ERROR_READ_FAULT
0x8007001E
可用來指出裝置未傳送正確的資料量。
ERROR_RESOURCE_NOT_AVAILABLE
0x8007138E
可用來指出裝置上沒有縮圖或圖示) 等資源 (。
ERROR_SEM_TIMEOUT
0x80070079
可用來指出裝置已停止回應 () 。 裝置可能需要手動重設。
ERROR_TIMEOUT
0x800705B4
可用來指出裝置已停止回應 () 。 裝置可能需要手動重設。
ERROR_UNSUPPORTED_TYPE
0x8007065E
可用來指出裝置不支援指定的格式。
ERROR_WRITE_FAULT
0x8007001D
可用來指出應用程式無法將要求的資料量傳送至裝置。
WSAETIMEDOUT
0x8007274c
針對 MTP/IP 裝置,表示與裝置的連線已逾時。裝置可能需要手動重新連線。

媒體傳輸通訊協定錯誤碼

支援媒體傳輸通訊協定 (MTP) 的裝置可以傳回下列錯誤碼。 這些錯誤碼大部分都表示 MTP 堆疊中的錯誤, (MTP 類別驅動程式與裝置) 之間的通訊,但有助於診斷錯誤情況。

HRESULT 描述 MTP 回應碼 MTP 回應碼描述 詳細資料
0x80042003 0x2003 會話未開啟 表示作業的會話控制碼不是目前開啟的會話。 這表示 MTP 堆疊中的內部錯誤。
0x80042004 0x2004 不正確 TransactionID 表示 TransactionID 為零或未參考有效的交易。 這表示 MTP 堆疊中的內部錯誤。
0x80042005 0x2005 不支援作業 表示作業程式碼似乎為有效的程式碼,但裝置不支援此作業。 這表示 MTP 堆疊中的內部錯誤。
0x80042006 0x2006 不支援參數 表示非零參數已與作業一起指定,而且參數不會用於該作業。 這表示 MTP 堆疊中的內部錯誤。
0x80042007 0x2007 不完整的傳輸 表示傳輸未完成,而且應該捨棄任何傳輸的資料。 此回應不會對應至已取消的交易。
0x80042008 0x2008 不正確 StorageID 表示以作業傳送的儲存體識別碼未參考裝置上存在的實際有效存放區。 這表示 MTP 堆疊中的內部錯誤。
0x80042009 0x2009 Invalid ObjectHandle 表示物件控制碼不會參考裝置上存在的實際物件。 應用程式應該再次列舉儲存體。
0x8004200A 0x200A 不支援 DeviceProp 表示裝置屬性代碼似乎為有效的程式碼,但裝置不支援該屬性。 這表示 MTP 堆疊中的內部錯誤。
0x8004200B 0x200B 不正確 ObjectFormatCode 表示裝置不支援指定內容中提供的特定物件格式程式碼。
0x80042012 0x2012 部分刪除 表示實際上只會刪除針對刪除而指出的儲存體子集,因為某些儲存體受到寫入保護,或是在唯讀的存放區上。
0x80042013 0x2013 市集無法使用 表示存放區 (或包含所指定物件) 的存放區無法實際使用。 這可能是媒體退出所造成。 此回應不得用來指出存放區忙碌中。
0x80042014 0x2014 依格式不支援的規格 表示作業嘗試只在特定格式的物件上指定動作,而且不支援該功能。 應該再次嘗試作業,而不需依格式指定。 此本質的任何回應都會推斷,任何未來嘗試使用指示的作業來指定 格式,都會導致相同的回應。 這表示 MTP 堆疊中的內部錯誤。
0x80042015 0x2015 沒有有效的 ObjectInfo 表示主機在傳輸物件之前未提供有效的物件資訊給裝置。 這表示 MTP 堆疊中的內部錯誤。
0x80042016 0x2016 不正確程式碼格式 表示資料程式碼沒有正確的格式,因此無效。 這表示 MTP 堆疊中的內部錯誤。
0x80042017 0x2017 未知的廠商程式碼 裝置不知道如何處理廠商擴充程式碼。
0x8004201A 0x201A 不正確 ParentObject 表示物件不是有效的父物件。 這表示 MTP 堆疊中的內部錯誤。
0x8004201B 0x201B 不正確 DeviceProp 格式 表示嘗試設定裝置屬性,但資料不是正確的大小或格式。 這表示 MTP 堆疊中的內部錯誤。
0x8004201C 0x201C 不正確 DeviceProp 值 表示嘗試將裝置屬性設定為裝置不允許的值。 這表示 MTP 堆疊中的內部錯誤
0x8004201E 0x201E 會話已開啟 表示主機嘗試在會話已開啟時開啟會話。 這表示 MTP 堆疊中的內部錯誤。
0x8004201F 0x201F 交易已取消 可用來指出作業因手動取消而中斷。
0x80042020 0x2020 不支援目的地的規格 表示裝置不支援主機的目的地規格。 這表示 MTP 堆疊中的內部錯誤。
0x8004A801 0xA801 Invalid_ObjectPropCode 表示裝置在此內容中不支援傳送 的物件屬性代碼 。 這表示 MTP 堆疊中的內部錯誤。
0x8004A802 0xA802 Invalid_ObjectProp_Format 表示傳送至裝置的物件屬性大小或類型不受支援。 這表示 MTP 堆疊中的內部錯誤。
0x8004A803 0xA803 Invalid_ObjectProp_Value 表示傳送至裝置的物件屬性是正確的類型,但包含不支援的值。 這表示 MTP 堆疊中的內部錯誤。
0x8004A804 0xA804 Invalid_ObjectReference 表示傳送的物件參考無效。 參考包含不存在於裝置上的物件控制碼,或在內容中不支援嘗試設定的參考。 這可能是因為 MTP 堆疊或應用程式使用過時的儲存體物件而發生錯誤。
0x8004A806 0xA806 Invalid_Dataset 表示此作業的資料階段中傳送的資料集無效。 這表示 MTP 堆疊中的內部錯誤。
0x8004A807 0xA807 Object_Too_Large 表示想要傳送的物件無法儲存在裝置的檔案系統中。 當儲存體空間不足時,不應該傳回這個值。
0x8004A301 0xA301 Invalid_ServiceID 表示與作業一起傳送的服務識別碼未參考裝置上的實際有效服務。 這表示 MTP 堆疊中的內部錯誤。
0x8004A302 0xA302 Invalid_ServicePropCode 表示裝置在此內容中不支援傳送的服務屬性代碼。 這表示 MTP 堆疊中的內部錯誤。

規格需求

需求
標頭
PortableDevice.h

另請參閱

常數