127 memset(&statstg, 0,
sizeof(statstg));
129 hr = IStream_Stat(
stream, &statstg, STATFLAG_NONAME);
132 *
size = statstg.cbSize;
157 IUnknown_Release(*
obj);
168 if (unk && iid &&
site)
173 hr = IObjectWithSite_GetSite(
obj, iid,
site);
174 IObjectWithSite_Release(
obj);
194 hr = IUnknown_QueryInterface(
obj, &IID_IServiceProvider, (
void **)&provider);
195 if (
hr ==
S_OK && provider)
197 TRACE(
"Using provider %p.\n", provider);
199 hr = IServiceProvider_QueryService(provider,
sid, iid,
out);
201 TRACE(
"Provider %p returned %p.\n", provider, *
out);
203 IServiceProvider_Release(provider);
217 IUnknown_AddRef(
src);
232 TRACE(
"ObjectWithSite %p, hr %#lx.\n", objwithsite,
hr);
235 hr = IObjectWithSite_SetSite(objwithsite,
site);
236 TRACE(
"SetSite() hr %#lx.\n",
hr);
237 IObjectWithSite_Release(objwithsite);
241 hr = IUnknown_QueryInterface(
obj, &IID_IInternetSecurityManager, (
void **)&sec_manager);
242 TRACE(
"InternetSecurityManager %p, hr %#lx.\n", sec_manager,
hr);
247 TRACE(
"SetSecuritySite() hr %#lx.\n",
hr);
248 IInternetSecurityManager_Release(sec_manager);
323 if (
len < deslen)
break;
350 while (*
s && *
s !=
' ' && *
s !=
'\t')
354 while (*
s ==
' ' || *
s ==
'\t')
363 if ((*
s ==
' ' || *
s ==
'\t') && qcount == 0)
366 while (*
s ==
' ' || *
s ==
'\t')
381 if ((bcount & 1) == 0)
432 while (*
d && *
d !=
' ' && *
d !=
'\t')
441 while (*
s ==
' ' || *
s ==
'\t')
456 if ((*
s ==
' ' || *
s ==
'\t') && qcount == 0)
465 }
while (*
s ==
' ' || *
s ==
'\t');
476 if ((bcount & 1) == 0)
489 d =
d - bcount / 2 - 1;
565 IStream_AddRef(iface);
605 TRACE(
"%p, %p, %lu, %p.\n", iface,
buff, buff_size, read_len);
632 TRACE(
"%p, %p, %lu, %p.\n", iface,
buff, buff_size, written);
634 if (length < stream->
u.mem.position)
647 stream->u.mem.position += buff_size;
650 *written = buff_size;
662 if (
origin == STREAM_SEEK_SET)
664 else if (
origin == STREAM_SEEK_CUR)
666 else if (
origin == STREAM_SEEK_END)
675 stream->u.mem.position = tmp.
u.LowPart;
718 while (
size.QuadPart > 0)
721 ULONG chunk_read, chunk_written;
723 hr = IStream_Read(iface,
buffer, chunk_size, &chunk_read);
731 hr = IStream_Write(
dest,
buffer, chunk_read, &chunk_written);
735 total_written.
QuadPart += chunk_written;
738 if (chunk_read != chunk_size)
741 size.QuadPart -= chunk_read;
794 TRACE(
"%p, %p, %#lx.\n", iface, statstg,
flags);
796 memset(statstg, 0,
sizeof(*statstg));
797 statstg->type = STGTY_STREAM;
798 statstg->cbSize.QuadPart =
stream->u.mem.length;
845 if (!
stream->u.mem.buffer)
851 stream->u.mem.length = data_len;
852 stream->u.mem.position = 0;
922 DWORD written_len = 0;
926 switch (
stream->u.file.mode & 0xf)
939 *written = written_len;
957 new_pos->
u.HighPart = 0;
1007 while (
size.QuadPart)
1014 hr = IStream_Read(iface,
buff,
left, &read_chunk);
1021 hr = IStream_Write(
dest,
buff, read_chunk, &written_chunk);
1023 written->
QuadPart += written_chunk;
1045 TRACE(
"%p, %p, %#lx.\n", iface, statstg,
flags);
1050 memset(&fi, 0,
sizeof(fi));
1053 if (
flags & STATFLAG_NONAME)
1054 statstg->pwcsName =
NULL;
1067 statstg->grfMode =
stream->u.file.mode;
1068 statstg->grfLocksSupported = 0;
1069 memcpy(&statstg->clsid, &IID_IStream,
sizeof(
CLSID));
1070 statstg->grfStateBits = 0;
1071 statstg->reserved = 0;
1107 if (!
path || !
ret ||
template)
1127 switch (
mode & 0xf0)
1146 switch (
mode & 0xf000)
1230 if (
stream->u.mem.length)
1301 stream->u.mem.hkey = hStrKey;
1436 IUnknown_AddRef(iface);
1516 IUnknown_AddRef(*
out);
1539 FIXME(
"() - stub!\n");
1556 IUnknown_AddRef(*
obj);
1744 if (!
src || !
dest || dest_len <= 0)
1762 if (!
dest || !dest_len)
1770 dest[dest_len - 1] = 0;
1789 if (!
src || !
dest || dest_len <= 0)
1807 if (!
dest || !dest_len)
1815 dest[dest_len - 1] = 0;
1833 TRACE(
"new key is %p\n", newKey);
1970 DWORD key_count = 0, value_count = 0, max_key_len = 0;
1973 DWORD max_data_len = 0,
i;
1978 if (!hkey_dst || !hkey_src)
1988 DWORD max_value_len;
1991 NULL, &value_count, &max_value_len, &max_data_len,
NULL,
NULL);
1995 max_key_len =
max(max_key_len, max_value_len);
2000 if (max_data_len >
sizeof(
buff))
2003 if (!ptr_name || !
ptr)
2008 for (
i = 0;
i < key_count && !
ret;
i++)
2010 HKEY hsubkey_src, hsubkey_dst;
2033 for (
i = 0;
i < value_count && !
ret;
i++)
2044 if (ptr_name !=
name)
2049 if (subkey && hkey_src)
2082 TRACE(
"%p, %ld, %s, %p, %p, %p, %p.\n", hkey,
index,
debugstr_a(
value),
length,
type,
data, data_len);
2093 TRACE(
"%p, %ld, %s, %p, %p, %p, %p.\n", hkey,
index,
debugstr_w(
value),
length,
type,
data, data_len);
2104 DWORD ret, value_type, data_len = 0;
2106 TRACE(
"(%p, %s, %p, %p, %p, %p)\n", hkey,
debugstr_w(
name),
reserved,
type,
buff,
buff_len);
2152 DWORD ret, value_type, data_len = 0;
2154 TRACE(
"(%p, %s, %p, %p, %p, %p)\n", hkey,
debugstr_a(
name),
reserved,
type,
buff,
buff_len);
2257 return default_value;
2262 return default_value;
2301 if (subkey && *subkey)
2309 if (hsubkey != hkey)
2328 if (subkey && *subkey)
2336 if (hsubkey != hkey)
2374 TRACE(
"(%p, %p, %p, %p, %p)\n", hkey, subkeys, subkey_max,
values, value_max);
2376 return RegQueryInfoKeyA(hkey,
NULL,
NULL,
NULL, subkeys, subkey_max,
NULL,
values, value_max,
NULL,
NULL,
NULL);
2384 TRACE(
"(%p, %p, %p, %p, %p)\n", hkey, subkeys, subkey_max,
values, value_max);
2386 return RegQueryInfoKeyW(hkey,
NULL,
NULL,
NULL, subkeys, subkey_max,
NULL,
values, value_max,
NULL,
NULL,
NULL);
2404 ERR(
"GetVersionEx failed\n");
2408 osvi.wSuiteMask = 0;
2422#define ISOS_RETURN(x) \
2423 TRACE("(%#lx) ret %d\n",feature,(x)); \
2454 FIXME(
"(OS_EMBEDDED) What should we return here?\n");
2457 FIXME(
"(OS_TERMINALCLIENT) What should we return here?\n");
2460 FIXME(
"(OS_TERMINALREMOTEADMIN) What should we return here?\n");
2483 FIXME(
"(OS_FASTUSERSWITCHING) What should we return here?\n");
2486 FIXME(
"(OS_WELCOMELOGONUI) What should we return here?\n");
2489 FIXME(
"(OS_DOMAINMEMBER) What should we return here?\n");
2508 FIXME(
"(OS_TABLETPC) What should we return here?\n");
2518 L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
2531 FIXME(
"(OS_SERVERADMINUI) What should we return here?\n");
2535 FIXME(
"(OS_MEDIACENTER) What should we return here?\n");
2538 FIXME(
"(OS_APPLIANCE) What should we return here?\n");
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
BOOL NTAPI DllMain(_In_ HINSTANCE hDll, _In_ ULONG dwReason, _In_opt_ PVOID pReserved)
#define RegCloseKey(hKey)
LSTATUS WINAPI RegDeleteTreeW(_In_ HKEY, _In_opt_ LPCWSTR)
#define ERROR_NOT_ENOUGH_MEMORY
static HINSTANCE instance
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
LONG WINAPI RegSetValueExA(HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE *lpData, DWORD cbData)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegOpenKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD ulOptions, _In_ REGSAM samDesired, _Out_ PHKEY phkResult)
LONG WINAPI RegEnumKeyExW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPWSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPWSTR lpClass, _Inout_opt_ LPDWORD lpcbClass, _Out_opt_ PFILETIME lpftLastWriteTime)
LONG WINAPI RegDeleteTreeA(IN HKEY hKey, IN LPCSTR lpSubKey OPTIONAL)
LONG WINAPI RegQueryInfoKeyA(HKEY hKey, LPSTR lpClass, LPDWORD lpcClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcMaxSubKeyLen, LPDWORD lpcMaxClassLen, LPDWORD lpcValues, LPDWORD lpcMaxValueNameLen, LPDWORD lpcMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime)
LONG WINAPI RegEnumValueA(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpdwReserved, _Out_opt_ LPDWORD lpdwType, _Out_opt_ LPBYTE lpData, _Inout_opt_ LPDWORD lpcbData)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegDeleteKeyW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey)
LONG WINAPI RegDeleteValueW(HKEY hKey, LPCWSTR lpValueName)
LONG WINAPI RegEnumValueW(_In_ HKEY hKey, _In_ DWORD index, _Out_ LPWSTR value, _Inout_ PDWORD val_count, _Reserved_ PDWORD reserved, _Out_opt_ PDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ PDWORD count)
LONG WINAPI RegQueryInfoKeyW(HKEY hKey, LPWSTR lpClass, LPDWORD lpcClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcMaxSubKeyLen, LPDWORD lpcMaxClassLen, LPDWORD lpcValues, LPDWORD lpcMaxValueNameLen, LPDWORD lpcMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime)
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
LONG WINAPI RegCreateKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD Reserved, _In_ LPSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_ LPDWORD lpdwDisposition)
LONG WINAPI RegEnumKeyExA(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPSTR lpClass, _Inout_opt_ LPDWORD lpcbClass, _Out_opt_ PFILETIME lpftLastWriteTime)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
LONG WINAPI RegCreateKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
HRESULT WINAPI DECLSPEC_HOTPATCH CoInitializeEx(void *reserved, DWORD model)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
void *WINAPI CoTaskMemAlloc(SIZE_T size)
void WINAPI CoTaskMemFree(void *ptr)
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
#define ERROR_INVALID_PARAMETER
#define DLL_PROCESS_ATTACH
#define DLL_PROCESS_DETACH
#define INVALID_SET_FILE_POINTER
#define ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
#define GetCurrentProcess()
#define WideCharToMultiByte
#define MultiByteToWideChar
DWORD WINAPI ExpandEnvironmentStringsA(IN LPCSTR lpSrc, IN LPSTR lpDst, IN DWORD nSize)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
BOOL WINAPI GetFileInformationByHandle(HANDLE hFile, LPBY_HANDLE_FILE_INFORMATION lpFileInformation)
BOOL WINAPI SetEndOfFile(HANDLE hFile)
BOOL WINAPI SetFilePointerEx(HANDLE hFile, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER lpNewFilePointer, DWORD dwMoveMethod)
BOOL WINAPI WriteFile(_In_ HANDLE hFile, _In_reads_bytes_opt_(nNumberOfBytesToWrite) LPCVOID lpBuffer, _In_ DWORD nNumberOfBytesToWrite, _Out_opt_ LPDWORD lpNumberOfBytesWritten, _Inout_opt_ LPOVERLAPPED lpOverlapped)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
LPVOID WINAPI TlsGetValue(IN DWORD Index)
BOOL WINAPI TlsSetValue(IN DWORD Index, IN LPVOID Value)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
BOOL WINAPI TlsFree(IN DWORD Index)
BOOL WINAPI GetVersionExA(IN LPOSVERSIONINFOA lpVersionInformation)
DWORD WINAPI DECLSPEC_HOTPATCH TlsAlloc(void)
_ACRTIMP void *__cdecl _recalloc(void *, size_t, size_t) __WINE_ALLOC_SIZE(2
_ACRTIMP __msvcrt_long __cdecl wcstol(const wchar_t *, wchar_t **, int)
_ACRTIMP size_t __cdecl strlen(const char *)
HRESULT WINAPI SHGetThreadRef(IUnknown **out)
static HRESULT WINAPI memstream_Stat(IStream *iface, STATSTG *statstg, DWORD flags)
HRESULT WINAPI SHReleaseThreadRef(void)
static ULONG WINAPI threadref_Release(IUnknown *iface)
static HRESULT WINAPI memstream_SetSize(IStream *iface, ULARGE_INTEGER new_size)
static HRESULT WINAPI memstream_Read(IStream *iface, void *buff, ULONG buff_size, ULONG *read_len)
LONG WINAPI SHEnumValueA(HKEY hkey, DWORD index, char *value, DWORD *length, DWORD *type, void *data, DWORD *data_len)
void WINAPI SetProcessReference(IUnknown *obj)
HRESULT WINAPI _IStream_Read(IStream *stream, void *dest, ULONG size)
DWORD WINAPI SHCopyKeyA(HKEY hkey_src, const char *subkey, HKEY hkey_dst, DWORD reserved)
static const IStreamVtbl filestreamvtbl
HRESULT WINAPI IUnknown_QueryService(IUnknown *obj, REFGUID sid, REFIID iid, void **out)
DWORD WINAPI SHUnicodeToUnicode(const WCHAR *src, WCHAR *dest, int dest_len)
HRESULT WINAPI IStream_Reset(IStream *stream)
HRESULT WINAPI _IStream_Write(IStream *stream, const void *src, ULONG size)
LONG WINAPI SHEnumKeyExW(HKEY hkey, DWORD index, WCHAR *subkey, DWORD *length)
static HRESULT WINAPI shstream_Commit(IStream *iface, DWORD flags)
HRESULT WINAPI SetCurrentProcessExplicitAppUserModelID(const WCHAR *appid)
static ULONG WINAPI threadref_AddRef(IUnknown *iface)
static const IUnknownVtbl threadrefvtbl
HRESULT WINAPI SHCreateStreamOnFileEx(const WCHAR *path, DWORD mode, DWORD attributes, BOOL create, IStream *template, IStream **ret)
static ULONG WINAPI dummystream_Release(IStream *iface)
static ULONG WINAPI dummystream_AddRef(IStream *iface)
DWORD WINAPI SHQueryValueExW(HKEY hkey, const WCHAR *name, DWORD *reserved, DWORD *type, void *buff, DWORD *buff_len)
BOOL WINAPI IsOS(DWORD feature)
HRESULT WINAPI SHStrDupW(const WCHAR *src, WCHAR **dest)
static struct threadref * threadref_impl_from_IUnknown(IUnknown *iface)
IStream *WINAPI SHOpenRegStream2A(HKEY hKey, const char *subkey, const char *value, DWORD mode)
static ULONG WINAPI memstream_Release(IStream *iface)
HRESULT WINAPI IStream_Size(IStream *stream, ULARGE_INTEGER *size)
DWORD WINAPI SHGetValueW(HKEY hkey, const WCHAR *subkey, const WCHAR *value, DWORD *type, void *data, DWORD *data_len)
LONG WINAPI SHQueryInfoKeyA(HKEY hkey, DWORD *subkeys, DWORD *subkey_max, DWORD *values, DWORD *value_max)
static HRESULT WINAPI filestream_CopyTo(IStream *iface, IStream *dest, ULARGE_INTEGER size, ULARGE_INTEGER *read_len, ULARGE_INTEGER *written)
IStream *WINAPI SHOpenRegStreamW(HKEY hkey, const WCHAR *subkey, const WCHAR *value, DWORD mode)
DWORD WINAPI SHDeleteKeyA(HKEY hkey, const char *subkey)
HRESULT WINAPI CreateRandomAccessStreamOverStream(IStream *stream, BSOS_OPTIONS options, REFIID riid, void **ppv)
static HRESULT WINAPI filestream_Write(IStream *iface, const void *buff, ULONG size, ULONG *written)
DWORD WINAPI SHRegGetPathA(HKEY hkey, const char *subkey, const char *value, char *path, DWORD flags)
DWORD WINAPI SHRegGetPathW(HKEY hkey, const WCHAR *subkey, const WCHAR *value, WCHAR *path, DWORD flags)
LONG WINAPI SHEnumKeyExA(HKEY hkey, DWORD index, char *subkey, DWORD *length)
DWORD WINAPI SHQueryValueExA(HKEY hkey, const char *name, DWORD *reserved, DWORD *type, void *buff, DWORD *buff_len)
BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE thread_proc, void *data, DWORD flags, LPTHREAD_START_ROUTINE callback)
static HRESULT WINAPI shstream_UnlockRegion(IStream *iface, ULARGE_INTEGER offset, ULARGE_INTEGER size, DWORD lock_type)
static HRESULT WINAPI shstream_LockRegion(IStream *iface, ULARGE_INTEGER offset, ULARGE_INTEGER size, DWORD lock_type)
static DWORD WINAPI shcore_thread_wrapper(void *data)
DWORD WINAPI SHDeleteEmptyKeyW(HKEY hkey, const WCHAR *subkey)
HRESULT WINAPI SHCreateStreamOnFileA(const char *path, DWORD mode, IStream **stream)
static const IStreamVtbl memstreamvtbl
DWORD WINAPI SHAnsiToUnicode(const char *src, WCHAR *dest, int dest_len)
static const IStreamVtbl dummystreamvtbl
HRESULT WINAPI GetCurrentProcessExplicitAppUserModelID(const WCHAR **appid)
DWORD WINAPI SHSetValueW(HKEY hkey, const WCHAR *subkey, const WCHAR *value, DWORD type, const void *data, DWORD data_len)
static HRESULT WINAPI filestream_Commit(IStream *iface, DWORD flags)
DWORD WINAPI SHDeleteValueA(HKEY hkey, const char *subkey, const char *value)
LONG WINAPI SHQueryInfoKeyW(HKEY hkey, DWORD *subkeys, DWORD *subkey_max, DWORD *values, DWORD *value_max)
IStream *WINAPI SHCreateMemStream(const BYTE *data, UINT data_len)
void WINAPI IUnknown_Set(IUnknown **dest, IUnknown *src)
DWORD WINAPI SHUnicodeToAnsi(const WCHAR *src, char *dest, int dest_len)
static HRESULT WINAPI shstream_Revert(IStream *iface)
static HRESULT WINAPI memstream_Write(IStream *iface, const void *buff, ULONG buff_size, ULONG *written)
IStream *WINAPI SHOpenRegStreamA(HKEY hkey, const char *subkey, const char *value, DWORD mode)
static HRESULT WINAPI filestream_Seek(IStream *iface, LARGE_INTEGER move, DWORD origin, ULARGE_INTEGER *new_pos)
HRESULT WINAPI GetProcessReference(IUnknown **obj)
HRESULT WINAPI IUnknown_GetSite(IUnknown *unk, REFIID iid, void **site)
static ULONG WINAPI regstream_Release(IStream *iface)
static const IStreamVtbl regstreamvtbl
HRESULT WINAPI SetProcessDpiAwareness(PROCESS_DPI_AWARENESS value)
HRESULT WINAPI RegisterScaleChangeNotifications(DISPLAY_DEVICE_TYPE display_device, HWND hwnd, UINT msg, DWORD *cookie)
int WINAPI SHRegGetIntW(HKEY hkey, const WCHAR *value, int default_value)
FEATURE_ENABLED_STATE WINAPI GetFeatureEnabledState(UINT32 feature, FEATURE_CHANGE_TIME change_time)
static ULONG WINAPI filestream_Release(IStream *iface)
static HRESULT WINAPI filestream_Read(IStream *iface, void *buff, ULONG size, ULONG *read_len)
static struct shstream * shstream_create(const IStreamVtbl *vtbl, const BYTE *data, UINT data_len)
HKEY WINAPI SHRegDuplicateHKey(HKEY hKey)
static HRESULT WINAPI threadref_QueryInterface(IUnknown *iface, REFIID riid, void **out)
HRESULT WINAPI SHCreateStreamOnFileW(const WCHAR *path, DWORD mode, IStream **stream)
HRESULT WINAPI SHCreateThreadRef(LONG *refcount, IUnknown **out)
static HRESULT WINAPI memstream_Seek(IStream *iface, LARGE_INTEGER move, DWORD origin, ULARGE_INTEGER *new_pos)
DWORD WINAPI SHDeleteValueW(HKEY hkey, const WCHAR *subkey, const WCHAR *value)
static IUnknown * process_ref
DWORD WINAPI SHAnsiToAnsi(const char *src, char *dest, int dest_len)
static struct shstream dummyregstream
HRESULT WINAPI SHStrDupA(const char *src, WCHAR **dest)
static struct shstream * impl_from_IStream(IStream *iface)
IStream *WINAPI SHOpenRegStream2W(HKEY hKey, const WCHAR *subkey, const WCHAR *value, DWORD mode)
DWORD WINAPI SHDeleteKeyW(HKEY hkey, const WCHAR *subkey)
HRESULT WINAPI GetDpiForMonitor(HMONITOR monitor, MONITOR_DPI_TYPE type, UINT *x, UINT *y)
DWORD WINAPI SHCopyKeyW(HKEY hkey_src, const WCHAR *subkey, HKEY hkey_dst, DWORD reserved)
static ULONG WINAPI shstream_AddRef(IStream *iface)
WCHAR **WINAPI CommandLineToArgvW(const WCHAR *cmdline, int *numargs)
LONG WINAPI SHEnumValueW(HKEY hkey, DWORD index, WCHAR *value, DWORD *length, DWORD *type, void *data, DWORD *data_len)
HRESULT WINAPI SHSetThreadRef(IUnknown *obj)
DEVICE_SCALE_FACTOR WINAPI GetScaleFactorForDevice(DISPLAY_DEVICE_TYPE device_type)
DWORD WINAPI SHDeleteEmptyKeyA(HKEY hkey, const char *subkey)
static HRESULT WINAPI shstream_Clone(IStream *iface, IStream **dest)
static HRESULT WINAPI filestream_SetSize(IStream *iface, ULARGE_INTEGER size)
static HRESULT WINAPI dummystream_Read(IStream *iface, void *buff, ULONG buff_size, ULONG *read_len)
DWORD WINAPI SHRegSetPathW(HKEY hkey, const WCHAR *subkey, const WCHAR *value, const WCHAR *path, DWORD flags)
static HRESULT WINAPI shstream_QueryInterface(IStream *iface, REFIID riid, void **out)
HRESULT WINAPI GetScaleFactorForMonitor(HMONITOR monitor, DEVICE_SCALE_FACTOR *scale)
void WINAPI IUnknown_AtomicRelease(IUnknown **obj)
DWORD WINAPI SHGetValueA(HKEY hkey, const char *subkey, const char *value, DWORD *type, void *data, DWORD *data_len)
HRESULT WINAPI GetProcessDpiAwareness(HANDLE process, PROCESS_DPI_AWARENESS *value)
DWORD WINAPI SHSetValueA(HKEY hkey, const char *subkey, const char *value, DWORD type, const void *data, DWORD data_len)
static HRESULT WINAPI filestream_Stat(IStream *iface, STATSTG *statstg, DWORD flags)
HRESULT WINAPI RegisterScaleChangeEvent(HANDLE handle, DWORD_PTR *cookie)
HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site)
void WINAPI SubscribeFeatureStateChangeNotification(FEATURE_STATE_CHANGE_SUBSCRIPTION *subscription, FEATURE_STATE_CHANGE_CALLBACK *callback, void *context)
static HRESULT WINAPI shstream_CopyTo(IStream *iface, IStream *dest, ULARGE_INTEGER size, ULARGE_INTEGER *read_len, ULARGE_INTEGER *written)
DWORD WINAPI SHRegSetPathA(HKEY hkey, const char *subkey, const char *value, const char *path, DWORD flags)
BOOL WINAPI GetDpiForMonitorInternal(_In_ HMONITOR monitor, _In_ UINT type, _Out_ UINT *x, _Out_ UINT *y)
BOOL WINAPI GetProcessDpiAwarenessInternal(_In_ HANDLE process, _Out_ DPI_AWARENESS *awareness)
BOOL WINAPI SetProcessDpiAwarenessInternal(_In_ DPI_AWARENESS awareness)
@ FEATURE_ENABLED_STATE_DEFAULT
void WINAPI FEATURE_STATE_CHANGE_CALLBACK(void *)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLenum GLenum GLenum GLenum scale
GLboolean GLenum GLenum GLvoid * values
GLuint GLsizei GLsizei * length
GLuint GLint GLboolean GLint GLenum access
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
HLOCAL NTAPI LocalFree(HLOCAL hMem)
int WINAPI lstrlenA(LPCSTR lpString)
PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE
#define memcpy(s1, s2, n)
#define memmove(s1, s2, n)
static IPrintDialogCallback callback
const IID IID_IObjectWithSite
static const WCHAR pathW[]
static IActiveScriptSite * site
static const struct access_res create[16]
INTERNETFEATURELIST feature
#define VER_PLATFORM_WIN32_NT
#define VER_PLATFORM_WIN32_WINDOWS
#define VER_PLATFORM_WIN32s
#define STGM_SHARE_DENY_NONE
#define STGM_SHARE_EXCLUSIVE
#define STGM_DELETEONRELEASE
#define STGM_SHARE_DENY_WRITE
@ COINIT_APARTMENTTHREADED
#define STGM_SHARE_DENY_READ
static HANDLE ACCESS_MASK ULONG attributes
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
#define OS_WIN2000TERMINAL
#define OS_WIN95ORGREATER
#define OS_SMALLBUSINESSSERVER
#define OS_WIN98ORGREATER
#define OS_WIN2000ADVSERVER
#define OS_WIN2000ORGREATER
#define OS_TERMINALSERVER
#define OS_TERMINALCLIENT
#define OS_WIN2000DATACENTER
#define OS_TERMINALREMOTEADMIN
#define OS_FASTUSERSWITCHING
#define OS_PERSONALTERMINALSERVER
#define OS_WELCOMELOGONUI
static const char *static const char const char DWORD void DWORD *static const char const char DWORD void DWORD *static const char DWORD DWORD void DWORD * buff_len
static const char *static const char const char DWORD void DWORD *static const char const char DWORD void DWORD *static const char DWORD DWORD void * buff
ULONG dwOSVersionInfoSize
struct _ULARGE_INTEGER::@4623 u
struct shstream::@577::@579 file
struct shstream::@577::@578 mem
LPTHREAD_START_ROUTINE callback
LPTHREAD_START_ROUTINE thread_proc
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
#define CONTAINING_RECORD(address, type, field)
struct _LARGE_INTEGER::@2513 u
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
DWORD WINAPI GetLastError(void)
#define TLS_OUT_OF_INDEXES
#define OS_WIN2000ORGREATER_ALT
#define OS_WIN32SORGREATER
#define STG_E_INVALIDPOINTER
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
#define ERROR_PATH_NOT_FOUND
#define STG_E_ACCESSDENIED
#define STG_E_INVALIDPARAMETER
#define ERROR_KEY_HAS_CHILDREN
#define STG_E_INVALIDFUNCTION
#define STG_E_INSUFFICIENTMEMORY
#define HKEY_CURRENT_USER
#define VER_NT_WORKSTATION
struct _OSVERSIONINFOA OSVERSIONINFOA