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; 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 /* This implementation of the BSTR API is 16-bit only. It
represents BSTR as a 16:16 far pointer, and the strings represents BSTR as a 16:16 far pointer, and the strings
as ISO-8859 */ as ISO-8859 */

View File

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