Web/DB プログラミング徹底解説

ホーム > IIS 徹底解説 > ウェブホストのバージョンを取得する WebhostGetVersion 関数 ~ リスナーアダプター API

ウェブホストのバージョンを取得する 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 = ...
...
スポンサーリンク
ホーム > IIS 徹底解説 > ウェブホストのバージョンを取得する WebhostGetVersion 関数 ~ リスナーアダプター API