D3DERR
以下是 Direct3D 方法可傳回的值清單。 如需每個可傳回之值的清單,請參閱個別方法描述。
常數 | 描述 |
---|---|
|
這是成功的程式碼。 不過,此格式不支援 Mipmap 的自動產生。 這表示資源建立將會成功,但不會自動產生 mipmap 層級。 |
|
目前設定的轉譯狀態不能一起使用。 |
|
目前的紋理篩選準則不能一起使用。 |
|
目前紋理無法同時使用。 |
|
傳回此程式碼的裝置會導致 OS 重設硬體介面卡。 大部分的應用程式都應該終結裝置並結束。 必須繼續的應用程式應該終結所有視訊記憶體物件, (表面、紋理、狀態欄塊等) 並呼叫 Reset () ,讓裝置處於預設狀態。 如果應用程式接著以相同方式繼續轉譯,裝置會返回此狀態。 僅適用于 Direct3D 9Ex。 |
|
裝置已遺失,但目前無法重設。 因此,無法轉譯。 除了傳回此程式碼的裝置物件以外,Direct3D 裝置物件會導致 OS 重設硬體介面卡。 刪除所有視訊記憶體物件 (表面、紋理、狀態欄塊) ,並呼叫 Reset () 以將裝置傳回預設狀態。 如果應用程式繼續轉譯而不重設,轉譯呼叫將會成功。 |
|
裝置已遺失,但目前可重設。 |
|
已移除硬體介面卡。 應用程式必須終結裝置、執行介面卡列舉,並建立另一個 Direct3D 裝置。 如果應用程式繼續轉譯而不呼叫 Reset,則轉譯呼叫將會成功。 僅適用于 Direct3D 9Ex。 |
|
內部驅動程式錯誤。 應用程式應該會在收到此錯誤時終結並重新建立裝置。 如需偵錯此錯誤的提示,請參閱 驅動程式內部錯誤 (Direct3D 9) 。 |
|
未使用。 |
|
方法呼叫無效。 例如,方法的參數可能不是有效的指標。 |
|
要求的裝置類型無效。 |
|
可用的資料比指定的緩衝區大小所能保存的資料還要多。 |
|
此裝置不支援查詢的技術。 |
|
找不到要求的項目。 |
|
未發生任何錯誤。 |
|
Direct3D 沒有足夠的顯示記憶體來執行作業。 裝置在單一場景中使用的資源多於可同時放入視訊記憶體中。
Present、 PresentEx或 CheckDeviceState 可以傳回此錯誤。 復原類似于D3DERR_DEVICEHUNG,但應用程式可能會想要減少其每一畫面格記憶體使用量,以避免重複發生錯誤。 |
|
應用程式要求比裝置支援更多的紋理篩選作業。 |
|
裝置不支援 Alpha 色板的指定紋理混合引數。 |
|
裝置不支援 Alpha 色板的指定紋理混合作業。 |
|
裝置不支援色彩值的指定紋理混合引數。 |
|
裝置不支援色彩值的指定紋理混合作業。 |
|
裝置不支援指定的紋理因數值。 未使用;僅提供以支援舊版驅動程式。 |
|
裝置不支援指定的紋理篩選。 |
|
將資訊傳送至此表面或從此表面傳送資訊的先前 Blit 作業不完整。 |
|
紋理表面的像素格式無效。 |
|
Direct3D 子系統內發生不確定的錯誤。 |
|
不正確參數已傳遞至傳回函式。 |
|
方法呼叫無效。 例如,方法的參數可能具有不正確值。 |
|
沒有可用的物件介面。 |
|
未實作。 |
|
Direct3D 無法配置足夠的記憶體來完成呼叫。 |
|
未發生任何錯誤。 |
|
至少一個包含資源的配置位於磁片上。 僅限 Direct3D 9Ex。 |
|
沒有組成資源的配置位於磁片上。 不過,至少一個配置不在 GPU 可存取的記憶體中。 僅限 Direct3D 9Ex。 |
|
桌面顯示模式已變更。 應用程式可以繼續轉譯,但可能會有色彩轉換/延展。 挑選類似目前顯示模式的背景緩衝區格式,並呼叫 Reset 以重新建立交換鏈結。 呼叫 [重設] 之後,裝置會離開此狀態。 僅限 Direct3D 9Ex。 |
|
簡報區域已遮蔽。 遮蔽表示簡報視窗已最小化,或另一部裝置在與簡報視窗相同的監視器上進入全螢幕模式,而簡報視窗完全在該監視器上。 如果另一個視窗涵蓋工作區,則不會發生遮蔽。 遮蔽的應用程式可以繼續轉譯,而且所有呼叫都會成功,但不會更新遮蔽的簡報視窗。 最好應用程式應該停止使用裝置轉譯至簡報視窗,並持續呼叫 CheckDeviceState ,直到S_OK或S_PRESENT_MODE_CHANGED傳回為止。 僅限 Direct3D 9Ex。 |
|
裝置不支援指定大小或顯示模式的重迭。 僅限 Windows 7 下的 Direct3D 9Ex。 |
|
裝置不支援指定介面格式的重迭。 僅限 Windows 7 下的 Direct3D 9Ex。 |
|
無法保護指定的內容。 僅限 Windows 7 下的 Direct3D 9Ex。 |
|
不支援指定的密碼編譯演算法。 僅限 Windows 7 下的 Direct3D 9Ex。 |
|
目前統計資料沒有循序順序。 僅限 Windows 7 下的 Direct3D 9Ex。 |
備註
錯誤是以負值表示,無法合併。
其他傳回碼則包含在 S_PRESENT中。
設備代碼_FACD3D用來產生錯誤碼,如下列宏所示。
// Direct3D Errors
#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079)
#define D3DERR_WASSTILLDRAWING MAKE_D3DHRESULT(540)
#define _FACD3D 0x876 // Direct3D facility code
#define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code )
#define MAKE_D3DSTATUS( code ) MAKE_HRESULT( 0, _FACD3D, code )
規格需求
需求 | 值 |
---|---|
標頭 |
|
另請參閱