Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
June 2018
- 68 participants
- 1149 messages
Re: [PATCH vkd3d 01/12] libs/vkd3d-shader: Split SPIR-V built-ins table into two tables.
by Henri Verbeet
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
June 26, 2018
[PATCH] ntoskrnl.exe: add stub for IoUnregisterPlugPlayNotification
by Louis Lenders
Fr https://bugs.winehq.org/show_bug.cgi?id=45378
Signed-off-by: Louis Lenders <xerox.xerox2000x(a)gmail.com>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 9 +++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index e4c1c3530b..c8f9173738 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -2763,6 +2763,15 @@ NTSTATUS WINAPI IoRegisterPlugPlayNotification(IO_NOTIFICATION_EVENT_CATEGORY ca
return STATUS_SUCCESS;
}
+/*****************************************************
+ * IoUnregisterPlugPlayNotification (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI IoUnregisterPlugPlayNotification(PVOID notification)
+{
+ FIXME("stub: %p\n", notification);
+ return STATUS_SUCCESS;
+}
+
/*****************************************************
* IoCsqInitialize (NTOSKRNL.EXE.@)
*/
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 4129542cdc..64597c41df 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -472,7 +472,7 @@
@ stub IoThreadToProcess
@ stdcall IoUnregisterFileSystem(ptr)
@ stub IoUnregisterFsRegistrationChange
-@ stub IoUnregisterPlugPlayNotification
+@ stdcall IoUnregisterPlugPlayNotification(ptr)
@ stdcall IoUnregisterShutdownNotification(ptr)
@ stub IoUpdateShareAccess
@ stub IoValidateDeviceIoControlAccess
--
2.17.1
June 26, 2018
[PATCH] icinfo: vsnprintfW takes characters as buffer size not bytes
by Marcus Meissner
Signed-off-by: Marcus Meissner <meissner(a)suse.de>
---
programs/icinfo/icinfo.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/programs/icinfo/icinfo.c b/programs/icinfo/icinfo.c
index bfbef6b69b..601ec8c8b3 100644
--- a/programs/icinfo/icinfo.c
+++ b/programs/icinfo/icinfo.c
@@ -26,14 +26,14 @@
static int mywprintf(const WCHAR *format, ...)
{
static char output_bufA[65536];
- static WCHAR output_bufW[sizeof(output_bufA) / sizeof(WCHAR)];
+ static WCHAR output_bufW[sizeof(output_bufA)];
va_list parms;
DWORD nOut;
BOOL res = FALSE;
HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);
va_start(parms, format);
- vsnprintfW(output_bufW, sizeof(output_bufW), format, parms);
+ vsnprintfW(output_bufW, sizeof(output_bufW)/sizeof(output_bufW[0]), format, parms);
va_end(parms);
/* Try to write as unicode whenever we think it's a console */
--
2.17.1
June 26, 2018
[PATCH] shlwapi: SHGetIniStringW buffer size is in characters
by Marcus Meissner
Signed-off-by: Marcus Meissner <meissner(a)suse.de>
---
dlls/shlwapi/tests/ordinal.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/shlwapi/tests/ordinal.c b/dlls/shlwapi/tests/ordinal.c
index f192849cd4..db59e625f8 100644
--- a/dlls/shlwapi/tests/ordinal.c
+++ b/dlls/shlwapi/tests/ordinal.c
@@ -2724,8 +2724,8 @@ static void test_SHGetIniString(void)
if(0){
/* these crash on Windows */
pSHGetIniStringW(NULL, NULL, NULL, 0, NULL);
- pSHGetIniStringW(NULL, AKeyW, out, sizeof(out), pathW);
- pSHGetIniStringW(TestAppW, AKeyW, NULL, sizeof(out), pathW);
+ pSHGetIniStringW(NULL, AKeyW, out, ARRAY_SIZE(out), pathW);
+ pSHGetIniStringW(TestAppW, AKeyW, NULL, ARRAY_SIZE(out), pathW);
}
ret = pSHGetIniStringW(TestAppW, AKeyW, out, 0, pathW);
@@ -2734,21 +2734,21 @@ static void test_SHGetIniString(void)
/* valid arguments */
out[0] = 0;
SetLastError(0xdeadbeef);
- ret = pSHGetIniStringW(TestAppW, NULL, out, sizeof(out), pathW);
+ ret = pSHGetIniStringW(TestAppW, NULL, out, ARRAY_SIZE(out), pathW);
ok(ret == 4, "SHGetIniStringW should have given 4, instead: %d\n", ret);
ok(!lstrcmpW(out, AKeyW), "Expected %s, got: %s, %d\n",
wine_dbgstr_w(AKeyW), wine_dbgstr_w(out), GetLastError());
- ret = pSHGetIniStringW(TestAppW, AKeyW, out, sizeof(out), pathW);
+ ret = pSHGetIniStringW(TestAppW, AKeyW, out, ARRAY_SIZE(out), pathW);
ok(ret == 1, "SHGetIniStringW should have given 1, instead: %d\n", ret);
ok(!strcmp_wa(out, "1"), "Expected L\"1\", got: %s\n", wine_dbgstr_w(out));
- ret = pSHGetIniStringW(TestAppW, AnotherKeyW, out, sizeof(out), pathW);
+ ret = pSHGetIniStringW(TestAppW, AnotherKeyW, out, ARRAY_SIZE(out), pathW);
ok(ret == 4, "SHGetIniStringW should have given 4, instead: %d\n", ret);
ok(!strcmp_wa(out, "asdf"), "Expected L\"asdf\", got: %s\n", wine_dbgstr_w(out));
out[0] = 1;
- ret = pSHGetIniStringW(TestAppW, JunkKeyW, out, sizeof(out), pathW);
+ ret = pSHGetIniStringW(TestAppW, JunkKeyW, out, ARRAY_SIZE(out), pathW);
ok(ret == 0, "SHGetIniStringW should have given 0, instead: %d\n", ret);
ok(*out == 0, "Expected L\"\", got: %s\n", wine_dbgstr_w(out));
--
2.17.1
June 26, 2018
[PATCH] psapi: GetProcessImageFileName gets character count as argument
by Marcus Meissner
Signed-off-by: Marcus Meissner <meissner(a)suse.de>
---
dlls/psapi/tests/psapi_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/psapi/tests/psapi_main.c b/dlls/psapi/tests/psapi_main.c
index ec74716651..13205b3b8f 100644
--- a/dlls/psapi/tests/psapi_main.c
+++ b/dlls/psapi/tests/psapi_main.c
@@ -645,7 +645,7 @@ static void test_GetProcessImageFileName(void)
}
SetLastError(0xdeadbeef);
- pGetProcessImageFileNameW(NULL, szImgPathW, sizeof(szImgPathW));
+ pGetProcessImageFileNameW(NULL, szImgPathW, ARRAY_SIZE(szImgPathW));
ok(GetLastError() == ERROR_INVALID_HANDLE, "expected error=ERROR_INVALID_HANDLE but got %d\n", GetLastError());
/* no information about correct buffer size returned: */
--
2.17.1
June 26, 2018
Re: [PATCH 3/5] devenum: Make some variables static.
by Zebediah Figura
On 26/06/18 06:34, Alexandre Julliard wrote:
> Zebediah Figura <z.figura12(a)gmail.com> writes:
>
>> Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
>> ---
>> dlls/devenum/createdevenum.c | 14 ++++++--------
>> dlls/devenum/devenum_main.c | 13 ++++---------
>> dlls/devenum/devenum_private.h | 4 +---
>> dlls/devenum/mediacatenum.c | 4 +++-
>> 4 files changed, 14 insertions(+), 21 deletions(-)
>
> It doesn't work here:
>
> ../../../tools/runtest -q -P wine -T ../../.. -M devenum.dll -p devenum_test.exe.so devenum && touch devenum.ok
> devenum.c:585: Test failed: filter should be registered
> devenum.c:592: Test failed: Read failed: 0x80070002
> devenum.c:595: Test failed: expected L"{DEADBEEF-CF51-43E6-B6C5-299EA8B6B591}", got L"\58e1\e0f1\cb04\11d0\4ebd\a000\11c9\86ce\2a92\37e9\d9aa\11d2\84bf\f28e\55b1\ed5a\29d1\e306\27e5\11ce\5d87\6000\b78c\6680\29d2\e306\27e5\11ce\5d87\6000\b78c\6680\9faf\0558\c356\11ce\01bf\aa00\5500\5a59\ca52\2ca8\3c3f\11d2\3db7\c000\b64f\3dbd\a762\33d9\90c8\11d0\43bd\a000\11c9\86ce\8d32\a5ea\253d\11d1\f1b3"...
> devenum.c:600: Test failed: Read failed: 0x80070002
> devenum.c:601: Test failed: expected L"{DEADBEEF-CF51-43E6-B6C5-299EA8B6B591}", got L"\58e1\e0f1\cb04\11d0\4ebd\a000\11c9\86ce\2a92\37e9\d9aa\11d2\84bf\f28e\55b1\ed5a\29d1\e306\27e5\11ce\5d87\6000\b78c\6680\29d2\e306\27e5\11ce\5d87\6000\b78c\6680\9faf\0558\c356\11ce\01bf\aa00\5500\5a59\ca52\2ca8\3c3f\11d2\3db7\c000\b64f\3dbd\a762\33d9\90c8\11d0\43bd\a000\11c9\86ce\8d32\a5ea\253d\11d1\f1b3"...
> Makefile:183: recipe for target 'devenum.ok' failed
> make: *** [devenum.ok] Error 5
>
Apologies; I missed a spot. Resent.
June 26, 2018
[PATCH v2 5/5] include: Make fil_data.idl a common header.
by Zebediah Figura
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/devenum/Makefile.in | 3 +-
dlls/devenum/createdevenum.c | 2 +-
dlls/devenum/fil_data.idl | 47 --------------------------
dlls/dxdiagn/Makefile.in | 3 +-
dlls/dxdiagn/provider.c | 2 +-
dlls/quartz/Makefile.in | 1 -
dlls/quartz/fil_data.idl | 52 -----------------------------
dlls/quartz/filtermapper.c | 2 +-
dlls/quartz/tests/Makefile.in | 1 -
dlls/quartz/tests/fil_data.idl | 52 -----------------------------
dlls/quartz/tests/filtermapper.c | 2 +-
include/Makefile.in | 1 +
{dlls/dxdiagn => include/wine}/fil_data.idl | 21 ++----------
13 files changed, 10 insertions(+), 179 deletions(-)
delete mode 100644 dlls/devenum/fil_data.idl
delete mode 100644 dlls/quartz/fil_data.idl
delete mode 100644 dlls/quartz/tests/fil_data.idl
rename {dlls/dxdiagn => include/wine}/fil_data.idl (67%)
diff --git a/dlls/devenum/Makefile.in b/dlls/devenum/Makefile.in
index d1407a9..2760eed 100644
--- a/dlls/devenum/Makefile.in
+++ b/dlls/devenum/Makefile.in
@@ -9,7 +9,6 @@ C_SRCS = \
parsedisplayname.c
IDL_SRCS = \
- devenum_classes.idl \
- fil_data.idl
+ devenum_classes.idl
RC_SRCS = devenum.rc
diff --git a/dlls/devenum/createdevenum.c b/dlls/devenum/createdevenum.c
index e3ae54f..4b2feca 100644
--- a/dlls/devenum/createdevenum.c
+++ b/dlls/devenum/createdevenum.c
@@ -37,7 +37,7 @@
#include "mmddk.h"
#include "initguid.h"
-#include "fil_data.h"
+#include "wine/fil_data.h"
WINE_DEFAULT_DEBUG_CHANNEL(devenum);
diff --git a/dlls/devenum/fil_data.idl b/dlls/devenum/fil_data.idl
deleted file mode 100644
index 7e37a75..0000000
--- a/dlls/devenum/fil_data.idl
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2009 Vitaliy Margolen
- *
- * 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
- */
-
-#pragma makedep header
-
-import "objidl.idl";
-import "strmif.idl";
-import "unknwn.idl";
-
-
-/*****************************************************************************
- * IAMFilterData interface
- */
-[
- object,
- uuid(97f7c4d4-547b-4a5f-8332-536430ad2e4d),
- pointer_default(unique)
-]
-interface IAMFilterData : IUnknown
-{
- typedef [unique] IAMFilterData *LPIAMFILTERDATA;
-
- HRESULT ParseFilterData(
- [in] BYTE * rgbFilterData,
- [in] ULONG cb,
- [out] BYTE ** prgbRegFilter2);
-
- HRESULT CreateFilterData(
- [in] REGFILTER2 * prf2,
- [out] BYTE ** prgbFilterData,
- [out] ULONG * pcb);
-}
diff --git a/dlls/dxdiagn/Makefile.in b/dlls/dxdiagn/Makefile.in
index 3a1017e..c16396e 100644
--- a/dlls/dxdiagn/Makefile.in
+++ b/dlls/dxdiagn/Makefile.in
@@ -9,5 +9,4 @@ C_SRCS = \
RC_SRCS = dxdiagn.rc
IDL_SRCS = \
- dxdiagn.idl \
- fil_data.idl
+ dxdiagn.idl
diff --git a/dlls/dxdiagn/provider.c b/dlls/dxdiagn/provider.c
index 4f964ad..1fdab5e 100644
--- a/dlls/dxdiagn/provider.c
+++ b/dlls/dxdiagn/provider.c
@@ -35,7 +35,7 @@
#include "d3d9.h"
#include "strmif.h"
#include "initguid.h"
-#include "fil_data.h"
+#include "wine/fil_data.h"
#include "psapi.h"
#include "wbemcli.h"
diff --git a/dlls/quartz/Makefile.in b/dlls/quartz/Makefile.in
index e938865..5eb8d44 100644
--- a/dlls/quartz/Makefile.in
+++ b/dlls/quartz/Makefile.in
@@ -30,7 +30,6 @@ RC_SRCS = version.rc
IDL_SRCS = \
control_tlb.idl \
- fil_data.idl \
quartz_strmif.idl
dlldata_EXTRADEFS = -DENTRY_PREFIX=QUARTZ_ -DPROXY_DELEGATION -DWINE_REGISTER_DLL
diff --git a/dlls/quartz/fil_data.idl b/dlls/quartz/fil_data.idl
deleted file mode 100644
index ab93499..0000000
--- a/dlls/quartz/fil_data.idl
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2009 Vitaliy Margolen
- *
- * 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
- */
-
-#pragma makedep header
-
-import "objidl.idl";
-import "strmif.idl";
-import "unknwn.idl";
-
-
-/*****************************************************************************
- * IAMFilterData interface
- *
- * Notes:
- * - This interface is deprecated and IFilterMapper2 should be used instead.
- * - There is no full replacement for IAMFilterData::ParseFilterData short of manually
- * parsing out the REGFILTER2 struct from the binary blob.
- */
-[
- object,
- uuid(97f7c4d4-547b-4a5f-8332-536430ad2e4d),
- pointer_default(unique)
-]
-interface IAMFilterData : IUnknown
-{
- typedef [unique] IAMFilterData *LPIAMFILTERDATA;
-
- HRESULT ParseFilterData(
- [in] BYTE * rgbFilterData,
- [in] ULONG cb,
- [out] BYTE ** prgbRegFilter2);
-
- HRESULT CreateFilterData(
- [in] REGFILTER2 * prf2,
- [out] BYTE ** prgbFilterData,
- [out] ULONG * pcb);
-}
diff --git a/dlls/quartz/filtermapper.c b/dlls/quartz/filtermapper.c
index 20c7e3a..d78f643 100644
--- a/dlls/quartz/filtermapper.c
+++ b/dlls/quartz/filtermapper.c
@@ -37,7 +37,7 @@
#include "wine/unicode.h"
#include "uuids.h"
#include "initguid.h"
-#include "fil_data.h"
+#include "wine/fil_data.h"
#include "wine/debug.h"
diff --git a/dlls/quartz/tests/Makefile.in b/dlls/quartz/tests/Makefile.in
index 4f54666..6b880c3 100644
--- a/dlls/quartz/tests/Makefile.in
+++ b/dlls/quartz/tests/Makefile.in
@@ -12,7 +12,6 @@ C_SRCS = \
referenceclock.c \
videorenderer.c
-IDL_SRCS = fil_data.idl
RC_SRCS = \
rsrc.rc
diff --git a/dlls/quartz/tests/fil_data.idl b/dlls/quartz/tests/fil_data.idl
deleted file mode 100644
index ab93499..0000000
--- a/dlls/quartz/tests/fil_data.idl
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2009 Vitaliy Margolen
- *
- * 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
- */
-
-#pragma makedep header
-
-import "objidl.idl";
-import "strmif.idl";
-import "unknwn.idl";
-
-
-/*****************************************************************************
- * IAMFilterData interface
- *
- * Notes:
- * - This interface is deprecated and IFilterMapper2 should be used instead.
- * - There is no full replacement for IAMFilterData::ParseFilterData short of manually
- * parsing out the REGFILTER2 struct from the binary blob.
- */
-[
- object,
- uuid(97f7c4d4-547b-4a5f-8332-536430ad2e4d),
- pointer_default(unique)
-]
-interface IAMFilterData : IUnknown
-{
- typedef [unique] IAMFilterData *LPIAMFILTERDATA;
-
- HRESULT ParseFilterData(
- [in] BYTE * rgbFilterData,
- [in] ULONG cb,
- [out] BYTE ** prgbRegFilter2);
-
- HRESULT CreateFilterData(
- [in] REGFILTER2 * prf2,
- [out] BYTE ** prgbFilterData,
- [out] ULONG * pcb);
-}
diff --git a/dlls/quartz/tests/filtermapper.c b/dlls/quartz/tests/filtermapper.c
index 5a43785..7b6a018 100644
--- a/dlls/quartz/tests/filtermapper.c
+++ b/dlls/quartz/tests/filtermapper.c
@@ -26,7 +26,7 @@
#include "dshow.h"
#include "winternl.h"
-#include "fil_data.h"
+#include "wine/fil_data.h"
DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
diff --git a/include/Makefile.in b/include/Makefile.in
index 39f2691..995544a 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -664,6 +664,7 @@ SOURCES = \
windowsx.h \
wine/debug.h \
wine/exception.h \
+ wine/fil_data.idl \
wine/itss.idl \
wine/library.h \
wine/svcctl.idl \
diff --git a/dlls/dxdiagn/fil_data.idl b/include/wine/fil_data.idl
similarity index 67%
rename from dlls/dxdiagn/fil_data.idl
rename to include/wine/fil_data.idl
index 7e37a75..19dfa8a 100644
--- a/dlls/dxdiagn/fil_data.idl
+++ b/include/wine/fil_data.idl
@@ -16,16 +16,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#pragma makedep header
-
-import "objidl.idl";
-import "strmif.idl";
import "unknwn.idl";
+import "strmif.idl";
-
-/*****************************************************************************
- * IAMFilterData interface
- */
[
object,
uuid(97f7c4d4-547b-4a5f-8332-536430ad2e4d),
@@ -33,15 +26,7 @@ import "unknwn.idl";
]
interface IAMFilterData : IUnknown
{
- typedef [unique] IAMFilterData *LPIAMFILTERDATA;
+ HRESULT ParseFilterData( [in] BYTE *data, [in] ULONG size, [out] BYTE **regfilter );
- HRESULT ParseFilterData(
- [in] BYTE * rgbFilterData,
- [in] ULONG cb,
- [out] BYTE ** prgbRegFilter2);
-
- HRESULT CreateFilterData(
- [in] REGFILTER2 * prf2,
- [out] BYTE ** prgbFilterData,
- [out] ULONG * pcb);
+ HRESULT CreateFilterData( [in] REGFILTER2 *regfilter, [out] BYTE **data, [out] ULONG *size );
}
--
2.7.4
June 26, 2018
[PATCH v2 4/5] devenum: Remove an unused typedef.
by Zebediah Figura
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/devenum/devenum_main.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/dlls/devenum/devenum_main.c b/dlls/devenum/devenum_main.c
index 98ad1ad..b17bc93 100644
--- a/dlls/devenum/devenum_main.c
+++ b/dlls/devenum/devenum_main.c
@@ -28,13 +28,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(devenum);
DECLSPEC_HIDDEN LONG dll_refs;
static HINSTANCE devenum_instance;
-typedef struct
-{
- REFCLSID clsid;
- LPCWSTR friendly_name;
- BOOL instance;
-} register_info;
-
/***********************************************************************
* DllEntryPoint
*/
--
2.7.4
June 26, 2018
[PATCH v2 3/5] devenum: Make some variables static.
by Zebediah Figura
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/devenum/createdevenum.c | 15 +++++++--------
dlls/devenum/devenum_main.c | 13 ++++---------
dlls/devenum/devenum_private.h | 4 +---
dlls/devenum/mediacatenum.c | 4 +++-
4 files changed, 15 insertions(+), 21 deletions(-)
diff --git a/dlls/devenum/createdevenum.c b/dlls/devenum/createdevenum.c
index 06c264c..e3ae54f 100644
--- a/dlls/devenum/createdevenum.c
+++ b/dlls/devenum/createdevenum.c
@@ -41,8 +41,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(devenum);
-extern HINSTANCE DEVENUM_hInstance;
-
static const WCHAR wszFilterKeyName[] = {'F','i','l','t','e','r',0};
static const WCHAR wszMeritName[] = {'M','e','r','i','t',0};
static const WCHAR wszPins[] = {'P','i','n','s',0};
@@ -424,6 +422,7 @@ static void register_legacy_filters(void)
TRACE("Registering %s\n", debugstr_w(wszFilterSubkeyName));
strcpyW(wszRegKey, clsidW);
+ strcatW(wszRegKey, backslashW);
strcatW(wszRegKey, wszFilterSubkeyName);
if (RegOpenKeyExW(HKEY_CLASSES_ROOT, wszRegKey, 0, KEY_READ, &classkey) != ERROR_SUCCESS)
@@ -460,7 +459,7 @@ static void register_legacy_filters(void)
V_VT(&var) = VT_BSTR;
if (!(V_BSTR(&var) = SysAllocString(wszFilterSubkeyName)))
goto cleanup;
- hr = IPropertyBag_Write(prop_bag, clsid_keyname, &var);
+ hr = IPropertyBag_Write(prop_bag, clsidW, &var);
if (FAILED(hr)) goto cleanup;
VariantClear(&var);
@@ -537,7 +536,7 @@ static BOOL CALLBACK register_dsound_devices(GUID *guid, const WCHAR *desc, cons
StringFromGUID2(&CLSID_DSoundRender, clsid, CHARS_IN_GUID);
if (!(V_BSTR(&var) = SysAllocString(clsid)))
goto cleanup;
- hr = IPropertyBag_Write(prop_bag, clsid_keyname, &var);
+ hr = IPropertyBag_Write(prop_bag, clsidW, &var);
if (FAILED(hr)) goto cleanup;
VariantClear(&var);
@@ -620,7 +619,7 @@ static void register_waveout_devices(void)
StringFromGUID2(&CLSID_AudioRender, clsid, CHARS_IN_GUID);
if (!(V_BSTR(&var) = SysAllocString(clsid)))
goto cleanup;
- hr = IPropertyBag_Write(prop_bag, clsid_keyname, &var);
+ hr = IPropertyBag_Write(prop_bag, clsidW, &var);
if (FAILED(hr)) goto cleanup;
VariantClear(&var);
@@ -693,7 +692,7 @@ static void register_wavein_devices(void)
StringFromGUID2(&CLSID_AudioRecord, clsid, CHARS_IN_GUID);
if (!(V_BSTR(&var) = SysAllocString(clsid)))
goto cleanup;
- hr = IPropertyBag_Write(prop_bag, clsid_keyname, &var);
+ hr = IPropertyBag_Write(prop_bag, clsidW, &var);
if (FAILED(hr)) goto cleanup;
VariantClear(&var);
@@ -765,7 +764,7 @@ static void register_midiout_devices(void)
StringFromGUID2(&CLSID_AVIMIDIRender, clsid, CHARS_IN_GUID);
if (!(V_BSTR(&var) = SysAllocString(clsid)))
goto cleanup;
- hr = IPropertyBag_Write(prop_bag, clsid_keyname, &var);
+ hr = IPropertyBag_Write(prop_bag, clsidW, &var);
if (FAILED(hr)) goto cleanup;
VariantClear(&var);
@@ -854,7 +853,7 @@ static void register_vfw_codecs(void)
StringFromGUID2(&CLSID_AVICo, clsid, CHARS_IN_GUID);
if (!(V_BSTR(&var) = SysAllocString(clsid)))
goto cleanup;
- hr = IPropertyBag_Write(prop_bag, clsid_keyname, &var);
+ hr = IPropertyBag_Write(prop_bag, clsidW, &var);
if (FAILED(hr)) goto cleanup;
VariantClear(&var);
diff --git a/dlls/devenum/devenum_main.c b/dlls/devenum/devenum_main.c
index 3499f99..98ad1ad 100644
--- a/dlls/devenum/devenum_main.c
+++ b/dlls/devenum/devenum_main.c
@@ -26,7 +26,7 @@
WINE_DEFAULT_DEBUG_CHANNEL(devenum);
DECLSPEC_HIDDEN LONG dll_refs;
-DECLSPEC_HIDDEN HINSTANCE DEVENUM_hInstance;
+static HINSTANCE devenum_instance;
typedef struct
{
@@ -36,11 +36,6 @@ typedef struct
} register_info;
/***********************************************************************
- * Global string constant definitions
- */
-const WCHAR clsid_keyname[6] = { 'C', 'L', 'S', 'I', 'D', 0 };
-
-/***********************************************************************
* DllEntryPoint
*/
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
@@ -49,7 +44,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
switch(fdwReason) {
case DLL_PROCESS_ATTACH:
- DEVENUM_hInstance = hinstDLL;
+ devenum_instance = hinstDLL;
DisableThreadLibraryCalls(hinstDLL);
break;
}
@@ -166,7 +161,7 @@ HRESULT WINAPI DllRegisterServer(void)
TRACE("\n");
- res = __wine_register_resources( DEVENUM_hInstance );
+ res = __wine_register_resources( devenum_instance );
if (FAILED(res))
return res;
@@ -214,5 +209,5 @@ HRESULT WINAPI DllRegisterServer(void)
HRESULT WINAPI DllUnregisterServer(void)
{
FIXME("stub!\n");
- return __wine_unregister_resources( DEVENUM_hInstance );
+ return __wine_unregister_resources( devenum_instance );
}
diff --git a/dlls/devenum/devenum_private.h b/dlls/devenum/devenum_private.h
index ea4e017..e18c57d 100644
--- a/dlls/devenum/devenum_private.h
+++ b/dlls/devenum/devenum_private.h
@@ -83,7 +83,7 @@ extern IParseDisplayName DEVENUM_ParseDisplayName DECLSPEC_HIDDEN;
*/
static const WCHAR backslashW[] = {'\\',0};
-static const WCHAR clsidW[] = {'C','L','S','I','D','\\',0};
+static const WCHAR clsidW[] = {'C','L','S','I','D',0};
static const WCHAR instanceW[] = {'\\','I','n','s','t','a','n','c','e',0};
static const WCHAR wszActiveMovieKey[] = {'S','o','f','t','w','a','r','e','\\',
'M','i','c','r','o','s','o','f','t','\\',
@@ -93,5 +93,3 @@ static const WCHAR deviceW[] = {'@','d','e','v','i','c','e',':',0};
static const WCHAR dmoW[] = {'d','m','o',':',0};
static const WCHAR swW[] = {'s','w',':',0};
static const WCHAR cmW[] = {'c','m',':',0};
-
-extern const WCHAR clsid_keyname[6] DECLSPEC_HIDDEN;
diff --git a/dlls/devenum/mediacatenum.c b/dlls/devenum/mediacatenum.c
index c4338a2..660e81c 100644
--- a/dlls/devenum/mediacatenum.c
+++ b/dlls/devenum/mediacatenum.c
@@ -347,6 +347,7 @@ static HRESULT create_PropertyBag(MediaCatMoniker *mon, IPropertyBag **ppBag)
else if (rpb->type == DEVICE_FILTER)
{
strcpyW(rpb->path, clsidW);
+ strcatW(rpb->path, backslashW);
if (mon->has_class)
{
StringFromGUID2(&mon->class, rpb->path + strlenW(rpb->path), CHARS_IN_GUID);
@@ -496,7 +497,7 @@ static HRESULT WINAPI DEVENUM_IMediaCatMoniker_BindToObject(IMoniker *iface, IBi
if (SUCCEEDED(res))
{
V_VT(&var) = VT_LPWSTR;
- res = IPropertyBag_Read(pProp, clsid_keyname, &var, NULL);
+ res = IPropertyBag_Read(pProp, clsidW, &var, NULL);
}
if (SUCCEEDED(res))
{
@@ -1027,6 +1028,7 @@ HRESULT create_EnumMoniker(REFCLSID class, IEnumMoniker **ppEnumMoniker)
pEnumMoniker->class = *class;
strcpyW(buffer, clsidW);
+ strcatW(buffer, backslashW);
StringFromGUID2(class, buffer + strlenW(buffer), CHARS_IN_GUID);
strcatW(buffer, instanceW);
if (RegOpenKeyExW(HKEY_CLASSES_ROOT, buffer, 0, KEY_ENUMERATE_SUB_KEYS, &pEnumMoniker->sw_key))
--
2.7.4
June 26, 2018
[PATCH v2 2/5] devenum: Use separate factories for CLSID_SystemDeviceEnum and CLSID_CDeviceMoniker.
by Zebediah Figura
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/devenum/devenum_main.c | 46 +++++++++++++++++++++++----------------------
1 file changed, 24 insertions(+), 22 deletions(-)
diff --git a/dlls/devenum/devenum_main.c b/dlls/devenum/devenum_main.c
index 7bfc593..3499f99 100644
--- a/dlls/devenum/devenum_main.c
+++ b/dlls/devenum/devenum_main.c
@@ -56,6 +56,17 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
return TRUE;
}
+struct class_factory
+{
+ IClassFactory IClassFactory_iface;
+ IUnknown *obj;
+};
+
+static inline struct class_factory *impl_from_IClassFactory( IClassFactory *iface )
+{
+ return CONTAINING_RECORD( iface, struct class_factory, IClassFactory_iface );
+}
+
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID iid, void **obj)
{
TRACE("(%p, %s, %p)\n", iface, debugstr_guid(iid), obj);
@@ -87,24 +98,15 @@ static ULONG WINAPI ClassFactory_Release(IClassFactory *iface)
static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface,
IUnknown *outer, REFIID iid, void **obj)
{
+ struct class_factory *This = impl_from_IClassFactory( iface );
+
TRACE("(%p, %s, %p)\n", outer, debugstr_guid(iid), obj);
if (!obj) return E_POINTER;
if (outer) return CLASS_E_NOAGGREGATION;
- if (IsEqualGUID(&IID_ICreateDevEnum, iid))
- {
- *obj = &DEVENUM_CreateDevEnum;
- return S_OK;
- }
- if (IsEqualGUID(&IID_IParseDisplayName, iid))
- {
- *obj = &DEVENUM_ParseDisplayName;
- return S_OK;
- }
-
- return CLASS_E_CLASSNOTAVAILABLE;
+ return IUnknown_QueryInterface(This->obj, iid, obj);
}
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL lock)
@@ -124,24 +126,24 @@ static const IClassFactoryVtbl ClassFactory_vtbl = {
ClassFactory_LockServer
};
-static IClassFactory devenum_cf = { &ClassFactory_vtbl };
+static struct class_factory create_devenum_cf = { { &ClassFactory_vtbl }, (IUnknown *)&DEVENUM_CreateDevEnum };
+static struct class_factory device_moniker_cf = { { &ClassFactory_vtbl }, (IUnknown *)&DEVENUM_ParseDisplayName };
/***********************************************************************
* DllGetClassObject (DEVENUM.@)
*/
-HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
+HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID iid, void **obj)
{
- TRACE("(%s, %s, %p)\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv);
+ TRACE("(%s, %s, %p)\n", debugstr_guid(clsid), debugstr_guid(iid), obj);
- *ppv = NULL;
+ *obj = NULL;
- /* FIXME: we should really have two class factories.
- * Oh well - works just fine as it is */
- if (IsEqualGUID(rclsid, &CLSID_SystemDeviceEnum) ||
- IsEqualGUID(rclsid, &CLSID_CDeviceMoniker))
- return IClassFactory_QueryInterface(&devenum_cf, iid, ppv);
+ if (IsEqualGUID(clsid, &CLSID_SystemDeviceEnum))
+ return IClassFactory_QueryInterface(&create_devenum_cf.IClassFactory_iface, iid, obj);
+ else if (IsEqualGUID(clsid, &CLSID_CDeviceMoniker))
+ return IClassFactory_QueryInterface(&device_moniker_cf.IClassFactory_iface, iid, obj);
- FIXME("CLSID: %s, IID: %s\n", debugstr_guid(rclsid), debugstr_guid(iid));
+ FIXME("class %s not available\n", debugstr_guid(clsid));
return CLASS_E_CLASSNOTAVAILABLE;
}
--
2.7.4
June 26, 2018