2013-03-18 79 views
0

查看FormatMessage的文檔,它說Minimum supported client Windows XP [desktop apps | Windows Store apps]FormatMessage不允許?

我寫了一個應用程序,使用它,並且在本地運行時工作正常。但是,當試圖驗證它提交給Windows應用商店時,它失敗了,因爲不允許使用FormatMessageA

所以我的問題是,我錯過了什麼?這是因爲我是否在吸食它?或者某些API僅允許在側裝應用程序中和/或用於調試目的,但在真實Windows Store應用程序中不允許?

+1

務必在[DllImport]聲明中使用CharSet.Unicode。 – 2013-03-18 11:26:50

+0

@HansPassant從這裏我可以看出你和Alex一樣說我應該使用Unicode版本?如果是這樣,你會知道這是記錄在哪裏嗎? – 2013-03-18 11:30:17

+0

只需再次運行WACK,這樣您就會有事實而不是猜測。 – 2013-03-18 11:32:54

回答

2

我認爲答案在FormatMessageA的後綴「A」中。 「A」表示ANSI文本的編碼,但大多數現代應用程序使用UNICODE。嘗試使用FormatMessageW代替。

+0

謝謝,我認爲,但我找不到任何文檔來指定Windows商店應用程序僅支持Unicode,如果是這種情況,您是否知道它在哪裏記錄? – 2013-03-18 11:28:29

+0

嘗試它現在(使用'CharSet.Unicode'),你是對的。謝謝。 – 2013-03-18 11:56:06