Implement SetupDiGetDeviceInstanceIdW
[reactos.git] / reactos / lib / setupapi / stubs.c
index f0ab6e2..fa05d73 100644 (file)
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#include <stdarg.h>
-
-#include "wine/debug.h"
-#include "windef.h"
-#include "winbase.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "winnls.h"
-#include "winreg.h"
-#include "setupapi.h"
+#include "setupapi_private.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(setupapi);
 
@@ -59,38 +50,6 @@ BOOL WINAPI SetupDiGetDeviceInfoListDetailA(HDEVINFO devinfo, PSP_DEVINFO_LIST_D
   return FALSE;
 }
 
-/***********************************************************************
- *             SetupDiGetDeviceInfoListDetailW  (SETUPAPI.@)
- */
-BOOL WINAPI SetupDiGetDeviceInfoListDetailW(HDEVINFO devinfo, PSP_DEVINFO_LIST_DETAIL_DATA_W devinfo_data )
-{
-  FIXME("\n");
-  return FALSE;
-}
-
-/***********************************************************************
- *               (SETUPAPI.@)
- *
- * NO WINAPI in description given
- */
-HDEVINFO WINAPI SetupDiGetClassDevsExA(const GUID *class, PCSTR filter, HWND parent, DWORD flags, HDEVINFO deviceset, PCSTR machine, PVOID reserved)
-{
-  FIXME("filter %s machine %s\n",debugstr_a(filter),debugstr_a(machine));
-  return FALSE;
-}
-
-/***********************************************************************
- *               (SETUPAPI.@)
- *
- * NO WINAPI in description given
- */
-HDEVINFO WINAPI SetupDiGetClassDevsExW(const GUID *class, PCWSTR filter, HWND parent, DWORD flags, HDEVINFO deviceset, PCWSTR machine, PVOID reserved)
-{
-  FIXME("\n");
-  return FALSE;
-}
-
-
 /***********************************************************************
  *             SetupCopyOEMInfA  (SETUPAPI.@)
  */
@@ -99,10 +58,25 @@ BOOL WINAPI SetupCopyOEMInfA(PCSTR sourceinffile, PCSTR sourcemedialoc,
                            DWORD destnamesize, PDWORD required,
                            PSTR *destinfnamecomponent)
 {
-  FIXME("stub: source %s location %s ...\n",sourceinffile, sourcemedialoc);
+  FIXME("stub: source %s location %s ...\n", debugstr_a(sourceinffile),
+        debugstr_a(sourcemedialoc));
   return FALSE;
 }
 
+/***********************************************************************
+ *      SetupCopyOEMInfW  (SETUPAPI.@)
+ */
+BOOL WINAPI SetupCopyOEMInfW(PCWSTR sourceinffile, PCWSTR sourcemedialoc,
+                DWORD mediatype, DWORD copystyle, PWSTR destinfname,
+                DWORD destnamesize, PDWORD required,
+                PWSTR *destinfnamecomponent)
+{
+  FIXME("stub: source %s location %s ...\n", debugstr_w(sourceinffile),
+        debugstr_w(sourcemedialoc));
+  //return FALSE;
+  return TRUE;
+}
+
 /***********************************************************************
  *             SetupGetInfInformationA    (SETUPAPI.@)
  */
