//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 1993. // // File: stgdthk.cxx (16 bit target) // // Contents: Storage APIs that are directly thunked // // History: 17-Dec-93 JohannP Created // //-------------------------------------------------------------------------- #include #pragma hdrstop #include #include //+--------------------------------------------------------------------------- // // Function: Straight thunk routines // // Synopsis: The following routines thunk straight through // // History: 24-Feb-94 DrewB Created // //---------------------------------------------------------------------------- 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)CallObjectInWOWCheckThkMgr(THK_API_METHOD(THK_API_DllGetClassObject), PASCAL_STACK_PTR(clsid)); } //+--------------------------------------------------------------------------- // // Function: StgCreateDocfile, Remoted // // Synopsis: // // Effects: // // Arguments: [pwcsName] -- // [grfMode] -- // [reserved] -- // [ppstgOpen] -- // // Requires: // // Returns: // // Signals: // // Modifies: // // Algorithm: // // History: 2-28-94 DrewB Created // // Notes: // //---------------------------------------------------------------------------- STDAPI StgCreateDocfile(const char FAR* pwcsName, DWORD grfMode, DWORD reserved, IStorage FAR * FAR *ppstgOpen) { return (HRESULT)CallObjectInWOWCheckThkMgr(THK_API_METHOD(THK_API_StgCreateDocfile), PASCAL_STACK_PTR(pwcsName)); } //+--------------------------------------------------------------------------- // // Function: StgCreateDocfileOnILockBytes, Remoted // // Synopsis: // // Effects: // // Arguments: [plkbyt] -- // [grfMode] -- // [reserved] -- // [ppstgOpen] -- // // Requires: // // Returns: // // Signals: // // Modifies: // // Algorithm: // // History: 2-28-94 DrewB Created // // Notes: // //---------------------------------------------------------------------------- STDAPI StgCreateDocfileOnILockBytes(ILockBytes FAR *plkbyt, DWORD grfMode, DWORD reserved, IStorage FAR * FAR *ppstgOpen) { return (HRESULT)CallObjectInWOWCheckThkMgr(THK_API_METHOD(THK_API_StgCreateDocfileOnILockBytes), PASCAL_STACK_PTR(plkbyt)); } //+--------------------------------------------------------------------------- // // Function: StgOpenStorage, Remoted // // Synopsis: // // Effects: // // Arguments: [pwcsName] -- // [pstgPriority] -- // [grfMode] -- // [snbExclude] -- // [reserved] -- // [ppstgOpen] -- // // Requires: // // Returns: // // Signals: // // Modifies: // // Algorithm: // // History: 2-28-94 DrewB Created // // Notes: // //---------------------------------------------------------------------------- STDAPI StgOpenStorage(const char FAR* pwcsName, IStorage FAR *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage FAR * FAR *ppstgOpen) { // STGM_CREATE and STGM_CONVERT are illegal for open calls // 16-bit code did not enforce this, so mask out these flags // before passing grfMode on grfMode &= ~(STGM_CREATE | STGM_CONVERT); return (HRESULT)CallObjectInWOWCheckThkMgr(THK_API_METHOD(THK_API_StgOpenStorage), PASCAL_STACK_PTR(pwcsName)); } //+--------------------------------------------------------------------------- // // Function: StgOpenStorageOnILockBytes, Remoted // // Synopsis: // // Effects: // // Arguments: [plkbyt] -- // [pstgPriority] -- // [grfMode] -- // [snbExclude] -- // [reserved] -- // [ppstgOpen] -- // // Requires: // // Returns: // // Signals: // // Modifies: // // Algorithm: // // History: 2-28-94 DrewB Created // // Notes: // //---------------------------------------------------------------------------- STDAPI StgOpenStorageOnILockBytes(ILockBytes FAR *plkbyt, IStorage FAR *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage FAR * FAR *ppstgOpen) { // STGM_CREATE and STGM_CONVERT are illegal for open calls // 16-bit code did not enforce this, so mask out these flags // before passing grfMode on grfMode &= ~(STGM_CREATE | STGM_CONVERT); return (HRESULT)CallObjectInWOWCheckThkMgr(THK_API_METHOD(THK_API_StgOpenStorageOnILockBytes), PASCAL_STACK_PTR(plkbyt)); } //+--------------------------------------------------------------------------- // // Function: StgIsStorageFile, Remoted // // Synopsis: // // Effects: // // Arguments: [pwcsName] -- // // Requires: // // Returns: // // Signals: // // Modifies: // // Algorithm: // // History: 2-28-94 DrewB Created // // Notes: // //---------------------------------------------------------------------------- STDAPI StgIsStorageFile(const char FAR* pwcsName) { // // MSPUB 2.0a hack - We call the "CheckInit" version because they forgot // to call CoInitialize/OleInitialize first. // return (HRESULT)CallObjectInWOWCheckThkMgr(THK_API_METHOD(THK_API_StgIsStorageFile), PASCAL_STACK_PTR(pwcsName)); } //+--------------------------------------------------------------------------- // // Function: StgIsStorageILockBytes, Remoted // // Synopsis: // // Effects: // // Arguments: [plkbyt] -- // // Requires: // // Returns: // // Signals: // // Modifies: // // Algorithm: // // History: 2-28-94 DrewB Created // // Notes: // //---------------------------------------------------------------------------- STDAPI StgIsStorageILockBytes(ILockBytes FAR* plkbyt) { return (HRESULT)CallObjectInWOWCheckThkMgr(THK_API_METHOD(THK_API_StgIsStorageILockBytes), PASCAL_STACK_PTR(plkbyt)); } //+--------------------------------------------------------------------------- // // Function: StgSetTimes, Remoted // // Synopsis: // // Effects: // // Arguments: [lpszName] -- // [pctime] -- // [patime] -- // [pmtime] -- // // Requires: // // Returns: // // Signals: // // Modifies: // // Algorithm: // // History: 2-28-94 DrewB Created // // Notes: // //---------------------------------------------------------------------------- STDAPI StgSetTimes(char const FAR* lpszName, FILETIME const FAR* pctime, FILETIME const FAR* patime, FILETIME const FAR* pmtime) { return (HRESULT)CallObjectInWOWCheckThkMgr(THK_API_METHOD(THK_API_StgSetTimes), PASCAL_STACK_PTR(lpszName)); }