[PATCH 0/1] MR11258: cldapi: Add stub for CfGetPlaceholderInfo.
This was reported on the forum: https://forum.winehq.org/viewtopic.php?t=42853 The application (https://downloads.pdf-xchange.com/11.0.1.0/EditorV11.x64.msi) crashes on exit on this unimplemented function. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11258
From: Louis Lenders <xerox.xerox2000x@gmail.com> This was reported on the forum: https://forum.winehq.org/viewtopic.php?t=42853 The application (https://downloads.pdf-xchange.com/11.0.1.0/EditorV11.x64.msi) crashes on exit on this unimplemented function. --- dlls/cldapi/Makefile.in | 3 +++ dlls/cldapi/cldapi.spec | 2 +- dlls/cldapi/main.c | 30 ++++++++++++++++++++++++++++++ include/Makefile.in | 1 + include/cfapi.h | 30 ++++++++++++++++++++++++++++++ 5 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 dlls/cldapi/main.c create mode 100644 include/cfapi.h diff --git a/dlls/cldapi/Makefile.in b/dlls/cldapi/Makefile.in index c6e7c5be173..b1784d40e0a 100644 --- a/dlls/cldapi/Makefile.in +++ b/dlls/cldapi/Makefile.in @@ -1 +1,4 @@ MODULE = cldapi.dll + +SOURCES = \ + main.c diff --git a/dlls/cldapi/cldapi.spec b/dlls/cldapi/cldapi.spec index a645b74988e..93e3d984b44 100644 --- a/dlls/cldapi/cldapi.spec +++ b/dlls/cldapi/cldapi.spec @@ -11,7 +11,7 @@ @ stub CfExecute @ stub CfGetCorrelationVector @ stub CfGetLastSyncStatus -@ stub CfGetPlaceholderInfo +@ stdcall CfGetPlaceholderInfo(ptr long ptr long ptr) @ stub CfGetPlaceholderRangeInfo @ stub CfGetPlaceholderRangeInfoForHydration @ stub CfGetPlaceholderStateFromAttributeTag diff --git a/dlls/cldapi/main.c b/dlls/cldapi/main.c new file mode 100644 index 00000000000..f35284c94f7 --- /dev/null +++ b/dlls/cldapi/main.c @@ -0,0 +1,30 @@ +/* + * Copyright 2026 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 + */ + +#include "windef.h" +#include "cfapi.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(cldapi); + +HRESULT WINAPI CfGetPlaceholderInfo(HANDLE h, CF_PLACEHOLDER_INFO_CLASS info, void *buf, DWORD len, DWORD *retlen) +{ + FIXME("%p %d %p %lu %p: stub\n", h, info, buf, len, retlen); + + return E_NOTIMPL; +} diff --git a/include/Makefile.in b/include/Makefile.in index 47df75fb59e..acd1ed5fcb3 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -67,6 +67,7 @@ SOURCES = \ bthsdpdef.h \ cderr.h \ cdosys.idl \ + cfapi.h \ cfg.h \ cfgmgr32.h \ cguid.h \ diff --git a/include/cfapi.h b/include/cfapi.h new file mode 100644 index 00000000000..968acc4ac7c --- /dev/null +++ b/include/cfapi.h @@ -0,0 +1,30 @@ +/* + * Copyright 2026 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 CFAPI_H +#define CFAPI_H + +typedef enum CF_PLACEHOLDER_INFO_CLASS +{ + CF_PLACEHOLDER_INFO_BASIC = 0, + CF_PLACEHOLDER_INFO_STANDARD = 1 +} CF_PLACEHOLDER_INFO_CLASS; + +HRESULT WINAPI CfGetPlaceholderInfo(HANDLE h, CF_PLACEHOLDER_INFO_CLASS info, void *buf, DWORD len, DWORD *retlen); + +#endif /* CFAPI_H */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11258
Hi, Is there anything I could/should improve here? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11258#note_146235
participants (2)
-
Louis Lenders -
Louis Lenders (@xe)