WinRUIStartup
WinRUIStartup 関数を使用すると、要求ユニット インターフェイス (RUI) 動詞を使用して、必要な Windows 論理ユニット アプリケーション (LUA) のバージョンを指定し、特定の Microsoft Windows LUA 実装の詳細を取得できます。 この関数は、それ以降の Windows LUA 呼び出しを発行する前に、アプリケーションによって呼び出されて、それ自体を Windows LUA 実装に登録する必要があります。
構文
int WINAPI WinRUIStartup(
WORD wVersionRequired,
LUADATA FAR *lpLuaData );
パラメーター
wVersionRequired
必要な Windows LUA サポートのバージョンを指定します。 上位バイトは、マイナー バージョン (リビジョン) 番号を指定します。 下位バイトはメジャー バージョン番号を指定します。
lpLuaData
返されるバージョン番号情報を含む LUADATA 構造体へのポインター。
戻り値
戻りコードは、アプリケーションが正常に登録されたかどうか、および Windows LUA 実装が指定したバージョン番号をサポートできるかどうかを指定します。 値が 0 の場合は、正常に登録され、指定したバージョンをサポートできます。 それ以外の場合、戻りコードは次のいずれかになります。
WLUASYSNOTREADY
基になるネットワーク システムは、ネットワーク通信の準備ができていません。
WLUAVERNOTSUPPORTED
要求された Windows LUA サポートのバージョンは、この特定の Windows LUA 実装では提供されません。
WLUAINVALID
アプリケーションで指定された Windows LUA バージョンは、このダイナミック リンク ライブラリ (DLL) ではサポートされていません。
WLUAFAILURE
Windows LUA DLL の初期化中にエラーが発生しました。 これは通常、オペレーティング システムの呼び出しに失敗したために発生します。
WLUAINITREJECT
WinRUIStartup が複数回呼び出されました。
注釈
今後の Windows LUA の実装と、機能の違いがある可能性があるアプリケーションをサポートするために、 WinRUIStartup でネゴシエーションが行われます。 アプリケーションは、使用できる Windows LUA バージョンを WinRUIStartup に渡します。 このバージョンが Windows LUA DLL でサポートされている最低バージョンより低い場合、DLL はアプリケーションをサポートできず、 WinRUIStartup は失敗します。 ただし、バージョンが低くない場合、呼び出しは成功し、DLL でサポートされている Windows LUA の最上位バージョンを返します。 このバージョンがアプリケーションでサポートされている最低バージョンより低い場合、アプリケーションは初期化に失敗するか、システム上の別の Windows LUA DLL を見つけようとします。
このネゴシエーションにより、Windows LUA DLL と Windows LUA アプリケーションの両方で、さまざまな Windows LUA バージョンをサポートできます。 バージョンに重複がある場合、アプリケーションは DLL を正常に使用できます。 次の表は、 WinRUIStartup がさまざまなアプリケーションと DLL のバージョンと連携して動作する方法を示しています。
LUA アプリのバージョン | LUA DLL のバージョン | 終了 WinRUIStartup |
ソース WinRUIStartup |
結果 |
---|---|---|---|---|
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 | WLUAINVALID | 失敗 |
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 を使用する |
Note
RUI 動詞を使用するアプリケーションは、他の LUA コマンドを発行する前に WinRUIStartup を呼び出す必要があります。 ただし、 WinRUIStartup はアプリケーションごとに 1 回だけ呼び出す必要があります。 複数回呼び出された場合、後続の呼び出しは拒否されます。
実際の LUA 実装の詳細については、次のように定義されている WLUADATA 構造体で説明されています。
typedef struct { WORD wVersion;
char szDescription[WLUADESCRIPTION_LEN+1];
} LUADATA;
最後の Windows LUA 呼び出しを行った後、アプリケーションは WinRUICleanup ルーチンを呼び出す必要があります。
RUI 動詞を使用する各 LUA アプリケーションは、他の LUA 呼び出しを発行する前に WinRUIStartup 呼び出しを行う必要があります。