ウェブホストのバージョンを取得する WebhostGetVersion 関数 ~ リスナーアダプター API
リスナーアダプター (Listener Adapter) API の WebhostGetVersion 関数を用いると、ウェブホストのバージョンを取得することが可能です。
これにより、環境に依存するエクステンションを作成する場合に、 実行環境のバージョンを取得することにより、処理を振り分けることなどが可能になります。
HRESULT WebhostGetVersion( OUT DWORD* pMajorVersion, OUT DWORD* pMinorVersion );
WebhostGetVersion 関数のサンプルコード |
補足
今回のテストは資料が少なくて困りました。将来的にライブラリファイルがマイクロソフトから提供されるのかどうか、 呼び出し方は他に何かあるのか、など手探りでした。
関数を提供する DLL の見つけ方
MSDN の資料からはどの DLL を使えば良いかわからなかったので、 以下のコマンドで、dll 内のエクスポート関数を全て出力してみました。
> FOR /F "usebackq delims==" %i IN (`dir *.dll /B`) DO @dumpbin /EXPORTS %i >> dump_dll.txt
その結果、下記のように wbhstipm が WebhostGetVersion をエクスポートしていることがわかりました。
... Dump of file wbhstipm.dll File Type: DLL Section contains the following exports for wbhstipm.dll 00000000 characteristics 47918500 time date stamp Fri Jan 18 21:05:04 2008 0.00 version 1 ordinal base 8 number of functions 8 number of names ordinal hint RVA name 1 0 00002205 ??0IPM_MESSAGE_PIPE@@QAE@ABV0@@Z = ... 2 1 0000225A ??4IPM_MESSAGE_PIPE@@QAEAAV0@ABV0@@Z = ... 3 2 00001160 ??_7IPM_MESSAGE_PIPE@@6B@ = ... 4 3 00002692 WebhostCloseAllListenerChannelInstances = ... 5 4 00002529 WebhostGetVersion = _WebhostGetVersion@8 6 5 00002611 WebhostOpenListenerChannelInstance = ... ...