ole2disp: Implement SafeArrayDestroyDescriptor().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
6cecd59f66
commit
1529f082e6
2 changed files with 26 additions and 1 deletions
|
@ -67,6 +67,11 @@ static SEGPTR safearray_alloc(ULONG size)
|
|||
return WOWGlobalAllocLock16(GPTR, size, &h);
|
||||
}
|
||||
|
||||
static void safearray_free(SEGPTR ptr)
|
||||
{
|
||||
WOWGlobalUnlockFree16(ptr);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* SafeArrayAllocDescriptor [OLE2DISP.38]
|
||||
*/
|
||||
|
@ -90,6 +95,26 @@ HRESULT WINAPI SafeArrayAllocDescriptor16(UINT16 dims, SEGPTR *ret)
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* SafeArrayDestroyDescriptor [OLE2DISP.40]
|
||||
*/
|
||||
HRESULT WINAPI SafeArrayDestroyDescriptor16(SEGPTR s)
|
||||
{
|
||||
TRACE("0x%08x\n", s);
|
||||
|
||||
if (s)
|
||||
{
|
||||
SAFEARRAY16 *sa = MapSL(s);
|
||||
|
||||
if (sa->cLocks)
|
||||
return DISP_E_ARRAYISLOCKED;
|
||||
|
||||
safearray_free(s);
|
||||
}
|
||||
|
||||
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 */
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
37 stub GETACTIVEOBJECT
|
||||
38 pascal SafeArrayAllocDescriptor(word ptr) SafeArrayAllocDescriptor16
|
||||
39 stub SAFEARRAYALLOCDATA
|
||||
40 stub SAFEARRAYDESTROYDESCRIPTOR
|
||||
40 pascal SafeArrayDestroyDescriptor(segptr) SafeArrayDestroyDescriptor16
|
||||
41 stub SAFEARRAYDESTROYDATA
|
||||
42 stub SAFEARRAYREDIM
|
||||
43 stub VARI2FROMI4
|
||||
|
|
Loading…
Add table
Reference in a new issue