BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
 )
{
    switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
if (::LoadLibrary("MyDLL.dll") == NULL) {
                                              int i = GetLasrError();
return FALSE;
}
                             break;
                             }
                  case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
                        break;
          }
 return TRUE;
}
在DllMain中LoadLibrary返回值为NULL,i=998,如果不是在DLLMain中加载就成功.
我也看了MSDN的东西,原文如下:
---------------->
PRB: API LoadLibrary 失败, 998 (ERROR_NOACCESS) 错误
察看本文应用于的产品
注意:这篇文章是由无人工介入的自动的机器翻译系统翻译完成。这些文章是微软为不懂英语的用户提供的, 以使他们能够理解这些文章的内容。微软不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的使用所引起的任何直接的, 或间接的可能的问题负责。
文章编号 : 196069 
最后修改 : 2004年4月13日 
修订 : 1.0 
症状
LoadLibrary() API 有时会遇到试图映射到调用进程地址空间指定模块时发生访问冲突。 在此事件, LoadLibrary() 返回值为 NULL 并且 GetLastError() 返回错误代码是 998 (ERROR_NOACCESS)。 
 回到顶端 原因
WindowsNT 状态代码 STATUS _ ACCESS _ VIOLATION 映射到 ERROR_NOACCESS Win 32 错误代码。 因此, 如果操作系统加载程序遇到访问冲突 (异常 C 0000005) 映射指定 DLL 时图像文件或执行启动代码, 加载将设置到 998 (ERROR_NOACCESS) 最后错误并 LoadLibrary() 函数将失败, 返回值为 NULL。 
 回到顶端 更多信息
当启动代码, 中任意位置发生访问冲突异常发送器检测是否正在调试进程遇到此异常。 若是, 此第一次机会异常发送到调试器。 为解决 LoadLibrary() 故障, 运行应用程序在调试器并启用首次机会异常处理为 C 0000005 访问冲突异常。 如果调用 LoadLibrary() 函数, 时发生访问冲突应用程序将中断到调试器。 调试程序调用堆栈然后跟踪用于发生异常。 堆栈跟踪可帮助您缩小实际问题与正在遇到异常。 请有关如何启用首次机会异常处理为 C 0000005 访问冲突异常, 请参考其调试器文档。 
 回到顶端 ----------------->简直说的不知所云!!!!!!!
也不说解决之道!!!!!
有哪位知道如何解决?