shell32: Added partial implementation of SHPropStgWriteMultiple.
This commit is contained in:
parent
c148c0419d
commit
b490803b37
|
@ -752,6 +752,37 @@ HRESULT WINAPI SHPropStgReadMultiple(IPropertyStorage *pps, UINT uCodePage,
|
||||||
HRESULT WINAPI SHPropStgWriteMultiple(IPropertyStorage *pps, UINT *uCodePage,
|
HRESULT WINAPI SHPropStgWriteMultiple(IPropertyStorage *pps, UINT *uCodePage,
|
||||||
ULONG cpspec, const PROPSPEC *rgpspec, PROPVARIANT *rgvar, PROPID propidNameFirst)
|
ULONG cpspec, const PROPSPEC *rgpspec, PROPVARIANT *rgvar, PROPID propidNameFirst)
|
||||||
{
|
{
|
||||||
FIXME("stub\n");
|
STATPROPSETSTG stat;
|
||||||
return E_NOTIMPL;
|
UINT codepage;
|
||||||
|
HRESULT hres;
|
||||||
|
|
||||||
|
FIXME("%p %p %u %p %p %d\n", pps, uCodePage, cpspec, rgpspec, rgvar, propidNameFirst);
|
||||||
|
|
||||||
|
hres = IPropertyStorage_Stat(pps, &stat);
|
||||||
|
if(FAILED(hres))
|
||||||
|
return hres;
|
||||||
|
|
||||||
|
if(uCodePage && *uCodePage)
|
||||||
|
codepage = *uCodePage;
|
||||||
|
else {
|
||||||
|
PROPSPEC prop;
|
||||||
|
PROPVARIANT ret;
|
||||||
|
|
||||||
|
prop.ulKind = PRSPEC_PROPID;
|
||||||
|
prop.u.propid = PID_CODEPAGE;
|
||||||
|
hres = IPropertyStorage_ReadMultiple(pps, 1, &prop, &ret);
|
||||||
|
if(FAILED(hres))
|
||||||
|
return hres;
|
||||||
|
if(ret.vt!=VT_I2 || !ret.u.iVal)
|
||||||
|
return E_FAIL;
|
||||||
|
|
||||||
|
codepage = ret.u.iVal;
|
||||||
|
if(uCodePage)
|
||||||
|
*uCodePage = codepage;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TODO: do something with codepage and stat */
|
||||||
|
|
||||||
|
hres = IPropertyStorage_WriteMultiple(pps, cpspec, rgpspec, rgvar, propidNameFirst);
|
||||||
|
return hres;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue