《windows系统编程》中介绍了 CreateEnvironmentBlock 函数,来创建进程环境块。这个函数在哪定义的啊?怎么我在程序中调用会出错啊?在MSDN中也查不到,难道是在windows某个Dll中定义的吗?请高手解答一下。谢谢

解决方案 »

  1.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/policy/policy/createenvironmentblock.asp
      

  2.   

    我下面的调用为什么会出错呢???? LPVOID pPEB;
    HMODULE hModule = LoadLibrary( "userenv.dll" );
    typedef BOOL (* FUNC)( LPVOID*, HANDLE, BOOL) ;
    typedef BOOL (* FUNC1)( LPVOID ); FUNC CreateEnvironmentBlock;
    FUNC1 DestroyEnvironmentBlock; if ( hModule )
    {
    CreateEnvironmentBlock = ( FUNC ) GetProcAddress( hModule, "CreateEnvironmentBlock" );
    DestroyEnvironmentBlock = ( FUNC1) GetProcAddress( hModule, "DestroyEnvironmentBlock" );
    }

    if ( CreateEnvironmentBlock && DestroyEnvironmentBlock)
    {
    printf("OK\n"); }
    CreateEnvironmentBlock( &pPEB, NULL, TRUE); 

    DestroyEnvironmentBlock( pPEB ); FreeLibrary( hModule );