1

winapiのEnumDisplaySettings失敗を判断する方法は? MSDNによると

関数が失敗した場合、戻り値はゼロです。

また

グラフィック モードのインデックスはゼロから始まります。ディスプレイ デバイスのすべてのグラフィック モードの情報を取得するには、次のように EnumDisplaySettings に一連の呼び出しを行います。戻り値がゼロになるまで関数の呼び出しを続けます。

返されたゼロが失敗の兆候であるか、モードが存在しないか (iModeNum値が大きすぎる) を判断する方法は?

については何も語られていませんGetLastError。このwinapiは、失敗時に最後のエラーを設定しないようです。

4

1 に答える 1

1

これは GDI API 呼び出しの典型であり、GetLastError エラー コードを設定しません。あなたが持っているのは、「うまくいきませんでした」という戻り値だけです。

iModeNum を 0 から開始する必要があることに注意してください。それが FALSE を返す場合は、デバイス名の引数に重大な問題があると安全に想定できます。FALSE になるまで iModeNum をインクリメントし続けます。

于 2013-01-07T17:17:38.747 に答える