ole2disp: Implement SafeArrayDestroyData().

Based on patch by Vijay Kiran Kamuju.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2018-01-21 19:55:39 +03:00 committed by Alexandre Julliard
parent 6b2675dc8f
commit da3b5129a5
2 changed files with 20 additions and 1 deletions

View File

@ -270,6 +270,25 @@ HRESULT WINAPI SafeArrayDestroyDescriptor16(SEGPTR s)
return S_OK;
}
/******************************************************************************
* SafeArrayDestroyData [OLE2DISP.41]
*/
HRESULT WINAPI SafeArrayDestroyData16(SAFEARRAY16 *sa)
{
TRACE("%p\n", sa);
if (!sa)
return S_OK;
if (sa->cLocks)
return DISP_E_ARRAYISLOCKED;
if (!(sa->fFeatures & FADF_STATIC))
safearray_free(sa->pvData);
return S_OK;
}
/* This implementation of the BSTR API is 16-bit only. It
represents BSTR as a 16:16 far pointer, and the strings
as ISO-8859 */

View File

@ -38,7 +38,7 @@
38 pascal SafeArrayAllocDescriptor(word ptr) SafeArrayAllocDescriptor16
39 pascal SafeArrayAllocData(ptr) SafeArrayAllocData16
40 pascal SafeArrayDestroyDescriptor(segptr) SafeArrayDestroyDescriptor16
41 stub SAFEARRAYDESTROYDATA
41 pascal SafeArrayDestroyData(ptr) SafeArrayDestroyData16
42 stub SAFEARRAYREDIM
43 stub VARI2FROMI4
44 stub VARI2FROMR4