IEncodingFilterFactory::GetDefaultFilter() возвращает E_FAIL
|
От: |
Errar
|
|
| Дата: | 17.02.12 23:19 |
|
Оценка: |
|
пишу код, распаковывающий возвращаемые http-сервером ответ сжатый gzip.
...
CoInitialize(NULL);
IEncodingFilterFactory *pEflt = NULL;
IDataFilter *pDF = NULL;
HRESULT rc = CoCreateInstance(CLSID_StdEncodingFilterFac, NULL, CLSCTX_INPROC_SERVER, IID_IEncodingFilterFactory, (LPVOID*)&pEflt);
if(FAILED(rc)) return -3;
rc = pEflt->GetDefaultFilter((LPCWSTR)("gzip"), (LPCWSTR)("text"), &pDF); //тут почему-то E_FAIL, pDF остается NULL
...
Что нужно поправить, чтобы GetDefaultFilter отрабатывал то что нужно?
Re: IEncodingFilterFactory::GetDefaultFilter() возвращает E_
Здравствуйте, Errar, Вы писали:
E>rc = pEflt->GetDefaultFilter((LPCWSTR)("gzip"), (LPCWSTR)("text"), &pDF); //тут почему-то E_FAIL, pDF остается NULL
L"gzip", L"text"
Приведением указателя ты лишь обманул компилятор, а не перевел текст из char в WCHAR.
Re[2]: IEncodingFilterFactory::GetDefaultFilter() возвращает
|
От: |
Errar
|
|
| Дата: | 18.02.12 16:16 |
|
Оценка: |
|
MC>L"gzip", L"text"
Спасибо, помогло. (LPCWSTR)("gzip") конвертит в иероглифы...
Пока на собственное сообщение не было ответов, его можно удалить.