그래서이 오류가 계속 발생하는 이유를 알 수 없습니다. 여기에 관련 코드는 다음과 같습니다비트 맵 리소스에 액세스하면 오류 코드 0x716이 발생합니다.
//////////////////////// In resource.h ///////////////////////////
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by Freestyle.rc
//
#define IDB_BITMAP1 101
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
//////////////////////// In the resource file ////////////////////
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
.
.
.
/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//
IDB_BITMAP1 BITMAP "NOP.bmp"
//////////////////////// In DllMain: /////////////////////////////
// Save the global module we're attached to other files can access it.
g_hLocalModule = hModule;
UnsafePrintToLog(SIMPLE_FORMAT_STRING, "Starting session...");
// Display the splash screen.
CSplash splashScreen(IDB_BITMAP1);
//////////////In CSplash::CSplash(WORD resourceID) //////////////
BitmapSplash = LoadBitmap((HINSTANCE)g_hLocalModule, MAKEINTRESOURCE(resourceID));
if(BitmapSplash == NULL)
{
volatile int temp = GetLastError();
Exit("Could not load the splash screen bitmap.");
}
1. 나는 LoadBitmap에 DllMain 나에게 주어진 HINSTANCE 매개 변수를 전달합니다. 2. 예. 그것은 잘 컴파일합니다. 나는 또한 버전 정보가 링크되어있어 잘 나타낼 수있다. 3. 코드를 읽는다면 대답 할 수 있습니다. –
LoadBitmap을 호출하기 바로 전에 g_hLocalModule이 Dll에서로드 된 것과 동일한 값을 가지고 있는지 확인할 수 있습니까? –
예, 이미 있습니다. –