diff --git a/dlls/difxapi/Makefile.in b/dlls/difxapi/Makefile.in index 17ddaa27620..68aba98450f 100644 --- a/dlls/difxapi/Makefile.in +++ b/dlls/difxapi/Makefile.in @@ -1,3 +1,6 @@ MODULE = difxapi.dll +C_SRCS = \ + main.c + @MAKE_DLL_RULES@ diff --git a/dlls/difxapi/difxapi.spec b/dlls/difxapi/difxapi.spec index a7f6ade49b5..6fbc0bb725b 100644 --- a/dlls/difxapi/difxapi.spec +++ b/dlls/difxapi/difxapi.spec @@ -4,7 +4,7 @@ @ stub DriverPackageGetPathW @ stub DriverPackageInstallA @ stub DriverPackageInstallW -@ stub DriverPackagePreinstallA -@ stub DriverPackagePreinstallW +@ stdcall DriverPackagePreinstallA(str long) +@ stdcall DriverPackagePreinstallW(wstr long) @ stub DriverPackageUninstallA @ stub DriverPackageUninstallW diff --git a/dlls/difxapi/main.c b/dlls/difxapi/main.c new file mode 100644 index 00000000000..047b912bad3 --- /dev/null +++ b/dlls/difxapi/main.c @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2013 André Hentschel + * + * 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 + +#include "windef.h" +#include "winbase.h" +#include "difxapi.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(difxapi); + +DWORD WINAPI DriverPackagePreinstallA(LPCSTR inf, DWORD flags) +{ + FIXME("(%s, %u) stub\n", wine_dbgstr_a(inf), flags); + return ERROR_SUCCESS; +} + +DWORD WINAPI DriverPackagePreinstallW(LPCWSTR inf, DWORD flags) +{ + FIXME("(%s, %u) stub\n", wine_dbgstr_w(inf), flags); + return ERROR_SUCCESS; +} diff --git a/include/Makefile.in b/include/Makefile.in index 6517393f73a..c3a39bcd08a 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -246,6 +246,7 @@ SRCDIR_INCLUDES = \ devguid.h \ devpkey.h \ devpropdef.h \ + difxapi.h \ digitalv.h \ dinput.h \ dinputd.h \ diff --git a/include/difxapi.h b/include/difxapi.h new file mode 100644 index 00000000000..f5149b8b0b9 --- /dev/null +++ b/include/difxapi.h @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2013 André Hentschel + * + * 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 __WINE_DIFXAPI_H +#define __WINE_DIFXAPI_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _INSTALLERINFO_A +{ + PSTR pApplicationId; + PSTR pDisplayName; + PSTR pProductName; + PSTR pMfgName; +} INSTALLERINFO_A, *PINSTALLERINFO_A; +typedef const PINSTALLERINFO_A PCINSTALLERINFO_A; + +typedef struct _INSTALLERINFO_W +{ + PWSTR pApplicationId; + PWSTR pDisplayName; + PWSTR pProductName; + PWSTR pMfgName; +} INSTALLERINFO_W, *PINSTALLERINFO_W; +typedef const PINSTALLERINFO_W PCINSTALLERINFO_W; + +typedef enum _DIFXAPI_LOG +{ + DIFXAPI_SUCCESS, + DIFXAPI_INFO, + DIFXAPI_WARNING, + DIFXAPI_ERROR, +} DIFXAPI_LOG; + +typedef VOID (CALLBACK *DIFXAPILOGCALLBACK_A)(DIFXAPI_LOG,DWORD,PCSTR,PVOID); +typedef VOID (CALLBACK *DIFXAPILOGCALLBACK_W)(DIFXAPI_LOG,DWORD,PCWSTR,PVOID); + +VOID WINAPI DIFXAPISetLogCallbackA(DIFXAPILOGCALLBACK_A,VOID*); +VOID WINAPI DIFXAPISetLogCallbackW(DIFXAPILOGCALLBACK_W,VOID*); +DWORD WINAPI DriverPackageGetPathA(PCSTR,PSTR,DWORD*); +DWORD WINAPI DriverPackageGetPathW(PCWSTR,PWSTR,DWORD*); +DWORD WINAPI DriverPackageInstallA(PCSTR,DWORD,PCINSTALLERINFO_A,BOOL*); +DWORD WINAPI DriverPackageInstallW(PCWSTR,DWORD,PCINSTALLERINFO_W,BOOL*); +DWORD WINAPI DriverPackagePreinstallA(PCSTR,DWORD); +DWORD WINAPI DriverPackagePreinstallW(PCWSTR,DWORD); +DWORD WINAPI DriverPackageUninstallA(PCSTR,DWORD,PCINSTALLERINFO_A,BOOL*); +DWORD WINAPI DriverPackageUninstallW(PCWSTR,DWORD,PCINSTALLERINFO_W,BOOL*); + +#ifdef __cplusplus +} +#endif + +#endif /* __WINE_DIFXAPI_H */