From e611b132f9b8abe35b362e5870b74bce94a1e58e Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 16 May 2020 20:51:50 -0700 Subject: initial commit --- private/ole2ui32/mfcui/dirs | 37 +++++ private/ole2ui32/mfcui/mfcui.cpp | 223 +++++++++++++++++++++++++++ private/ole2ui32/mfcui/mfcuia32/makefile | 6 + private/ole2ui32/mfcui/mfcuia32/mfcui.rc | 80 ++++++++++ private/ole2ui32/mfcui/mfcuia32/mfcuia32.def | 19 +++ private/ole2ui32/mfcui/mfcuia32/sources | 52 +++++++ private/ole2ui32/mfcui/mfcuiw32/makefile | 6 + private/ole2ui32/mfcui/mfcuiw32/mfcui.rc | 80 ++++++++++ private/ole2ui32/mfcui/mfcuiw32/mfcuiw32.def | 19 +++ private/ole2ui32/mfcui/mfcuiw32/sources | 50 ++++++ private/ole2ui32/mfcui/resource.h | 15 ++ 11 files changed, 587 insertions(+) create mode 100644 private/ole2ui32/mfcui/dirs create mode 100644 private/ole2ui32/mfcui/mfcui.cpp create mode 100644 private/ole2ui32/mfcui/mfcuia32/makefile create mode 100644 private/ole2ui32/mfcui/mfcuia32/mfcui.rc create mode 100644 private/ole2ui32/mfcui/mfcuia32/mfcuia32.def create mode 100644 private/ole2ui32/mfcui/mfcuia32/sources create mode 100644 private/ole2ui32/mfcui/mfcuiw32/makefile create mode 100644 private/ole2ui32/mfcui/mfcuiw32/mfcui.rc create mode 100644 private/ole2ui32/mfcui/mfcuiw32/mfcuiw32.def create mode 100644 private/ole2ui32/mfcui/mfcuiw32/sources create mode 100644 private/ole2ui32/mfcui/resource.h (limited to 'private/ole2ui32/mfcui') diff --git a/private/ole2ui32/mfcui/dirs b/private/ole2ui32/mfcui/dirs new file mode 100644 index 000000000..06cd74c21 --- /dev/null +++ b/private/ole2ui32/mfcui/dirs @@ -0,0 +1,37 @@ +!IF 0 + +Copyright (c) 1989 Microsoft Corporation + +Module Name: + + dirs. + +Abstract: + + This file specifies the subdirectories of the current directory that + contain component makefiles. + + +Author: + + Drew Bliss (DrewB) 21-Dec-1993 + +!ENDIF + +# +# This is a list of all subdirectories that build required components. +# Each subdirectory name should appear on a line by itself. The build +# follows the order in which the subdirectories are specified. +# + +DIRS= \ + mfcuia32 \ + mfcuiw32 + +# +# This is a list of all subdirectories that build optional components. +# Each subdirectory name should appear on a line by itself. The build +# follows the order in which the subdirectories are specified. +# + +OPTIONAL_DIRS= diff --git a/private/ole2ui32/mfcui/mfcui.cpp b/private/ole2ui32/mfcui/mfcui.cpp new file mode 100644 index 000000000..c6043582d --- /dev/null +++ b/private/ole2ui32/mfcui/mfcui.cpp @@ -0,0 +1,223 @@ +// =========================================================================== +// File: M F C U I . C P P +// +// Copyright 1995 Microsoft Corporation. All Rights Reserved. +// Microsoft Confidential +// =========================================================================== +#ifndef UNICODE + +// %%Includes: --------------------------------------------------------------- +#include +#include +#include + +// %%Prototypes: ------------------------------------------------------------- +STDAPI Ole2AnsiWFromA(REFIID riid, LPUNKNOWN punkWrappeeA, LPUNKNOWN *ppunkWrapperW); +STDAPI Ole2AnsiAFromW(REFIID riid, LPUNKNOWN punkWrappeeW, LPUNKNOWN *ppunkWrapperA); + + +// --------------------------------------------------------------------------- +// %%Function: OleUIAddVerbMenu %%Reviewed: 00/00/95 +// +// Description: +// Wraps OleUIAddVerbMenu to OLEDLG.DLL for MFC clients, which expect to be +// able to pass Ansi IOleObject's. +// --------------------------------------------------------------------------- +#undef OleUIAddVerbMenu // overrides the Ansi/Unicode macros in OLEDLG.H + STDAPI_(BOOL) +OleUIAddVerbMenu(LPOLEOBJECT lpOleObjA, LPCSTR lpszShortType, + HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax, + BOOL bAddConvert, UINT idConvert, HMENU FAR *lphMenu) +{ + LPOLEOBJECT lpOleObjW = NULL; + BOOL fResult = FALSE; + + // allow NULL IOleObject (OleUIAddVerbMenuA handles this by making an empty menu), but + // otherwise wrap the Ansi IOleObject to Unicode. + if (lpOleObjA == NULL || + SUCCEEDED(Ole2AnsiWFromA(IID_IOleObject, (LPUNKNOWN)lpOleObjA, (LPUNKNOWN *)&lpOleObjW))) + { + fResult = OleUIAddVerbMenuA(lpOleObjW, lpszShortType, hMenu, uPos, uIDVerbMin, + uIDVerbMax, bAddConvert, idConvert, lphMenu); + + // release the Unicode IOleObject if it was created + if (lpOleObjW != NULL) + lpOleObjW->Release(); + } + + return fResult; +} // OleUIAddVerbMenu + +// --------------------------------------------------------------------------- +// %%Function: OleUIInsertObject %%Reviewed: 00/00/95 +// +// Description: +// Wraps OleUIInsertObject to OLEDLG.DLL for MFC clients, which expect to be +// able to pass Ansi IOleClientSite and IStorage in and receive Ansi interfaces +// out in ppvObj. +// --------------------------------------------------------------------------- +#undef OleUIInsertObject // overrides the Ansi/Unicode macros in OLEDLG.H + STDAPI_(UINT) +OleUIInsertObject(LPOLEUIINSERTOBJECTA lpio) +{ + LPOLECLIENTSITE lpIOleClientSiteA = NULL; + LPSTORAGE lpIStorageA = NULL; + LPVOID FAR *ppvObjA; + LPUNKNOWN punkObjW = NULL; + BOOL fCreatingObject; + UINT wResult; + HRESULT hr = S_OK; + + // validate the structure superficially: let the actual function do most of the validation + if (!lpio) + return OLEUI_ERR_STRUCTURENULL; + if (IsBadReadPtr(lpio, sizeof(LPOLEUIINSERTOBJECTA)) || + IsBadWritePtr(lpio, sizeof(LPOLEUIINSERTOBJECTA))) + return OLEUI_ERR_STRUCTUREINVALID; + if (lpio->cbStruct < sizeof(LPOLEUIINSERTOBJECTA)) + return OLEUI_ERR_CBSTRUCTINCORRECT; + + if (fCreatingObject = (lpio->dwFlags & (IOF_CREATENEWOBJECT | IOF_CREATEFILEOBJECT | IOF_CREATELINKOBJECT))) + { + // verify these parameters, otherwise cleanup becomes complicated + if (IsBadWritePtr(lpio->ppvObj, sizeof(LPUNKNOWN))) + return OLEUI_IOERR_PPVOBJINVALID; + if (lpio->lpIOleClientSite != NULL && IsBadReadPtr(lpio->lpIOleClientSite, sizeof(IOleClientSite))) + return OLEUI_IOERR_LPIOLECLIENTSITEINVALID; + if (lpio->lpIStorage != NULL && IsBadReadPtr(lpio->lpIStorage, sizeof(IStorage))) + return OLEUI_IOERR_LPISTORAGEINVALID; + + // save away the Ansi IOleClientSite, stuff in our Unicode one. + // if it's NULL, OleUIInsertObjectA() will handle the error appropriately and we'll clean up correctly, below. + if (lpIOleClientSiteA = lpio->lpIOleClientSite) + { + hr = Ole2AnsiWFromA(IID_IOleClientSite, (LPUNKNOWN)lpIOleClientSiteA, (LPUNKNOWN *)&lpio->lpIOleClientSite); + if (FAILED(hr)) + { + lpio->lpIOleClientSite = lpIOleClientSiteA; + lpio->sc = hr; + return OLEUI_IOERR_SCODEHASERROR; + } + } + + // save away the Ansi IStorage, stuff in our Unicode one. + // if it's NULL, OleUIInsertObjectA() will handle the error appropriately and we'll clean up correctly, below. + if (lpIStorageA = lpio->lpIStorage) + { + hr = Ole2AnsiWFromA(IID_IStorage, (LPUNKNOWN)lpIStorageA, (LPUNKNOWN *)&lpio->lpIStorage); + if (FAILED(hr)) + { + // make sure to free the Unicode IOleClientSite which we converted above. + if (lpio->lpIOleClientSite) + { + lpio->lpIOleClientSite->Release(); + lpio->lpIOleClientSite = lpIOleClientSiteA; + } + lpio->lpIStorage = lpIStorageA; + lpio->sc = hr; + return OLEUI_IOERR_SCODEHASERROR; + } + } + + // save the current Ansi ppvObj, stuff in our Unicode one + ppvObjA = lpio->ppvObj; + lpio->ppvObj = (LPVOID FAR *)&punkObjW; + } + + wResult = OleUIInsertObjectA(lpio); + + // regardless of success or failure of the above call, we have to clean up the wrapping we did + if (fCreatingObject) + { + // return the Ansi versions of the IOleClientSite and IStorage to + // the structure, and release the Unicode ones + if (lpio->lpIOleClientSite) + { + lpio->lpIOleClientSite->Release(); + lpio->lpIOleClientSite = lpIOleClientSiteA; + } + if (lpio->lpIStorage) + { + lpio->lpIStorage->Release(); + lpio->lpIStorage = lpIStorageA; + } + + // return the Ansi object pointer to the structure + lpio->ppvObj = ppvObjA; + + // convert + if (punkObjW != NULL) + { + HRESULT hr; + // if we were creating an object and we succeeded, punkObjW must be valid and contain an interface + // of type iid. if not, there is a problem in OleUIInsertObjectA(), not in this code. we could assert + // here if this code wanted to, but wouldn't be able to properly circumvent the error anyway. + if (FAILED(hr = Ole2AnsiAFromW(lpio->iid, (LPUNKNOWN)punkObjW, (LPUNKNOWN *)ppvObjA))) + { + lpio->sc = hr; + } + punkObjW->Release(); + if (lpio->sc != S_OK) + return OLEUI_IOERR_SCODEHASERROR; + } + } + + return wResult; +} // OleUIInsertObject + +// --------------------------------------------------------------------------- +// %%Function: OleUIPasteSpecial %%Reviewed: 00/00/95 +// +// Description: +// Wraps OleUIPasteSpecial to OLEDLG.DLL for MFC clients, which expect to be +// able to pass in and get back Ansi IDataObject's. +// --------------------------------------------------------------------------- +#undef OleUIPasteSpecial // overrides the Ansi/Unicode macros in OLEDLG.H + STDAPI_(UINT) +OleUIPasteSpecial(LPOLEUIPASTESPECIALA lpps) +{ + LPDATAOBJECT lpSrcDataObjA; + UINT wResult; + + // validate the structure superficially: let the actual function do most of the validation + if (!lpps) + return OLEUI_ERR_STRUCTURENULL; + if (IsBadReadPtr(lpps, sizeof(LPOLEUIPASTESPECIALA)) || + IsBadWritePtr(lpps, sizeof(LPOLEUIPASTESPECIALA))) + return OLEUI_ERR_STRUCTUREINVALID; + if (lpps->cbStruct < sizeof(LPOLEUIPASTESPECIALA)) + return OLEUI_ERR_CBSTRUCTINCORRECT; + if (NULL != lpps->lpSrcDataObj && IsBadReadPtr(lpps->lpSrcDataObj, sizeof(IDataObject))) + return OLEUI_IOERR_SRCDATAOBJECTINVALID; + + if (!(lpSrcDataObjA = lpps->lpSrcDataObj) || + SUCCEEDED(Ole2AnsiWFromA(IID_IDataObject, (LPUNKNOWN)lpSrcDataObjA, (LPUNKNOWN *)&lpps->lpSrcDataObj))) + { + wResult = OleUIPasteSpecialA(lpps); + + // if we had an Ansi IDataObject on entry, put it back and release the Unicode wrapper. + if (lpSrcDataObjA != NULL) + { + lpps->lpSrcDataObj->Release(); + lpps->lpSrcDataObj = lpSrcDataObjA; + } + // otherwise check to see if OleUIPasteSpecialA() placed a Unicode IDataObject into our structure. + // if it did, wrap it to make sure an Ansi one gets sent back out. + else if (lpps->lpSrcDataObj != NULL) + { + if (FAILED(Ole2AnsiAFromW(IID_IDataObject, (LPUNKNOWN)lpps->lpSrcDataObj, (LPUNKNOWN *)&lpSrcDataObjA))) + { + lpps->lpSrcDataObj->Release(); + lpps->lpSrcDataObj = NULL; + return OLEUI_PSERR_GETCLIPBOARDFAILED; // well, that's pretty much what happened, after all + } + lpps->lpSrcDataObj->Release(); + lpps->lpSrcDataObj = lpSrcDataObjA; + } + } + + return wResult; +} // OleUIPasteSpecial + +#endif // !UNICODE +// EOF ======================================================================= diff --git a/private/ole2ui32/mfcui/mfcuia32/makefile b/private/ole2ui32/mfcui/mfcuia32/makefile new file mode 100644 index 000000000..6ee4f43fa --- /dev/null +++ b/private/ole2ui32/mfcui/mfcuia32/makefile @@ -0,0 +1,6 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def diff --git a/private/ole2ui32/mfcui/mfcuia32/mfcui.rc b/private/ole2ui32/mfcui/mfcuia32/mfcui.rc new file mode 100644 index 000000000..e2f4e019c --- /dev/null +++ b/private/ole2ui32/mfcui/mfcuia32/mfcui.rc @@ -0,0 +1,80 @@ +//Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +///////////////////////////////////////////////////////////////////////////// +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +1 VERSIONINFO + FILEVERSION 3,0,0,0 + PRODUCTVERSION 2,0,1,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "Microsoft Corporation\0" + VALUE "FileDescription", "Microsoft Windows(TM) OLE 2.0 User Interface Support\0" + VALUE "FileVersion", "3.0\0" + VALUE "InternalName", "MFCUIA32\0" + VALUE "LegalCopyright", "Copyright (C) Microsoft Corp. 1995\0" + VALUE "OriginalFilename", "MFCUIA32.DLL\0" + VALUE "ProductName", "Microsoft Windows(TM) OLE 2.0 User Interface Support\0" + VALUE "ProductVersion", "2.01\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/private/ole2ui32/mfcui/mfcuia32/mfcuia32.def b/private/ole2ui32/mfcui/mfcuia32/mfcuia32.def new file mode 100644 index 000000000..e218230a1 --- /dev/null +++ b/private/ole2ui32/mfcui/mfcuia32/mfcuia32.def @@ -0,0 +1,19 @@ +; mfcuia32.def +; Copyright 1995 Microsoft Corporation. All Rights Reserved. + +DESCRIPTION 'OLE 2.0 UI Support Library.' + +EXPORTS +OleUIAddVerbMenu @1 +OleUICanConvertOrActivateAs @2 +OleUIInsertObject @3 +OleUIPasteSpecial @4 +OleUIEditLinks=OleUIEditLinksA @5 +OleUIChangeIcon=OleUIChangeIconA @6 +OleUIConvert=OleUIConvertA @7 +OleUIBusy=OleUIBusyA @8 +OleUIUpdateLinks=OleUIUpdateLinksA @9 +OleUIPromptUser=OleUIPromptUserA @10 +OleUIObjectProperties=OleUIObjectPropertiesA @11 +OleUIChangeSource=OleUIChangeSourceA @12 + diff --git a/private/ole2ui32/mfcui/mfcuia32/sources b/private/ole2ui32/mfcui/mfcuia32/sources new file mode 100644 index 000000000..f7d2102f8 --- /dev/null +++ b/private/ole2ui32/mfcui/mfcuia32/sources @@ -0,0 +1,52 @@ +!IF 0 + +Copyright (c) 1989 Microsoft Corporation + +Module Name: + + sources. + +Abstract: + + This file specifies the target component being built and the list of + sources files needed to build that component. Also specifies optional + compiler switches and libraries that are unique for the component being + built. + + +Author: + + + +!ENDIF + +DLLENTRY=DllMain + +DLLBASE=@$(BASEDIR)\PUBLIC\SDK\LIB\coffbase.txt,usermode + +DLLDEF=obj\*\mfcuia32.def + +MAJORCOMP=mfcuia32 +MINORCOMP= + +TARGETNAME=mfcuia32 +TARGETPATH=$(BASEDIR)\public\sdk\lib +C_DEFINES=-DWIN32 +TARGETTYPE=DYNLINK +UMTYPE=windows + +INCLUDES=.. + +386_OPTIMIZATION=/Oy- + +SOURCES= ..\mfcui.cpp \ + mfcui.rc + +USE_CRTDLL=1 + +LINKLIBS= $(BASEDIR)\public\sdk\lib\*\oledlg.lib \ + mfcans32.lib \ + $(BASEDIR)\public\sdk\lib\*\kernel32.lib \ + $(BASEDIR)\public\sdk\lib\*\uuid.lib + + diff --git a/private/ole2ui32/mfcui/mfcuiw32/makefile b/private/ole2ui32/mfcui/mfcuiw32/makefile new file mode 100644 index 000000000..6ee4f43fa --- /dev/null +++ b/private/ole2ui32/mfcui/mfcuiw32/makefile @@ -0,0 +1,6 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def diff --git a/private/ole2ui32/mfcui/mfcuiw32/mfcui.rc b/private/ole2ui32/mfcui/mfcuiw32/mfcui.rc new file mode 100644 index 000000000..2e11ee0d7 --- /dev/null +++ b/private/ole2ui32/mfcui/mfcuiw32/mfcui.rc @@ -0,0 +1,80 @@ +//Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +///////////////////////////////////////////////////////////////////////////// +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +1 VERSIONINFO + FILEVERSION 3,0,0,0 + PRODUCTVERSION 2,0,1,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "Microsoft Corporation\0" + VALUE "FileDescription", "Microsoft Windows(TM) OLE 2.0 User Interface Support\0" + VALUE "FileVersion", "3.0\0" + VALUE "InternalName", "MFCUIW32\0" + VALUE "LegalCopyright", "Copyright \251 Microsoft Corp. 1995\0" + VALUE "OriginalFilename", "MFCUIW32.DLL\0" + VALUE "ProductName", "Microsoft Windows(TM) OLE 2.0 User Interface Support\0" + VALUE "ProductVersion", "2.01\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/private/ole2ui32/mfcui/mfcuiw32/mfcuiw32.def b/private/ole2ui32/mfcui/mfcuiw32/mfcuiw32.def new file mode 100644 index 000000000..39ee70590 --- /dev/null +++ b/private/ole2ui32/mfcui/mfcuiw32/mfcuiw32.def @@ -0,0 +1,19 @@ +; mfcuiw32.def +; Copyright 1995 Microsoft Corporation. All Rights Reserved. + +DESCRIPTION 'OLE 2.0 UI Support Library.' + + +EXPORTS +OleUIAddVerbMenu=OleUIAddVerbMenuW @1 +OleUICanConvertOrActivateAs @2 +OleUIInsertObject=OleUIInsertObjectW @3 +OleUIPasteSpecial=OleUIPasteSpecialW @4 +OleUIEditLinks=OleUIEditLinksW @5 +OleUIChangeIcon=OleUIChangeIconW @6 +OleUIConvert=OleUIConvertW @7 +OleUIBusy=OleUIBusyW @8 +OleUIUpdateLinks=OleUIUpdateLinksW @9 +OleUIPromptUser=OleUIPromptUserW @10 +OleUIObjectProperties=OleUIObjectPropertiesW @11 +OleUIChangeSource=OleUIChangeSourceW @12 diff --git a/private/ole2ui32/mfcui/mfcuiw32/sources b/private/ole2ui32/mfcui/mfcuiw32/sources new file mode 100644 index 000000000..e39252b9a --- /dev/null +++ b/private/ole2ui32/mfcui/mfcuiw32/sources @@ -0,0 +1,50 @@ +!IF 0 + +Copyright (c) 1989 Microsoft Corporation + +Module Name: + + sources. + +Abstract: + + This file specifies the target component being built and the list of + sources files needed to build that component. Also specifies optional + compiler switches and libraries that are unique for the component being + built. + + +Author: + + + +!ENDIF + + +DLLENTRY=DllMain + +DLLBASE=@$(BASEDIR)\PUBLIC\SDK\LIB\coffbase.txt,usermode + +DLLDEF=obj\*\mfcuiw32.def + +MAJORCOMP=mfcuiw32 +MINORCOMP= + +TARGETNAME=mfcuiw32 +TARGETPATH=$(BASEDIR)\public\sdk\lib +C_DEFINES=-DWIN32 -DUNICODE +TARGETTYPE=DYNLINK +UMTYPE=windows + +INCLUDES=.. + +386_OPTIMIZATION=/Oy- + +USE_CRTDLL=1 + +SOURCES= ..\mfcui.cpp \ + mfcui.rc + +LINKLIBS= $(BASEDIR)\public\sdk\lib\*\oledlg.lib \ + $(BASEDIR)\public\sdk\lib\*\kernel32.lib + diff --git a/private/ole2ui32/mfcui/resource.h b/private/ole2ui32/mfcui/resource.h new file mode 100644 index 000000000..a0484466f --- /dev/null +++ b/private/ole2ui32/mfcui/resource.h @@ -0,0 +1,15 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by mfcui.rc +// + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1000 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif -- cgit v1.2.3