錯誤常數
Windows 可攜式裝置方法可以傳回各種 HRESULT 錯誤碼。 有些是 Windows 可攜式裝置特有的,有些則是由用來建置裝置的其他 SDK 或移植套件所定義。 本節說明可以傳回的各種錯誤碼,依原點組織。
WPD 定義下列錯誤常數。
常數/值 | Description |
---|---|
|
裝置連線已在 呼叫 IPortableDevice::Open之前開啟。 |
|
裝置將不再回應輸入。 |
|
IPortableDevice::Open的呼叫尚未開啟裝置連線。 |
|
介面物件已經連結至裝置介面。 |
|
介面物件已經附加至 IPortableDeviceService 介面。 |
|
介面物件尚未連結至裝置。 |
|
介面物件尚未附加至 IPortableDeviceService 介面。 一般而言,如果在呼叫IPortableDevice::Close之後,應用程式嘗試存取附加介面的方法,例如IPortableDeviceServiceCapabilities,就會傳回這個方法。 |
|
在裝置上使用資料建立物件時,從未呼叫IStream::Commit。 |
|
服務連線已經由 IPortableDevice::Open的呼叫開啟。 |
|
未以正確的順序設定 IPortableDeviceServiceMethods::Invoke 或 IPortableDeviceServiceMethods::InvokeAsync 的方法參數。 參數必須依照 WPD_PARAMETER_ATTRIBUTE_ORDER所指定的順序來設定。 |
|
呼叫 IPortableDeviceService::Open尚未開啟服務連線。 |
|
為 SMS 訊息指定的收件者無效。 |
|
為 SMS 訊息指定的訊息本文無效。 |
|
SMS 服務無法使用。 |
有時候,您可能會在 Windows Media Rights Manager SDK 中遇到錯誤。 MSDN 程式庫中會提供該 SDK 所定義的錯誤清單。 不過,本檔未包含下列 Windows Media Rights Manager SDK 錯誤。
常數/值 | Description |
---|---|
|
您無法在存取受 DRM 保護的內容時進行偵錯。 |
|
內容未獲得授權。 |
WPD 可能會將標準 Windows 錯誤碼傳回給應用程式。 下表列出使用 WPD 裝置時最常使用的標準 Windows 錯誤碼和常見錯誤狀況。
Win32 錯誤碼會使用HRESULT_FROM_WIN32宏轉換成HRESULT。
常數/值 | Description |
---|---|
|
可用來指出無法修改或刪除唯讀物件或屬性。 可用來指出物件在其範圍外存取,例如落在裝置服務階層之外的子物件。 例如,如果裝置的存取控制受限於群組原則) 將 WPD 命令傳送至裝置,則可用來指出應用程式沒有存取權 (。 |
|
可用來指出資料陣列中的元素數目已超過其限制, (ULONGLONG) 。 |
|
可用來指出裝置正忙於處理另一項作業。 應用程式應該等候該作業完成,然後再重試。 |
|
傳送至裝置的命令已因取消而中止,例如在 WPD API 中呼叫其中一個 Cancel 方法。 |
|
可用來指出從裝置收到不正確資料封包。 |
|
針對 MTP/IP 裝置,表示連線因為裝置正在使用中而無法初始化。 |
|
裝置已中斷連線或取消叢集。 |
|
可用來指出針對具有子系的物件呼叫非遞迴刪除。 應用程式應該使用 IPortableDeviceContent::D elete中的遞迴刪除旗標。 |
|
可用來指出當預期資源資料 (例如縮圖或裝置圖示) 時,裝置無法傳送任何資源資料。 這通常表示裝置發生錯誤。 |
|
可用來指出裝置已中斷連線或取消叢集。 |
|
可用來指出裝置已停止回應 () 或裝置發生一般失敗。 裝置可能需要手動重設。 |
|
可用來指出傳送至或接收自裝置的資料無法正確剖析。 這可能表示裝置端或傳輸錯誤。 如果 MTP 廠商作業傳送至裝置,此錯誤可能表示指定的作業參數不是有效的 VARTYPE。 |
|
可用來指出指定的 VARTYPE 對指定的屬性無效。 |
|
寫入要求是在使用IPortableDeviceResources::GetStream開啟的裝置上開啟的資源,或已對針對寫入或建立開啟的資源提出讀取要求。 |
|
具有子系的物件會呼叫非遞迴刪除。 |
|
應用程式所提供的參數無效。 |
|
可用來指出 datetime 屬性的轉換失敗。 |
|
可用來指出裝置已停止回應 () 。 裝置可能需要手動重設。 |
|
可用來指出裝置支援 屬性,但該屬性值目前是空的或未初始化的。 可用來指出長時間執行作業的內部內容已不存在,因為作業已完成或已取消。 這類作業的範例包括大量屬性、物件列舉、傳輸和叫用裝置服務方法。 應用程式應該從頭重試作業。 可用來指出指定的物件不存在。 子物件可能位於裝置服務階層之外。 |
|
可用來指出作業未正確初始化。 這通常表示內部錯誤,或應用程式正在使用過時的裝置控制碼。 應用程式應該從頭重試作業,或重新開啟裝置。 |
|
可用來指出裝置不支援屬性或命令。 |
|
傳送至裝置的命令已因為手動取消而中止,例如在 WPD API 中呼叫其中一個 Cancel 方法。 |
|
可用來指出裝置未傳送正確的資料量。 |
|
可用來指出裝置上沒有縮圖或圖示) 等資源 (。 |
|
可用來指出裝置已停止回應 () 。 裝置可能需要手動重設。 |
|
可用來指出裝置已停止回應 () 。 裝置可能需要手動重設。 |
|
可用來指出裝置不支援指定的格式。 |
|
可用來指出應用程式無法將要求的資料量傳送至裝置。 |
|
針對 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 堆疊中的內部錯誤。 |
規格需求
需求 | 值 |
---|---|
標頭 |
|