Win32呼び出しGetMenuItemCountは、無効なハンドルをメニューに指定する以外は-1を返すことができますか?GetMenuItemCount -1を返します
0
A
答えて
3
あなたが考えることができるのは、GetMenuItemCountが失敗すると-1を返すことです。
このAPI呼び出しが失敗する具体的な理由は文書化されていません。つまり、公開されている契約の一部ではありません。これらは実装の詳細であり、時間の経過とともに変更される可能性があります。そのため、コードでは依存できません。
エラーが発生した場合に追加情報を入手する必要がある場合は、マニュアルの指示に従ってGetLastErrorに電話してください。
+0
私は、あなたが有効なハンドルを渡したと仮定して、このAPIコールが失敗した場合にプロセスを終了する権利は完全にありますが、あなたの口に言葉を入れたくありませんでしたというDavidの主張を取り入れたいと思っていました。あなたが言うことはすべて契約に関して完全に真実ですが、実際にはこのAPIは失敗しないので、複雑なエラー処理コードを書く時間を無駄にする必要はありません。 –
関連する問題
- 1. "1"を返し、 "1"を返すメソッドはありますか?
- 2. 1/2は0.5を返しますが、sqrt(-1)はDomainErrorを返します
- 3. なぜ(true && 1)は1を返しますが、(1 && true)がtrueを返しますか?
- 4. System :: DateTimeは1/1/1の値を返します00:00:00
- 5. Android:getlayoutParams()。widthは-1を返し、getWidth()は0を返します
- 6. CountAが0を返し、WorksheetFunction.CountAが1を返します
- 7. LTRIM()は "-1"のセルを返します
- 8. PipedInputStream.read()は-1を返します
- 9. Dll関数は1を返します。
- 10. ObjectDataSource.Insertは常に-1を返します
- 11. JNI:AttachCurrentThreadは-1を返します
- 12. ABAddressBookGetPersonCountはiOSで-1を返します
- 13. レコードセット数-1を返します
- 14. perf_event_openは常に-1を返します
- 15. pyodbc rowcountは-1を返します
- 16. Javafx Combox getSelectedIndexは-1を返します
- 17. rowIndexが-1を返しています
- 18. db2_num_rows()は-1を返します
- 19. c#:ExecuteNonQuery()は-1を返します
- 20. Openpyxl Copy Time、-1を返します
- 21. Jquery.getは1を返します。
- 22. Color.argb(255,255,255,255)は-1を返します
- 23. AndroidのSQLiteは-1を返します
- 24. URLConnection.getContentLength()は-1を返します
- 25. getchは-1を返しますか?
- 26. ExecuteNonQueryは常に-1を返します
- 27. Java Exception.getMessage()は-1を返します
- 28. php mysqli bind_resultが1を返します
- 29. spring-batch getPage()は1を返します
- 30. ボタンのgetIDは-1を返します。
この質問には回答できません。あなたはすでに最も一般的な理由を特定しました。 -1が返された場合は、 'GetLastError'を呼び出して何が間違っているか調べます。このAPI呼び出しが失敗した場合は、プロセスを終了するための完全な権利があります。 –
'HMENU'パラメータがオプションとマークされているのはおかしなことです。どのように 'NULL'メニューを渡して、その関数の有効な呼び出しを処理していますか? –
@CodyGray:私は、 '_In_opt_'アノテーションが契約の実装側で人生を始めたと思います。実装が 'NULL'をテストしない場合にコンパイラが不平を言うように、そこに置かれました。その後、意味論的に意味をなさないインターフェイスにコピーされました。しかし、それは推測だ。たぶんそれ以上にあります。 – IInspectable