2012-11-27 131 views
0

我正在開發基於.Net框架4的小程序並使用C#語言。
我正在使用一個.Net庫,它本身使用AVIFile Windows API的函數。Windows API返回代碼值

使用AVIStreamRead函數時出現錯誤。
下面是AVIStreamRead功能的MSDN文檔:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd756849(v=vs.85).aspx

我想獲得從結果整數值我的錯誤的詳細信息。
文檔頁面列出了以下三個返回代碼:

  • AVIERR_BUFFERTOOSMALL
  • AVIERR_MEMORY
  • AVIERR_FILEREAD

但我在哪裏得到相應的整數值?

+0

它們的定義(的地方),在您的項目(或第三方庫,你含)。捕獲結果並與已知錯誤值進行比較,以瞭解如何處理它。 – Chad

回答

2

喲可以從Vfw.h中獲得它們。

#define AVIERR_UNSUPPORTED  MAKE_AVIERR(101) 
#define AVIERR_BADFORMAT  MAKE_AVIERR(102) 
#define AVIERR_MEMORY   MAKE_AVIERR(103) 
#define AVIERR_INTERNAL   MAKE_AVIERR(104) 
... 

要轉換SCODE錯誤代碼,你可以使用

WORD SCODE_CODE(SCODE sc); 
+0

謝謝你的回答。但是哪個Windows DLL提供了SCODE_CODE函數。我搜索了一段時間,但沒有成功。 – user1139666

+0

請查看此鏈接,請http://msdn.microsoft.com/ru-ru/library/windows/desktop/ms687314(v=vs.85).aspx在MSDN頁面的底部有關於需求,標題他們需要的文件和dll(在你的情況下,你需要的頭文件是winerror.h)這是MSDN中WinAPI描述的常用格式。所以,如果你有問題找到一個標題首先看這個部分。 –

+0

如果解決方案有幫助,請將其標記爲已接受。 –