ole2disp.dll16: Implement SafeArrayGet[UBound|LBound].
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com> Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
dcd96f5f7a
commit
a9686b0037
|
@ -116,6 +116,42 @@ USHORT WINAPI SafeArrayGetElemsize16(SAFEARRAY16 *sa)
|
||||||
return sa->cbElements;
|
return sa->cbElements;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* SafeArrayGetUBound [OLE2DISP.19]
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI SafeArrayGetUBound16(SAFEARRAY16 *sa, UINT16 dim, LONG *ubound)
|
||||||
|
{
|
||||||
|
TRACE("(%p, %u, %p)\n", sa, dim, ubound);
|
||||||
|
|
||||||
|
if (!sa)
|
||||||
|
return E_INVALIDARG16;
|
||||||
|
|
||||||
|
if (!dim || dim > sa->cDims)
|
||||||
|
return DISP_E_BADINDEX;
|
||||||
|
|
||||||
|
*ubound = sa->rgsabound[sa->cDims - dim].lLbound + sa->rgsabound[sa->cDims - dim].cElements - 1;
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* SafeArrayGetLBound [OLE2DISP.20]
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI SafeArrayGetLBound16(SAFEARRAY16 *sa, UINT16 dim, LONG *lbound)
|
||||||
|
{
|
||||||
|
TRACE("(%p, %u, %p)\n", sa, dim, lbound);
|
||||||
|
|
||||||
|
if (!sa)
|
||||||
|
return E_INVALIDARG16;
|
||||||
|
|
||||||
|
if (!dim || dim > sa->cDims)
|
||||||
|
return DISP_E_BADINDEX;
|
||||||
|
|
||||||
|
*lbound = sa->rgsabound[sa->cDims - dim].lLbound;
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* SafeArrayLock [OLE2DISP.21]
|
* SafeArrayLock [OLE2DISP.21]
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -16,8 +16,8 @@
|
||||||
16 stub SAFEARRAYDESTROY
|
16 stub SAFEARRAYDESTROY
|
||||||
17 pascal -ret16 SafeArrayGetDim(ptr) SafeArrayGetDim16
|
17 pascal -ret16 SafeArrayGetDim(ptr) SafeArrayGetDim16
|
||||||
18 pascal -ret16 SafeArrayGetElemsize(ptr) SafeArrayGetElemsize16
|
18 pascal -ret16 SafeArrayGetElemsize(ptr) SafeArrayGetElemsize16
|
||||||
19 stub SAFEARRAYGETUBOUND
|
19 pascal SafeArrayGetUBound(ptr word ptr) SafeArrayGetUBound16
|
||||||
20 stub SAFEARRAYGETLBOUND
|
20 pascal SafeArrayGetLBound(ptr word ptr) SafeArrayGetLBound16
|
||||||
21 pascal SafeArrayLock(ptr) SafeArrayLock16
|
21 pascal SafeArrayLock(ptr) SafeArrayLock16
|
||||||
22 pascal SafeArrayUnlock(ptr) SafeArrayUnlock16
|
22 pascal SafeArrayUnlock(ptr) SafeArrayUnlock16
|
||||||
23 pascal SafeArrayAccessData(ptr ptr) SafeArrayAccessData16
|
23 pascal SafeArrayAccessData(ptr ptr) SafeArrayAccessData16
|
||||||
|
|
Loading…
Reference in New Issue