From 2b721274513b71f9cd59f6f967c60b2ed01d1265 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sun, 20 Nov 2005 20:19:05 +0000 Subject: [PATCH] - Fix some error codes - Add stubs for SetupDiGetClassImageList, SetupDiGetClassImageListExA/W, SetupDiDestroyClassImageList svn path=/trunk/; revision=19386 --- reactos/lib/setupapi/devinst.c | 8 ++++-- reactos/lib/setupapi/setupapi.spec | 8 +++--- reactos/lib/setupapi/stubs.c | 45 ++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 7 deletions(-) diff --git a/reactos/lib/setupapi/devinst.c b/reactos/lib/setupapi/devinst.c index c8ddbcb256e..d5e68528652 100644 --- a/reactos/lib/setupapi/devinst.c +++ b/reactos/lib/setupapi/devinst.c @@ -2774,7 +2774,7 @@ HKEY WINAPI SetupDiOpenClassRegKeyExW( else { ERR("Invalid Flags parameter!\n"); - SetLastError(ERROR_INVALID_PARAMETER); + SetLastError(ERROR_INVALID_FLAGS); return INVALID_HANDLE_VALUE; } @@ -3805,7 +3805,7 @@ BOOL WINAPI SetupDiCreateDeviceInfoW( else if (CreationFlags & ~(DICD_GENERATE_ID | DICD_INHERIT_CLASSDRVS)) { TRACE("Unknown flags: 0x%08lx\n", CreationFlags & ~(DICD_GENERATE_ID | DICD_INHERIT_CLASSDRVS)); - SetLastError(ERROR_INVALID_PARAMETER); + SetLastError(ERROR_INVALID_FLAGS); } else { @@ -4706,7 +4706,7 @@ SetupDiOpenDeviceInfoW( else if (OpenFlags & ~(DIOD_CANCEL_REMOVE | DIOD_INHERIT_CLASSDRVS)) { TRACE("Unknown flags: 0x%08lx\n", OpenFlags & ~(DIOD_CANCEL_REMOVE | DIOD_INHERIT_CLASSDRVS)); - SetLastError(ERROR_INVALID_PARAMETER); + SetLastError(ERROR_INVALID_FLAGS); } else if (DeviceInfoData && DeviceInfoData->cbSize != sizeof(SP_DEVINFO_DATA)) SetLastError(ERROR_INVALID_USER_BUFFER); @@ -4755,6 +4755,8 @@ SetupDiOpenDeviceInfoW( RegCloseKey(hEnumKey); if (rc != ERROR_SUCCESS) { + if (rc == ERROR_FILE_NOT_FOUND) + rc = ERROR_NO_SUCH_DEVINST; SetLastError(rc); return FALSE; } diff --git a/reactos/lib/setupapi/setupapi.spec b/reactos/lib/setupapi/setupapi.spec index 41f97dbb6b3..ea0a7df082b 100644 --- a/reactos/lib/setupapi/setupapi.spec +++ b/reactos/lib/setupapi/setupapi.spec @@ -291,7 +291,7 @@ @ stub SetupDiDeleteDevRegKey @ stdcall SetupDiDeleteDeviceInfo(long ptr) @ stub SetupDiDeleteDeviceInterfaceData -@ stub SetupDiDestroyClassImageList +@ stdcall SetupDiDestroyClassImageList(ptr) @ stdcall SetupDiDestroyDeviceInfoList(long) @ stdcall SetupDiDestroyDriverInfoList(long ptr long) @ stub SetupDiDrawMiniIcon @@ -313,9 +313,9 @@ @ stdcall SetupDiGetClassDevsExW(ptr wstr ptr long ptr wstr ptr) @ stdcall SetupDiGetClassDevsW(ptr ptr long long) @ stub SetupDiGetClassImageIndex -@ stub SetupDiGetClassImageList -@ stub SetupDiGetClassImageListExA -@ stub SetupDiGetClassImageListExW +@ stdcall SetupDiGetClassImageList(ptr) +@ stdcall SetupDiGetClassImageListExA(ptr str ptr) +@ stdcall SetupDiGetClassImageListExW(ptr wstr ptr) @ stub SetupDiGetClassInstallParamsA @ stub SetupDiGetClassInstallParamsW @ stub SetupDiGetDeviceInfoListClass diff --git a/reactos/lib/setupapi/stubs.c b/reactos/lib/setupapi/stubs.c index a4768ee13ea..bbd1481e1ce 100644 --- a/reactos/lib/setupapi/stubs.c +++ b/reactos/lib/setupapi/stubs.c @@ -175,3 +175,48 @@ BOOL WINAPI SetupTerminateFileLog(HANDLE FileLogHandle) FIXME ("Stub %p\n",FileLogHandle); return TRUE; } + + +/*********************************************************************** + * SetupDiGetClassImageList(SETUPAPI.@) + */ +BOOL WINAPI SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA ClassImageListData) +{ + FIXME ("Stub %p\n", ClassImageListData); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/*********************************************************************** + * SetupDiGetClassImageListExA(SETUPAPI.@) + */ +BOOL WINAPI SetupDiGetClassImageListExA(PSP_CLASSIMAGELIST_DATA ClassImageListData, + PCSTR MachineName, PVOID Reserved) +{ + FIXME ("Stub %p %s %p\n", ClassImageListData, debugstr_a(MachineName), Reserved); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/*********************************************************************** + * SetupDiGetClassImageListExW(SETUPAPI.@) + */ +BOOL WINAPI SetupDiGetClassImageListExW(PSP_CLASSIMAGELIST_DATA ClassImageListData, + PCWSTR MachineName, PVOID Reserved) +{ + FIXME ("Stub %p %s %p\n", ClassImageListData, debugstr_w(MachineName), Reserved); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + + +/*********************************************************************** + * SetupDiDestroyClassImageList(SETUPAPI.@) + */ +BOOL WINAPI SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA ClassImageListData) +{ + FIXME ("Stub %p\n", ClassImageListData); + return TRUE; +}