kkamegawa's weblog

Visual Studio,TFS,ALM関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

プリンタを待つ

Windowsでプリンタを使う場合、EnumPrinters()でPRINTER_INFO_2構造体を取得することがあります。PRINTER_INFO_2は実際にプリンタドライバにアクセスして情報を取得します(そのため、結構な情報が得られます)。しかし、プリンタサーバが相手になると生きていないこともあるかもしれません。その場合、タイムアウトが発生するまで待ちになります。
このため、PRINTER_INFO_4使って「生きている」プリンタだけ列挙しないといけないかなぁ…と思うようになってきました。WMIでも同じ事できたかな。お仕事で何度かはまっているので、対策考えないと…。