mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1803 lines
38 KiB
1803 lines
38 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
|
//
|
|
// File: ole2dthk.cxx (16 bit target)
|
|
//
|
|
// Contents: OLE2 APIs that are directly thunked
|
|
//
|
|
// History: 17-Dec-93 Johann Posch (johannp) Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#include <headers.cxx>
|
|
#pragma hdrstop
|
|
|
|
#include <ole2ver.h>
|
|
|
|
#include <call32.hxx>
|
|
#include <apilist.hxx>
|
|
|
|
STDAPI_(HOLEMENU) OleCreateMenuDescriptor (HMENU hmenuCombined,
|
|
LPOLEMENUGROUPWIDTHS lplMenuWidths)
|
|
{
|
|
return (HOLEMENU)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateMenuDescriptor),
|
|
PASCAL_STACK_PTR(hmenuCombined));
|
|
}
|
|
|
|
STDAPI OleDestroyMenuDescriptor (HOLEMENU holemenu)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleDestroyMenuDescriptor),
|
|
PASCAL_STACK_PTR(holemenu));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: DllGetClassObject, Remote
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [clsid] --
|
|
// [iid] --
|
|
// [ppv] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI DllGetClassObject(REFCLSID clsid, REFIID iid, void FAR* FAR* ppv)
|
|
{
|
|
/* Relies on the fact that storage and ole2.dll both use the
|
|
same DllGetClassObject in ole32.dll */
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_DllGetClassObject),
|
|
PASCAL_STACK_PTR(clsid));
|
|
}
|
|
|
|
/* helper functions */
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: ReadClassStg, Remote
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pStg] --
|
|
// [pclsid] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI ReadClassStg(LPSTORAGE pStg, CLSID FAR* pclsid)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_ReadClassStg),
|
|
PASCAL_STACK_PTR(pStg));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: WriteClassStg, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pStg] --
|
|
// [rclsid] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI WriteClassStg(LPSTORAGE pStg, REFCLSID rclsid)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_WriteClassStg),
|
|
PASCAL_STACK_PTR(pStg));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: WriteFmtUserTypeStg, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pstg] --
|
|
// [cf] --
|
|
// [lpszUserType] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI WriteFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT cf, LPSTR lpszUserType)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_WriteFmtUserTypeStg),
|
|
PASCAL_STACK_PTR(pstg));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: ReadFmtUserTypeStg, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pstg] --
|
|
// [pcf] --
|
|
// [lplpszUserType] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI ReadFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT FAR* pcf,
|
|
LPSTR FAR* lplpszUserType)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_ReadFmtUserTypeStg),
|
|
PASCAL_STACK_PTR(pstg));
|
|
}
|
|
|
|
/* APIs to query whether (Embedded/Linked) object can be created from
|
|
the data object */
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleQueryLinkFromData, Unknown
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pSrcDataObject] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleQueryLinkFromData(LPDATAOBJECT pSrcDataObject)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleQueryLinkFromData),
|
|
PASCAL_STACK_PTR(pSrcDataObject));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleQueryCreateFromData, Unknown
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pSrcDataObject] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleQueryCreateFromData),
|
|
PASCAL_STACK_PTR(pSrcDataObject) );
|
|
}
|
|
|
|
|
|
|
|
/* Object creation APIs */
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleCreate, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [rclsid] --
|
|
// [riid] --
|
|
// [renderopt] --
|
|
// [pFormatEtc] --
|
|
// [pClientSite] --
|
|
// [pStg] --
|
|
// [ppvObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleCreate(REFCLSID rclsid, REFIID riid, DWORD renderopt,
|
|
LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite,
|
|
LPSTORAGE pStg, LPVOID FAR* ppvObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreate),
|
|
PASCAL_STACK_PTR(rclsid));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleCreateFromData, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pSrcDataObj] --
|
|
// [riid] --
|
|
// [renderopt] --
|
|
// [pFormatEtc] --
|
|
// [pClientSite] --
|
|
// [pStg] --
|
|
// [ppvObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
|
|
DWORD renderopt, LPFORMATETC pFormatEtc,
|
|
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
|
|
LPVOID FAR* ppvObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateFromData),
|
|
PASCAL_STACK_PTR(pSrcDataObj));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleCreateLinkFromData, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pSrcDataObj] --
|
|
// [riid] --
|
|
// [renderopt] --
|
|
// [pFormatEtc] --
|
|
// [pClientSite] --
|
|
// [pStg] --
|
|
// [ppvObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
|
|
DWORD renderopt, LPFORMATETC pFormatEtc,
|
|
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
|
|
LPVOID FAR* ppvObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateLinkFromData),
|
|
PASCAL_STACK_PTR(pSrcDataObj));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleCreateStaticFromData, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pSrcDataObj] --
|
|
// [iid] --
|
|
// [renderopt] --
|
|
// [pFormatEtc] --
|
|
// [pClientSite] --
|
|
// [pStg] --
|
|
// [ppvObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid,
|
|
DWORD renderopt, LPFORMATETC pFormatEtc,
|
|
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
|
|
LPVOID FAR* ppvObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateStaticFromData),
|
|
PASCAL_STACK_PTR(pSrcDataObj));
|
|
}
|
|
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleCreateLink, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pmkLinkSrc] --
|
|
// [riid] --
|
|
// [renderopt] --
|
|
// [lpFormatEtc] --
|
|
// [pClientSite] --
|
|
// [pStg] --
|
|
// [ppvObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleCreateLink(LPMONIKER pmkLinkSrc, REFIID riid,
|
|
DWORD renderopt, LPFORMATETC lpFormatEtc,
|
|
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
|
|
LPVOID FAR* ppvObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateLink),
|
|
PASCAL_STACK_PTR(pmkLinkSrc));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleCreateLinkToFile, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [lpszFileName] --
|
|
// [riid] --
|
|
// [renderopt] --
|
|
// [lpFormatEtc] --
|
|
// [pClientSite] --
|
|
// [pStg] --
|
|
// [ppvObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleCreateLinkToFile(LPCSTR lpszFileName, REFIID riid,
|
|
DWORD renderopt, LPFORMATETC lpFormatEtc,
|
|
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID FAR* ppvObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateLinkToFile),
|
|
PASCAL_STACK_PTR(lpszFileName));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleCreateFromFile, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [rclsid] --
|
|
// [lpszFileName] --
|
|
// [riid] --
|
|
// [renderopt] --
|
|
// [lpFormatEtc] --
|
|
// [pClientSite] --
|
|
// [pStg] --
|
|
// [ppvObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleCreateFromFile(REFCLSID rclsid, LPCSTR lpszFileName, REFIID riid,
|
|
DWORD renderopt, LPFORMATETC lpFormatEtc,
|
|
LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
|
|
LPVOID FAR* ppvObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateFromFile),
|
|
PASCAL_STACK_PTR(rclsid));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleLoad, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pStg] --
|
|
// [riid] --
|
|
// [pClientSite] --
|
|
// [ppvObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleLoad(LPSTORAGE pStg, REFIID riid, LPOLECLIENTSITE pClientSite,
|
|
LPVOID FAR* ppvObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleLoad),
|
|
PASCAL_STACK_PTR(pStg));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleSave, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pPS] --
|
|
// [pStg] --
|
|
// [fSameAsLoad] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleSave(LPPERSISTSTORAGE pPS, LPSTORAGE pStg, BOOL fSameAsLoad)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSave),
|
|
PASCAL_STACK_PTR(pPS));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleLoadFromStream, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pStm] --
|
|
// [iidInterface] --
|
|
// [ppvObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleLoadFromStream( LPSTREAM pStm, REFIID iidInterface,
|
|
LPVOID FAR* ppvObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleLoadFromStream),
|
|
PASCAL_STACK_PTR(pStm));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleSaveToStream, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pPStm] --
|
|
// [pStm] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleSaveToStream( LPPERSISTSTREAM pPStm, LPSTREAM pStm )
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSaveToStream),
|
|
PASCAL_STACK_PTR(pPStm));
|
|
}
|
|
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleSetContainedObject, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pUnknown] --
|
|
// [fContained] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleSetContainedObject(LPUNKNOWN pUnknown, BOOL fContained)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSetContainedObject),
|
|
PASCAL_STACK_PTR(pUnknown));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleNoteObjectVisible, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pUnknown] --
|
|
// [fVisible] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleNoteObjectVisible(LPUNKNOWN pUnknown, BOOL fVisible)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleNoteObjectVisible),
|
|
PASCAL_STACK_PTR(pUnknown));
|
|
}
|
|
|
|
|
|
/* Drag/Drop APIs */
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: RegisterDragDrop, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [hwnd] --
|
|
// [pDropTarget] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI RegisterDragDrop(HWND hwnd, LPDROPTARGET pDropTarget)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_RegisterDragDrop),
|
|
PASCAL_STACK_PTR(hwnd));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: RevokeDragDrop, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [hwnd] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI RevokeDragDrop(HWND hwnd)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_RevokeDragDrop),
|
|
PASCAL_STACK_PTR(hwnd));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: DoDragDrop, Unknown
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pDataObj] --
|
|
// [pDropSource] --
|
|
// [dwOKEffects] --
|
|
// [pdwEffect] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI DoDragDrop(LPDATAOBJECT pDataObj, LPDROPSOURCE pDropSource,
|
|
DWORD dwOKEffects, LPDWORD pdwEffect)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_DoDragDrop),
|
|
PASCAL_STACK_PTR(pDataObj));
|
|
}
|
|
|
|
|
|
/* Clipboard APIs */
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleSetClipboard, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pDataObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleSetClipboard(LPDATAOBJECT pDataObj)
|
|
{
|
|
if (pDataObj != NULL)
|
|
{
|
|
HRESULT hr;
|
|
IDataObject FAR *pdoNull = NULL;
|
|
|
|
/* If we are setting the clipboard's data object we first force
|
|
the clipboard to an empty state. This avoids a problem with
|
|
Word where it always uses the same data object pointer in
|
|
every clipboard call which results in the reference counts
|
|
being too high since we reuse the proxy and addref it on
|
|
the way in */
|
|
hr = (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSetClipboard),
|
|
PASCAL_STACK_PTR(pdoNull));
|
|
if (FAILED(GetScode(hr)))
|
|
{
|
|
return hr;
|
|
}
|
|
}
|
|
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSetClipboard),
|
|
PASCAL_STACK_PTR(pDataObj));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleGetClipboard, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [ppDataObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleGetClipboard(LPDATAOBJECT FAR* ppDataObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleGetClipboard),
|
|
PASCAL_STACK_PTR(ppDataObj));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleFlushClipboard, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [void] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleFlushClipboard(void)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleFlushClipboard),
|
|
NULL);
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleIsCurrentClipboard, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pDataObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleIsCurrentClipboard(LPDATAOBJECT pDataObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleIsCurrentClipboard),
|
|
PASCAL_STACK_PTR(pDataObj));
|
|
}
|
|
|
|
|
|
/* InPlace Editing APIs */
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleSetMenuDescriptor, Unknown
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [holemenu] --
|
|
// [hwndFrame] --
|
|
// [hwndActiveObject] --
|
|
// [lpFrame] --
|
|
// [lpActiveObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleSetMenuDescriptor (HOLEMENU holemenu, HWND hwndFrame,
|
|
HWND hwndActiveObject,
|
|
LPOLEINPLACEFRAME lpFrame,
|
|
LPOLEINPLACEACTIVEOBJECT lpActiveObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSetMenuDescriptor),
|
|
PASCAL_STACK_PTR(holemenu));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleDraw, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pUnknown] --
|
|
// [dwAspect] --
|
|
// [hdcDraw] --
|
|
// [lprcBounds] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleDraw (LPUNKNOWN pUnknown, DWORD dwAspect, HDC hdcDraw,
|
|
LPCRECT lprcBounds)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleDraw),
|
|
PASCAL_STACK_PTR(pUnknown));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleRun, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pUnknown] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleRun(LPUNKNOWN pUnknown)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleRun),
|
|
PASCAL_STACK_PTR(pUnknown));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleIsRunning
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pObject] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI_(BOOL) OleIsRunning(LPOLEOBJECT pObject)
|
|
{
|
|
return (BOOL)CallObjectInWOW(THK_API_METHOD(THK_API_OleIsRunning),
|
|
PASCAL_STACK_PTR(pObject));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleLockRunning, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pUnknown] --
|
|
// [fLock] --
|
|
// [fLastUnlockCloses] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleLockRunning(LPUNKNOWN pUnknown, BOOL fLock, BOOL fLastUnlockCloses)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleLockRunning),
|
|
PASCAL_STACK_PTR(pUnknown));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: CreateOleAdviseHolder, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [ppOAHolder] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI CreateOleAdviseHolder(LPOLEADVISEHOLDER FAR* ppOAHolder)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_CreateOleAdviseHolder),
|
|
PASCAL_STACK_PTR(ppOAHolder));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleCreateDefaultHandler, Unknown
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [clsid] --
|
|
// [pUnkOuter] --
|
|
// [riid] --
|
|
// [lplpObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleCreateDefaultHandler(REFCLSID clsid, LPUNKNOWN pUnkOuter,
|
|
REFIID riid, LPVOID FAR* lplpObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateDefaultHandler),
|
|
PASCAL_STACK_PTR(clsid));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleCreateEmbeddingHelper, Unknown
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [clsid] --
|
|
// [pUnkOuter] --
|
|
// [flags] --
|
|
// [pCF] --
|
|
// [riid] --
|
|
// [lplpObj] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleCreateEmbeddingHelper(REFCLSID clsid, LPUNKNOWN pUnkOuter,
|
|
DWORD flags, LPCLASSFACTORY pCF,
|
|
REFIID riid, LPVOID FAR* lplpObj)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateEmbeddingHelper),
|
|
PASCAL_STACK_PTR(clsid));
|
|
}
|
|
|
|
/* Registration Database Helper APIs */
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleRegGetUserType, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [clsid] --
|
|
// [dwFormOfType] --
|
|
// [pszUserType] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleRegGetUserType (REFCLSID clsid, DWORD dwFormOfType,
|
|
LPSTR FAR* pszUserType)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleRegGetUserType),
|
|
PASCAL_STACK_PTR(clsid));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleRegGetMiscStatus, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [clsid] --
|
|
// [dwAspect] --
|
|
// [pdwStatus] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleRegGetMiscStatus(REFCLSID clsid, DWORD dwAspect,
|
|
DWORD FAR* pdwStatus)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleRegGetMiscStatus),
|
|
PASCAL_STACK_PTR(clsid));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleRegEnumFormatEtc, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [clsid] --
|
|
// [dwDirection] --
|
|
// [ppenum] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleRegEnumFormatEtc(REFCLSID clsid, DWORD dwDirection,
|
|
LPENUMFORMATETC FAR* ppenum)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleRegEnumFormatEtc),
|
|
PASCAL_STACK_PTR(clsid));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleRegEnumVerbs, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [clsid] --
|
|
// [ppenum] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleRegEnumVerbs(REFCLSID clsid, LPENUMOLEVERB FAR* ppenum)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleRegEnumVerbs),
|
|
PASCAL_STACK_PTR(clsid));
|
|
}
|
|
|
|
/* OLE 1.0 conversion APIS */
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleConvertIStorageToOLESTREAM, Unknown
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pstg] --
|
|
// [polestm] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleConvertIStorageToOLESTREAM(LPSTORAGE pstg,
|
|
LPOLESTREAM polestm)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleConvertIStorageToOLESTREAM),
|
|
PASCAL_STACK_PTR(pstg));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleConvertOLESTREAMToIStorage, Unknown
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [polestm] --
|
|
// [pstg] --
|
|
// [ptd] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleConvertOLESTREAMToIStorage(LPOLESTREAM polestm,
|
|
LPSTORAGE pstg,
|
|
const DVTARGETDEVICE FAR* ptd)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleConvertOLESTREAMToIStorage),
|
|
PASCAL_STACK_PTR(polestm));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleConvertIStorageToOLESTREAMEx, Unknown
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pstg] --
|
|
// [cfFormat] --
|
|
// [lWidth] --
|
|
// [lHeight] --
|
|
// [dwSize] --
|
|
// [pmedium] --
|
|
// [polestm] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleConvertIStorageToOLESTREAMEx(
|
|
LPSTORAGE pstg, // Presentation data to OLESTREAM
|
|
CLIPFORMAT cfFormat, // format
|
|
LONG lWidth, // width
|
|
LONG lHeight, // height
|
|
DWORD dwSize, // size in bytes
|
|
LPSTGMEDIUM pmedium, // bits
|
|
LPOLESTREAM polestm)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleConvertIStorageToOLESTREAMEx),
|
|
PASCAL_STACK_PTR(pstg));
|
|
}
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleConvertOLESTREAMToIStorageEx, Unknown
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [polestm] --
|
|
// [pstg] --
|
|
// [pcfFormat] --
|
|
// [plwWidth] --
|
|
// [plHeight] --
|
|
// [pdwSize] --
|
|
// [pmedium] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleConvertOLESTREAMToIStorageEx(
|
|
LPOLESTREAM polestm,
|
|
LPSTORAGE pstg, // Presentation data from OLESTREAM
|
|
CLIPFORMAT FAR* pcfFormat, // format
|
|
LONG FAR* plwWidth, // width
|
|
LONG FAR* plHeight, // height
|
|
DWORD FAR* pdwSize, // size in bytes
|
|
LPSTGMEDIUM pmedium)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleConvertOLESTREAMToIStorageEx),
|
|
PASCAL_STACK_PTR(polestm));
|
|
}
|
|
|
|
/* ConvertTo APIS */
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleGetAutoConvert, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [clsidOld] --
|
|
// [pClsidNew] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleGetAutoConvert(REFCLSID clsidOld, LPCLSID pClsidNew)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleGetAutoConvert),
|
|
PASCAL_STACK_PTR(clsidOld));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: OleSetAutoConvert, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [clsidOld] --
|
|
// [clsidNew] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI OleSetAutoConvert(REFCLSID clsidOld, REFCLSID clsidNew)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSetAutoConvert),
|
|
PASCAL_STACK_PTR(clsidOld));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: GetConvertStg, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pStg] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI GetConvertStg(LPSTORAGE pStg)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_GetConvertStg),
|
|
PASCAL_STACK_PTR(pStg));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: SetConvertStg, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pStg] --
|
|
// [fConvert] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_SetConvertStg),
|
|
PASCAL_STACK_PTR(pStg));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: CreateDataAdviseHolder, Remoted
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [ppDAHolder] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER FAR* ppDAHolder)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_CreateDataAdviseHolder),
|
|
PASCAL_STACK_PTR(ppDAHolder));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: CreateDataCache, Unknown
|
|
//
|
|
// Synopsis:
|
|
//
|
|
// Effects:
|
|
//
|
|
// Arguments: [pUnkOuter] --
|
|
// [rclsid] --
|
|
// [iid] --
|
|
// [ppv] --
|
|
//
|
|
// Requires:
|
|
//
|
|
// Returns:
|
|
//
|
|
// Signals:
|
|
//
|
|
// Modifies:
|
|
//
|
|
// Algorithm:
|
|
//
|
|
// History: 2-28-94 kevinro Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
STDAPI CreateDataCache(LPUNKNOWN pUnkOuter, REFCLSID rclsid,
|
|
REFIID iid, LPVOID FAR* ppv)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_CreateDataCache),
|
|
PASCAL_STACK_PTR(pUnkOuter));
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: Utility functions not in the spec; in ole2.dll.
|
|
//
|
|
// History: 20-Apr-94 DrewB Taken from OLE2 sources
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
STDAPI ReadOleStg
|
|
(LPSTORAGE pstg, DWORD FAR* pdwFlags, DWORD FAR* pdwOptUpdate,
|
|
DWORD FAR* pdwReserved, LPMONIKER FAR* ppmk, LPSTREAM FAR* ppstmOut)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_ReadOleStg),
|
|
PASCAL_STACK_PTR(pstg));
|
|
}
|
|
|
|
STDAPI WriteOleStg
|
|
(LPSTORAGE pstg, IOleObject FAR* pOleObj,
|
|
DWORD dwReserved, LPSTREAM FAR* ppstmOut)
|
|
{
|
|
return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_WriteOleStg),
|
|
PASCAL_STACK_PTR(pstg));
|
|
}
|