@@ -118,7 +92,7 @@ BOOL WINAPI SetupGetInfInformationA( LPCVOID InfSpec, DWORD SearchControl,
 /***********************************************************************
  *             SetupInitializeFileLogW(SETUPAPI.@)
  */
-HANDLE WINAPI SetupInitializeFileLogW(LPWSTR LogFileName, DWORD Flags)
+HANDLE WINAPI SetupInitializeFileLogW(LPCWSTR LogFileName, DWORD Flags)
 {
     FIXME("Stub %s, 0x%lx\n",debugstr_w(LogFileName),Flags);
     return INVALID_HANDLE_VALUE;
@@ -127,12 +101,63 @@ HANDLE WINAPI SetupInitializeFileLogW(LPWSTR LogFileName, DWORD Flags)
 /***********************************************************************
  *             SetupInitializeFileLogA(SETUPAPI.@)
  */
-HANDLE WINAPI SetupInitializeFileLogA(LPSTR LogFileName, DWORD Flags)
+HANDLE WINAPI SetupInitializeFileLogA(LPCSTR LogFileName, DWORD Flags)
 {
     FIXME("Stub %s, 0x%lx\n",debugstr_a(LogFileName),Flags);
     return INVALID_HANDLE_VALUE;
 }
 
+/***********************************************************************
+ *             SetupPromptReboot(SETUPAPI.@)
+ */
+INT WINAPI SetupPromptReboot(HSPFILEQ FileQueue, HWND Owner, BOOL ScanOnly)
+{
+#if 0
+    int ret;
+    TCHAR RebootText[RC_STRING_MAX_SIZE];
+    TCHAR RebootCaption[RC_STRING_MAX_SIZE];
+    INT rc = 0;
+
+    TRACE("%p %p %d\n", FileQueue, Owner, ScanOnly);
+
+    if (ScanOnly && !FileQueue)
+    {
+        SetLastError(ERROR_INVALID_PARAMETER);
+        return -1;
+    }
+
+    if (FileQueue)
+    {
+        FIXME("Case 'FileQueue != NULL' not implemented\n");
+        /* In some cases, do 'rc |= SPFILEQ_FILE_IN_USE' */
+    }
+
+    if (ScanOnly)
+        return rc;
+
+    /* We need to ask the question to the user. */
+    rc |= SPFILEQ_REBOOT_RECOMMENDED;
+    if (0 == LoadString(hInstance, IDS_QUERY_REBOOT_TEXT, RebootText, RC_STRING_MAX_SIZE))
+        return -1;
+    if (0 == LoadString(hInstance, IDS_QUERY_REBOOT_CAPTION, RebootCaption, RC_STRING_MAX_SIZE))
+        return -1;
+    ret = MessageBox(Owner, RebootText, RebootCaption, MB_YESNO | MB_DEFBUTTON1);
+    if (IDNO == ret)
+        return rc;
+    else
+    {
+        if (ExitWindowsEx(EWX_REBOOT, 0))
+            return rc | SPFILEQ_REBOOT_IN_PROGRESS;
+        else
+            return -1;
+    }
+#endif
+    FIXME("Stub %p %p %d\n", FileQueue, Owner, ScanOnly);
+    SetLastError(ERROR_GEN_FAILURE);
+    return -1;
+}
+
+
 /***********************************************************************
  *             SetupTerminateFileLog(SETUPAPI.@)
  */
@@ -141,3 +166,92 @@ 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;
+}
+
+
+/***********************************************************************
+ *             SetupDiGetClassImageIndex(SETUPAPI.@)
+ */
+BOOL WINAPI SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA ClassImageListData,
+                                      CONST GUID *ClassGuid, PINT ImageIndex)
+{
+    FIXME ("Stub %p %p %p\n", ClassImageListData, ClassGuid, ImageIndex);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return FALSE;
+}
+
+
+/***********************************************************************
+ *             SetupDiDestroyClassImageList(SETUPAPI.@)
+ */
+BOOL WINAPI SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA ClassImageListData)
+{
+    FIXME ("Stub %p\n", ClassImageListData);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return TRUE;
+}
+
+
+/***********************************************************************
+ *             SetupDiGetClassDevPropertySheetsA(SETUPAPI.@)
+ */
+BOOL WINAPI SetupDiGetClassDevPropertySheetsA(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData,
+                                              LPPROPSHEETHEADERA PropertySheetHeader,
+                                              DWORD PropertySheetHeaderPageListSize, PDWORD RequiredSize,
+                                              DWORD PropertySheetType)
+{
+    FIXME ("Stub %p %p %p %d %p %d\n",
+           DeviceInfoSet, DeviceInfoData, PropertySheetHeader, PropertySheetHeaderPageListSize,
+           RequiredSize, PropertySheetType);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return FALSE;
+}
+
+/***********************************************************************
+ *             SetupDiGetClassDevPropertySheetsW(SETUPAPI.@)
+ */
+BOOL WINAPI SetupDiGetClassDevPropertySheetsW(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData,
+                                              LPPROPSHEETHEADERW PropertySheetHeader,
+                                              DWORD PropertySheetHeaderPageListSize, PDWORD RequiredSize,
+                                              DWORD PropertySheetType)
+{
+    FIXME ("Stub %p %p %p %d %p %d\n",
+           DeviceInfoSet, DeviceInfoData, PropertySheetHeader, PropertySheetHeaderPageListSize,
+           RequiredSize, PropertySheetType);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return FALSE;
+}