istream是接口,构造的话需要有具体实现

解决方案 »

  1.   

    int CreateIStream(int dwSize,LPBYTE lpData)
    {
    HGLOBAL hMem = ::GlobalAlloc(GMEM_MOVEABLE, dwSize);
    LPVOID pMem = ::GlobalLock(hMem);
    memcpy(pMem, lpData, dwSize);
    ::GlobalUnlock(hMem); // create IStream* from global memory
    LPSTREAM pstm = NULL;
    HRESULT hr = CreateStreamOnHGlobal(hMem, TRUE, &pstm);
    }
      

  2.   

    IStream* CreateIStream(int dwSize,LPBYTE lpData)
    {
    HGLOBAL hMem = ::GlobalAlloc(GMEM_MOVEABLE, dwSize);
    LPVOID pMem = ::GlobalLock(hMem);
    memcpy(pMem, lpData, dwSize);
    ::GlobalUnlock(hMem); // create IStream* from global memory
    LPSTREAM pstm = NULL;
    HRESULT hr = CreateStreamOnHGlobal(hMem, TRUE, &pstm);
    if (hr==S_OK)
    return pstm;
    }
      

  3.   

    谢谢您的回复,
    不过我想问问,不能使用已存储的char*类型而必须重新开创内存么?
      

  4.   

    谢谢您的回复,
    不过我想问问,不能使用已存储的char*类型而必须重新开创内存么?
    印象是不可以,必须使用GlobalAlloc定位的内存
      

  5.   

    谢谢您的回复,
    不过我想问问,不能使用已存储的char*类型而必须重新开创内存么?
    印象是不可以,必须使用GlobalAlloc定位的内存
    好滴,感谢啦