Visual Studio 2005 から IIS の ISAPI Extension のウィザードが消失しました。しかし、一応 CHttpServer が残ってたんで、そっちを使ってたんですが、リソースのロードができない。
デバッガで追ってると、AfxGetResourceHandle() が NULL を返してきます。なんじゃこれ?
DLLMain は既に定義されていて、自前で、ここの制御が不可能な状態に持ってきて、hInstance が、どこにも保存されていないなんて、何の罰ゲームだよ?とぼやきながら、なんやかんやと、半日潰しました(環境整えたり、原因調べたりで)。
結局、Hoge.dll という ISAPI Extension だったとすると、
static HINSTANCE g_hInstance;
HINSTANCE AhoGetResourceHandle() { return g_hInstance; }
...
CHogeExtension::CHogeExtension() {
...
g_hInstance = GetModuleHandle("hoge.dll");
}
と、こんな感じの対応でいけました。
0 件のコメント:
コメントを投稿