mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-26 19:33:31 +00:00
[SHCORE] Import from Wine-10.0
This commit is contained in:
@@ -193,6 +193,7 @@ add_subdirectory(setupapi)
|
||||
add_subdirectory(sfc)
|
||||
add_subdirectory(sfc_os)
|
||||
add_subdirectory(sfcfiles)
|
||||
add_subdirectory(shcore)
|
||||
add_subdirectory(shdoclc)
|
||||
add_subdirectory(shdocvw)
|
||||
add_subdirectory(shell32)
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
|
||||
remove_definitions(-D_WIN32_WINNT=0x502)
|
||||
add_definitions(-D_WIN32_WINNT=0x600)
|
||||
|
||||
spec2def(shcore.dll shcore.spec ADD_IMPORTLIB)
|
||||
|
||||
add_definitions(-DCONST_VTABLE)
|
||||
|
||||
list(APPEND SOURCE
|
||||
main.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/shcore.def
|
||||
${CMAKE_CURRENT_BINARY_DIR}/shcore_stubs.c
|
||||
)
|
||||
|
||||
add_library(shcore MODULE ${SOURCE})
|
||||
set_module_type(shcore win32dll ENTRYPOINT 0)
|
||||
if(MSVC)
|
||||
target_compile_options(shcore PRIVATE /wd4267) # warning C4267: '=': conversion from 'size_t' to 'ULONG', possible loss of data
|
||||
endif()
|
||||
target_link_libraries(shcore crtheap wine wine_dll_canunload)
|
||||
add_importlibs(shcore combase advapi32 advapi32_vista kernel32 ntdll)
|
||||
add_dependencies(shcore psdk)
|
||||
add_cd_file(TARGET shcore DESTINATION reactos/system32 FOR all)
|
||||
set_wine_module(shcore)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,198 @@
|
||||
1 stub -noname SHCreateReadOnlySharedMemoryStream
|
||||
@ stdcall CommandLineToArgvW(wstr ptr)
|
||||
@ stub CreateRandomAccessStreamOnFile
|
||||
@ stdcall CreateRandomAccessStreamOverStream(ptr long ptr ptr)
|
||||
@ stub CreateStreamOverRandomAccessStream
|
||||
@ stdcall -private DllCanUnloadNow()
|
||||
@ stub DllGetActivationFactory
|
||||
@ stub -private DllGetClassObject
|
||||
@ stdcall GetCurrentProcessExplicitAppUserModelID(ptr)
|
||||
@ stdcall -stub GetDpiForMonitor(long long ptr ptr)
|
||||
@ stub GetDpiForShellUIComponent
|
||||
@ stdcall GetFeatureEnabledState(long long)
|
||||
# @ stub GetFeatureVariant
|
||||
@ stdcall -stub GetProcessDpiAwareness(long ptr)
|
||||
@ stdcall GetProcessReference(ptr)
|
||||
@ stdcall GetScaleFactorForDevice(long)
|
||||
@ stdcall GetScaleFactorForMonitor(long ptr)
|
||||
@ stub IStream_Copy
|
||||
@ stdcall IStream_Read(ptr ptr long) _IStream_Read
|
||||
@ stub IStream_ReadStr
|
||||
@ stdcall IStream_Reset(ptr)
|
||||
@ stdcall IStream_Size(ptr ptr)
|
||||
@ stdcall IStream_Write(ptr ptr long) _IStream_Write
|
||||
@ stub IStream_WriteStr
|
||||
@ stdcall IUnknown_AtomicRelease(ptr)
|
||||
@ stdcall IUnknown_GetSite(ptr ptr ptr)
|
||||
@ stdcall IUnknown_QueryService(ptr ptr ptr ptr)
|
||||
@ stdcall IUnknown_Set(ptr ptr)
|
||||
@ stdcall IUnknown_SetSite(ptr ptr)
|
||||
@ stdcall IsOS(long)
|
||||
# @ stub IsProcessInIsolatedContainer
|
||||
# @ stub IsProcessInWDAGContainer
|
||||
# @ stub RecordFeatureError
|
||||
# @ stub RecordFeatureUsage
|
||||
@ stdcall RegisterScaleChangeEvent(ptr ptr)
|
||||
@ stdcall RegisterScaleChangeNotifications(long ptr long ptr)
|
||||
@ stub RevokeScaleChangeNotifications
|
||||
@ stdcall SHAnsiToAnsi(str ptr long)
|
||||
@ stdcall SHAnsiToUnicode(str ptr long)
|
||||
@ stdcall SHCopyKeyA(long str long long)
|
||||
@ stdcall SHCopyKeyW(long wstr long long)
|
||||
@ stdcall SHCreateMemStream(ptr long)
|
||||
@ stdcall SHCreateStreamOnFileA(str long ptr)
|
||||
@ stdcall SHCreateStreamOnFileEx(wstr long long long ptr ptr)
|
||||
@ stdcall SHCreateStreamOnFileW(wstr long ptr)
|
||||
@ stdcall SHCreateThread(ptr ptr long ptr)
|
||||
@ stdcall SHCreateThreadRef(ptr ptr)
|
||||
@ stub SHCreateThreadWithHandle
|
||||
@ stdcall SHDeleteEmptyKeyA(long str)
|
||||
@ stdcall SHDeleteEmptyKeyW(long wstr)
|
||||
@ stdcall SHDeleteKeyA(long str)
|
||||
@ stdcall SHDeleteKeyW(long wstr)
|
||||
@ stdcall SHDeleteValueA(long str str)
|
||||
@ stdcall SHDeleteValueW(long wstr wstr)
|
||||
@ stdcall SHEnumKeyExA(long long str ptr)
|
||||
@ stdcall SHEnumKeyExW(long long wstr ptr)
|
||||
@ stdcall SHEnumValueA(long long str ptr ptr ptr ptr)
|
||||
@ stdcall SHEnumValueW(long long wstr ptr ptr ptr ptr)
|
||||
@ stdcall SHGetThreadRef(ptr)
|
||||
@ stdcall SHGetValueA(long str str ptr ptr ptr)
|
||||
@ stdcall SHGetValueW(long wstr wstr ptr ptr ptr)
|
||||
@ stdcall SHOpenRegStream2A(long str str long)
|
||||
@ stdcall SHOpenRegStream2W(long wstr wstr long)
|
||||
@ stdcall SHOpenRegStreamA(long str str long)
|
||||
@ stdcall SHOpenRegStreamW(long wstr wstr long)
|
||||
@ stdcall SHQueryInfoKeyA(long ptr ptr ptr ptr)
|
||||
@ stdcall SHQueryInfoKeyW(long ptr ptr ptr ptr)
|
||||
@ stdcall SHQueryValueExA(long str ptr ptr ptr ptr)
|
||||
@ stdcall SHQueryValueExW(long wstr ptr ptr ptr ptr)
|
||||
@ stdcall SHRegDuplicateHKey(long)
|
||||
@ stdcall SHRegGetIntW(ptr wstr long)
|
||||
@ stdcall SHRegGetPathA(long str str ptr long)
|
||||
@ stdcall SHRegGetPathW(long wstr wstr ptr long)
|
||||
@ stdcall SHRegGetValueA(long str str long ptr ptr ptr) advapi32.RegGetValueA
|
||||
@ stdcall SHRegGetValueW(long wstr wstr long ptr ptr ptr) advapi32.RegGetValueW
|
||||
@ stdcall SHRegSetPathA(long str str str long)
|
||||
@ stdcall SHRegSetPathW(long wstr wstr wstr long)
|
||||
@ stdcall SHReleaseThreadRef()
|
||||
@ stdcall SHSetThreadRef(ptr)
|
||||
@ stdcall SHSetValueA(long str str long ptr long)
|
||||
@ stdcall SHSetValueW(long wstr wstr long ptr long)
|
||||
@ stdcall SHStrDupA(str ptr)
|
||||
@ stdcall SHStrDupW(wstr ptr)
|
||||
# @ stub SHTaskPoolAllowThreadReuse
|
||||
# @ stub SHTaskPoolDoNotWaitForMoreTasks
|
||||
# @ stub SHTaskPoolGetCurrentThreadLifetime
|
||||
# @ stub SHTaskPoolGetUniqueContext
|
||||
# @ stub SHTaskPoolQueueTask
|
||||
# @ stub SHTaskPoolSetThreadReuseAllowed
|
||||
@ stdcall SHUnicodeToAnsi(wstr ptr ptr)
|
||||
@ stdcall SHUnicodeToUnicode(wstr ptr long)
|
||||
@ stdcall SetCurrentProcessExplicitAppUserModelID(wstr)
|
||||
@ stdcall -stub SetProcessDpiAwareness(long)
|
||||
@ stdcall SetProcessReference(ptr)
|
||||
@ stdcall SubscribeFeatureStateChangeNotification(ptr ptr ptr)
|
||||
@ stub UnregisterScaleChangeEvent
|
||||
# @ stub UnsubscribeFeatureStateChangeNotification
|
||||
|
||||
100 stub -noname SHManagedCreateStreamOnFile
|
||||
101 stub -noname SHManagedCreateFile
|
||||
102 stub -noname SHIsEmptyStream
|
||||
103 stub -noname MapWin32ErrorToSTG
|
||||
104 stub -noname ModeToCreateFileFlags
|
||||
105 stub -noname CreateTempStreamName
|
||||
106 stub -noname StreamCopyTo
|
||||
107 stub -noname IStream_ReadStrLong
|
||||
108 stub -noname IStream_WriteStrLong
|
||||
109 stub -noname SHCreateStreamOnModuleResourceW
|
||||
110 stub -noname SHCreateStreamOnDllResourceW
|
||||
111 stub -noname CreateWritableSharedMemoryStream
|
||||
115 stub -noname CreateRandomAccessStreamOnFileWithOptions
|
||||
116 stub -noname RandomAccessStreamCopyAsync
|
||||
117 stub -noname CreateRandomAccessStreamOnPlaceholderFile
|
||||
120 stub -noname SHRegGetCLSIDKey
|
||||
121 stub -noname SHRegSetValue
|
||||
122 stub SHRegGetValueFromHKCUHKLM
|
||||
123 stub -noname SHRegGetBoolValueFromHKCUHKLM
|
||||
124 stub -noname SHGetValueGoodBootA
|
||||
125 stub -noname SHGetValueGoodBootW
|
||||
126 stub -noname SHLoadRegUIStringW
|
||||
127 stub -noname QuerySourceCreateFromKeyEx
|
||||
130 stub -noname SHGlobalCounterGetValue
|
||||
131 stub -noname SHGlobalCounterIncrement
|
||||
132 stub -noname SHGlobalCounterDecrement
|
||||
133 stub -noname SHGlobalCounterSetValue
|
||||
140 stub -noname IUnknown_ProfferService
|
||||
141 stub -noname IUnknown_RemoveBackReferences
|
||||
142 stub -noname IUnknown_GetClassID
|
||||
143 stub -noname StrRetToStrW
|
||||
144 stub -noname StrRetToBSTR
|
||||
145 stub -noname StrRetToBufW
|
||||
150 stub -noname SHAnsiToUnicodeCP
|
||||
151 stub -noname SHUnicodeToAnsiCP
|
||||
152 stub -noname SHUnicodeToAnsiCPAlloc
|
||||
153 stub -noname SHAnsiToUnicodeCPAlloc
|
||||
160 stub -noname SHWaitForSendMessageThread
|
||||
161 stub -noname SHWaitForThreadWithWakeMask
|
||||
162 stub -noname SHQueueUserWorkItem
|
||||
170 stub -noname PathIsNetworkPathW
|
||||
171 stub -noname PathIsNetworkPathA
|
||||
172 stub -noname PathBuildRootW
|
||||
173 stub -noname PathBuildRootA
|
||||
174 stub -noname DriveType
|
||||
175 stub -noname IsNetDrive
|
||||
181 stub -noname SHMapHandle
|
||||
182 stub -noname SHAllocShared
|
||||
183 stub -noname SHLockSharedEx
|
||||
184 stub -noname SHLockShared
|
||||
185 stub -noname SHGetSizeShared
|
||||
186 stub -noname SHUnlockShared
|
||||
187 stub -noname SHFreeShared
|
||||
188 stub -noname SHCreateWorkerWindowW
|
||||
189 stub -noname SHCreateOplockProvider
|
||||
190 stub -noname SHWindowsPolicy
|
||||
191 stub -noname SHWindowsPolicyGetValue
|
||||
192 stub -noname IsAppCompatModeEnabled
|
||||
193 stub -noname SHGetObjectCompatFlags
|
||||
200 stub -noname GUIDFromStringW
|
||||
220 stub -noname GetPhysicalDpiForDevice
|
||||
222 stub -noname ScaleRelativePixelsForDevice
|
||||
223 stub -noname PhysicalRectFromScaledRect
|
||||
224 stub -noname ScaleAndMapRelativeRectForDevice
|
||||
225 stub -noname CanOverrideScaleFactor
|
||||
226 stub -noname GetScalingOverride
|
||||
227 stub -noname RegisterScaleChangeSink
|
||||
228 stub -noname SetDesignModeScaleFactor
|
||||
229 stub -noname GetProposedScaleFactorForWindow
|
||||
230 stub -noname SHSetWindowSubclass
|
||||
231 stub -noname SHGetWindowSubclassData
|
||||
232 stub -noname SHRemoveWindowSubclass
|
||||
233 stub -noname SHDefSubclassProc
|
||||
234 stub -noname SHRegisterClassW
|
||||
240 stub -noname RegisterScaleChangeSinkForWindow
|
||||
241 stub -noname ScaleAndMapRelativeRect
|
||||
242 stub -noname RelativeRectFromPhysicalRectWithScale
|
||||
244 stub -noname GetScaleFactorForWindow
|
||||
245 stub -noname RegisterScaleChangeNotificationsForWindow
|
||||
246 stub -noname RevokeScaleChangeNotificationsForWindow
|
||||
247 stub -noname GetOverrideScaleFactorForWindow
|
||||
248 stub -noname GetSystemScaleFactorForWindow
|
||||
249 stub -noname UpdateScalingInfoCache
|
||||
250 stub -noname RegisterCurrentWindowChangeListener
|
||||
251 stub -noname RegisterWindowMonitorChangeListener
|
||||
252 stub -noname UnregisterCurrentWindowChangeListener
|
||||
253 stub -noname UnregisterWindowMonitorChangeListener
|
||||
254 stub -noname AddCurrentWindowCandidate
|
||||
255 stub -noname GetCurrentWindow
|
||||
260 stub -noname PhysicalRectFromRelativeRectWithScales
|
||||
261 stub -noname RelativeRectFromPhysicalRectWithScales
|
||||
270 stub -noname SHCreateMemoryStreamOnSharedBuffer
|
||||
280 stub -noname _CreateDirectoryHelper
|
||||
281 stub -noname Win32CreateDirectory
|
||||
282 stub -noname SuspendSHNotify
|
||||
283 stub -noname ResumeSHNotify
|
||||
284 stub -noname IsNotifySuspended
|
||||
290 stub -noname SHCreateDirectoryExW
|
||||
291 stub -noname SHCreateDirectoryExA
|
||||
292 stub -noname SHCreateDirectory
|
||||
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Copyright (C) 2021 Alex Henrie
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef _FEATURESTAGINGAPI_H_
|
||||
#define _FEATURESTAGINGAPI_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
DECLARE_HANDLE(FEATURE_STATE_CHANGE_SUBSCRIPTION);
|
||||
|
||||
typedef void WINAPI FEATURE_STATE_CHANGE_CALLBACK(void*);
|
||||
|
||||
typedef enum FEATURE_CHANGE_TIME
|
||||
{
|
||||
FEATURE_CHANGE_TIME_READ,
|
||||
FEATURE_CHANGE_TIME_MODULE_RELOAD,
|
||||
FEATURE_CHANGE_TIME_SESSION,
|
||||
FEATURE_CHANGE_TIME_REBOOT
|
||||
} FEATURE_CHANGE_TIME;
|
||||
|
||||
typedef enum FEATURE_ENABLED_STATE
|
||||
{
|
||||
FEATURE_ENABLED_STATE_DEFAULT,
|
||||
FEATURE_ENABLED_STATE_DISABLED,
|
||||
FEATURE_ENABLED_STATE_ENABLED
|
||||
} FEATURE_ENABLED_STATE;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright 2023 Louis Lenders
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef SHCORE_H
|
||||
#define SHCORE_H
|
||||
|
||||
#include <objidl.h>
|
||||
|
||||
typedef enum BSOS_OPTIONS
|
||||
{
|
||||
BSOS_DEFAULT,
|
||||
BSOS_PREFERDESTINATIONSTREAM
|
||||
} BSOS_OPTIONS;
|
||||
|
||||
HRESULT WINAPI CreateRandomAccessStreamOverStream(IStream *stream, BSOS_OPTIONS options, REFIID riid, void **ppv);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user