Windows で SDK を実装する前に、プラットフォーム実装のための 一般的なガイドラインとリファレンス を再度ご確認ください。
Windows でリンクする
Windows では、リンクタイム ライブラリとロードタイム ライブラリの両方を、プロジェクトのリンク コマンドに追加する必要があります。
リンクタイム ライブラリは「
EOSSDK.lib
」ですランタイム ライブラリは「
EOSSDK.dll
」です
リンク中に /DELAYDLL
を使用して、起動時にライブラリを自動でロードしないようにします。詳細は以下の「Windows でロードする」セクションを参照してください。
Windows でロードする
リンク時に /DELAYDLL
を使用しない場合は、EOS SDK をアプリケーションの起動時に自動でロードします。/DELAYDLL
を使用する場合、2 つの方法で DLL をロードできます。
通常は完全に実装された __delayLoadHelper2
関数を使用します。これは EOS SDK を最初に呼び出すときに DLL を自動でロードします。Microsoft は「delayhlp.cpp
」ファイルにある MSVC ツールチェーンで実装を提供しています。DLL を自動でロードしない場合は、以下のように完全に空で実装できます。
extern "C"
FARPROC WINAPI
__delayLoadHelper2(
PCImgDelayDescr pidd,
FARPROC * ppfnIATEntry
)
{
return NULL;
}
あるいは、以下のようにモジュールを明示的にロードすることもできます。
HMODULE Module = ::LoadLibrary(Filename);
Filename
は EOS SDK DLL ファイルへのパスです。ゲームの作業ディレクトリに DLL がある場合、この Filename にフルパスを指定する必要はありません。これは 64 ビット版 Windows の「EOSSDK-Win64-Shipping.dll
」と同様です。
モジュールをアンロードする
モジュールをアンロードするには、以下を使用します。
::FreeLibrary(Module);
Module は ::LoadLibrary
から返される値です。