トップ回答者
EnumFontFamiliesEx関数の戻り値

質問
回答
-
WindowsAPIマニュアル通りに解釈すれば、「コールバックが最後に戻した値」なので、
「一度もコールバックが呼ばれない」ということは「あり得ない」と解釈すべきだと思います。
また、コールバックは「自前」で実装しなければなりませんが、この戻り値は明確に定義されていて、
「列挙を続けるには、戻り値が0以外の値でなければならない。列挙を止めるには、戻り値が0でなければならない。」とあります。
すなわち、
「1(!=0)が戻った」なら、「列挙すべきフォントが尽きたので全て列挙した」
「0が戻った」なら、コールバック関数が何らかの理由により列挙の中断を要請した。
と見るべきだと思います。
すべての返信
-
WindowsAPIマニュアル通りに解釈すれば、「コールバックが最後に戻した値」なので、
「一度もコールバックが呼ばれない」ということは「あり得ない」と解釈すべきだと思います。
また、コールバックは「自前」で実装しなければなりませんが、この戻り値は明確に定義されていて、
「列挙を続けるには、戻り値が0以外の値でなければならない。列挙を止めるには、戻り値が0でなければならない。」とあります。
すなわち、
「1(!=0)が戻った」なら、「列挙すべきフォントが尽きたので全て列挙した」
「0が戻った」なら、コールバック関数が何らかの理由により列挙の中断を要請した。
と見るべきだと思います。 -
TAKAKUNさん、こんにちは。フォーラムオペレーターのKumoです。
MSDNフォーラムにご投稿くださいましてありがとうございます。
ご質問いただいた件ですが、その後いかがでしょうか。
皆様から寄せられた投稿はお役に立ちましたか。
参考になった投稿には [回答としてマーク] をお願い致します。
設定いただくことで、
他のユーザーもお役に立つ回答を見つけやすくなります。
お手数ですが、ご協力の程どうかよろしくお願いいたします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~