下面是从注册表恢复应用程序的主窗口程序,编译后出现下列错误
D:\My Documents\demo\demo.cpp(112) : error C2664: 'GetProfileBinary' : cannot convert parameter 3 from 'unsigned char' to 'unsigned char ** '
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.程序:BYTE *p;
UINT size;
WINDOWPLACEMENT *pWP;
if(GetProfileBinary(SETTINGS_KEY,WINDOWPLACEMENT_KEY,(unsigned char)pWP,&size))
{
pMainFrame->SetWindowPlacement(pWP);
delete []pWP;
}
else
{
pMainFrame->ShowWindow(m_nCmdShow);
}
    pMainFrame->UpdateWindow(); return TRUE;

解决方案 »

  1.   

    BYTE p[1000];
    GetProfileBinary(.., .., &p, ..);
      

  2.   

    to yu_hl(卖柴火的小男孩) :
      一样,请给一个GetProfileBinary的例程好吗,我手头没有它的资料
      

  3.   

    怎么我在MSDN中查不到GetProfileBinary?
    据错误信息来看,应该是那个用法。
      

  4.   

    我这样改好用了,能讲讲区别吗?
             UINT size;
    WINDOWPLACEMENT *pWP;
    if(GetProfileBinary(SETTINGS_KEY,WINDOWPLACEMENT_KEY,(unsigned char**)&pWP,&size))
    {
    pMainFrame->SetWindowPlacement(pWP);
    delete pWP;
    }
    else
    {
    pMainFrame->ShowWindow(m_nCmdShow);
    }
      

  5.   


    再问 yu_hl(卖柴火的小男孩) 
    指针 *pWP 是否需要分配内存,怎样写呢?