WinCPICStartup

WinCPICStartup 関数を使用すると、アプリケーションで必要な Microsoft Windows Common Programming Interface (CPI-C) のバージョンを指定し、特定の Windows CPI-C 実装の詳細を取得できます。 この関数は、それ以上の Windows CPI-C 呼び出しを発行する前に、アプリケーションが Windows CPI-C 実装に登録するために呼び出す必要があります。

構文

  
        INT WINAPI WinCPICStartup(   
WORDwVersionRequired,  
    LPWCPICDATAlpwcpicdata);  

パラメーター

wVersionRequired
必要な Windows CPI-C サポートのバージョンを指定します。 上位バイトはマイナー バージョン (リビジョン) 番号を指定します。 下位バイトはメジャー バージョン番号を指定します。

lpwcpicdata
CPI-C データ構造へのポインター。 CPICDATA 構造体は次のように定義されます。

typedef struct {  
....WORD wVersion;  
    char szDescription[WCPICDESCRIPTION_LEN+1];  
}  CPICDATA, FAR * LPWCPICDATA;  

WCPIDESCRIPTION は 127 と定義され、構造体メンバーは次のようになります。

wVersion

サポートされている Windows CPI-C のバージョン。 上位バイトはマイナー バージョン (リビジョン) 番号を指定します。 下位バイトはメジャー バージョン番号を指定します。

szDescription

サポートされている CPI-C バージョンを説明する説明文字列。

戻り値

戻り値は、アプリケーションが正常に登録されたかどうか、および Windows CPI-C 実装が指定されたバージョン番号をサポートできるかどうかを指定します。 値が 0 の場合は、正常に登録されました。 それ以外の場合、戻り値は次のいずれかになります。

WCPICSYSNOTRERADY
基になるネットワーク システムは、ネットワーク通信の準備ができていません。

WCPICVERNOTSUPPORTED
要求された Windows CPI-C サポートのバージョンは、この特定の Windows CPI-C 実装では提供されません。

WCPICINVALID
アプリケーションで指定された Windows CPI-C バージョンは、このダイナミック リンク ライブラリ (DLL) ではサポートされていません。

注釈

Windows CPI-C バージョン 1.0 と機能の違いがある可能性のある将来の Windows CPI-C の実装とアプリケーションをサポートするために、 WinCPICStartup でネゴシエーションが行われます。 アプリケーションは、使用できる Windows CPI-C バージョンを WinCPICStartup に渡します。 このバージョンが Windows CPI-C DLL でサポートされている最低バージョンより低い場合、DLL はアプリケーションをサポートできず、 WinCPICStartup 呼び出しは失敗します。 ただし、バージョンが低くない場合、呼び出しは成功し、DLL でサポートされている Windows CPI-C の最高バージョンを返します。 このバージョンがアプリケーションでサポートされている最低バージョンよりも低い場合、アプリケーションは初期化に失敗するか、システム上の別の Windows CPI-C DLL を見つけようとします。

このネゴシエーションにより、Windows CPI-C DLL と Windows CPI-C アプリケーションの両方で、さまざまな Windows CPI-C バージョンをサポートできます。 バージョンに重複がある場合、アプリケーションは DLL を正常に使用できます。 次の表は、 WinCPICStartup がさまざまなアプリケーションと DLL のバージョンと組み合わせて動作する方法を示しています。

アプリケーションのバージョン DLL のバージョン WinCPICStartup へ WinCPICStartup から 結果
1.0 1.0 1.0 1.0 1.0 を使用する
1.0、2.0 1.0 2.0 1.0 1.0 を使用する
1.0 1.0、2.0 1.0 2.0 1.0 を使用する
1.0 2.0, 3.0 1.0 WCPICINVALID 失敗
2.0, 3.0 1.0 3.0 1.0 アプリが失敗する
1.0, 2.0, 3.0 1.0, 2.0, 3.0 3.0 3.0 3.0 を使用する

実際の Windows CPI-C 実装の詳細については、次のように定義されている WHLLDATA 構造体で説明されています。

typedef struct tagWCPICDATA { WORD wVersion;  
            char szDescription[WHLLDESCRIPTION_LEN+1];  
            } WCPICDATA, FAR *LPWCPICDATA;  

最後の Windows CPI-C 呼び出しを行った後、アプリケーションは WinCPICCleanupルーチンを呼び出す必要があります。

各 Windows CPI-C 実装では、他の Windows CPI-C 呼び出しを発行する前に WinCPICStartup 呼び出しを行う必要があります。