2011-06-20 19 views
2

我需要使用dwMimeFlags參數中包含的FMFD_RETURNUPDATEDIMGMIMES標誌來調整FindMimeFromData函數。如何找出此常量的數值,以便我可以在C#中使用它?FindMimeFromData()的dwMimeFlags參數中的FMFD_RETURNUPDATEDIMGMIMES的數值是什麼?

我幾乎沒有經驗與pinvoke,所以也許我失去了明顯的東西。是否有一種普遍接受的方式(在託管代碼中)使用非託管API中定義的常量?特別是當MSDN上的API描述只提到常量名稱,而不是它們的值時。

回答

2

我還沒有找到一個解決方案,但如果是這樣的滿標誌列表,如果它遵守的標準,我認爲值是:

0 - FMFD_DEFAULT 
1 - FMFD_URLASFILENAME 
2 - FMFD_ENABLEMIMESNIFFING 
4 - FMFD_IGNOREMIMETEXTPLAIN 
8 - FMFD_SERVERMIME 
16 - FMFD_RESPECTTEXTPLAIN 
32 - FMFD_RETURNUPDATEDIMGMIMES 

這只是一個想法..心連心!

更新

我還發現這些代碼行證實了我的想法......

#if (_WIN32_IE >= 0x0602) 
    #define FMFD_ENABLEMIMESNIFFING  0x00000002L 
    #define FMFD_IGNOREMIMETEXTPLAIN 0x00000004L 
#endif 
#define FMFD_SERVERMIME     0x00000008L 
+0

你是對的,謝謝。奇怪的是,MSDN說''dwMimeFlags'是** **以下所需值之一「,而不是它們的組合。一個文檔錯誤,我想。 –

+0

還有一個關於你添加代碼的問題 - 它從哪裏來的?這是來自MS的東西嗎?它看起來很可疑,因爲它將這些常量定義爲「long」,而「FindMimeFromData」API則表示「DWORD dwMimeFlags」。 –

+0

我發現它googling ...現在找不到網站...嘗試使用這些值我認爲這個片段是用於不同的語言!如果它幫助你不要忘記簽收! ;-) – danyolgiax