WICPixelFormatGUID = {????????-????-????-????-????????????} дает на отладку

Я пытаюсь отобразить при нажатии кнопки. Я написал код, и я уверен, что он правильный.

При отладке я получаю значение WICPixelFormatGUID = {????????-????-????-????-????????????} и guidPixelFormatSource = {CCCCCCCCCCCC-CCCCCCCC-CCCCCCCCCCCC}. Я не знаю, почему я получаю эти странные значения?

Мой код выглядит следующим образом:

   HRESULT AMEPreviewHandler::ConvertBitmapSourceTo32bppHBITMAP(
        IWICBitmapSource * pBitmapSource, 
        IWICImagingFactory * pImagingFactory, 
        HBITMAP * pStream)
//Pay Attention that this function is called from a static function by creating instance of the class (there is no problem in the function call . I have checked the value of the parameters while debugging   and i am sure that its correct)
    {
        IWICBitmapSource *pBitmapSourceConverted = NULL;
        WICPixelFormatGUID guidPixelFormatSource; /the problem here is here on debugging it gives strange value.
        HRESULT hr = pBitmapSource->GetPixelFormat(&guidPixelFormatSource);
        if (SUCCEEDED(hr) && (guidPixelFormatSource != GUID_WICPixelFormat32bppBGRA))
        {
            IWICFormatConverter *pFormatConverter;
            hr = pImagingFactory->CreateFormatConverter(&pFormatConverter);
            if (SUCCEEDED(hr))
            {
                             .......And so on....
            }
        }
    }

Еще одна вещь, когда я запускаю тот же код из нестатической функции, он работает нормально (но моя ситуация заключается в том, что я должен вызвать его по событию нажатия кнопки, и это делается функцией DialogProc() (и это статическая функция), и я у меня больше не осталось опций, поэтому я создал экземпляр класса и, используя эти экземпляр и указатель, вызываю этот ConvertBitmapSourceTo32bppHBITMAP(передавая параметр с использованием экземпляров, инициализированных в конструкторе).

Есть какие-то причины для странной ценности при отладке двух???

0 ответов

Другие вопросы по тегам