Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / reactos / dll / win32 / devmgr / api.cpp
diff --git a/reactos/dll/win32/devmgr/api.cpp b/reactos/dll/win32/devmgr/api.cpp
deleted file mode 100644 (file)
index 679e6b4..0000000
+++ /dev/null
@@ -1,831 +0,0 @@
-/*
-*
-* COPYRIGHT:       See COPYING in the top level directory
-* PROJECT:         ReactOS devmgr.dll
-* FILE:            dll/win32/devmgr/api.cpp
-* PURPOSE:         devmgr.dll interface
-* PROGRAMMER:      Thomas Weidenmueller (w3seek@users.sourceforge.net)
-*                  Ged Murphy (gedmurphy@reactos.org)
-* NOTES:           
-*                  Some helpful resources:
-*                    http://support.microsoft.com/default.aspx?scid=kb;%5BLN%5D;815320
-*                    http://www.jsiinc.com/SUBO/tip7400/rh7482.htm
-*                    http://www.jsiinc.com/SUBM/tip6400/rh6490.htm
-*
-* UPDATE HISTORY:
-*      04-04-2004  Created
-*/
-
-#include "precomp.h"
-#include "devmgmt/MainWindow.h"
-#include "properties/properties.h"
-
-HINSTANCE hDllInstance = NULL;
-
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DeviceAdvancedPropertiesW
-*
-* DESCRIPTION
-*   Invokes the device properties dialog, this version may add some property pages
-*   for some devices
-*
-* ARGUMENTS
-*   hWndParent:    Handle to the parent window
-*   lpMachineName: Machine Name, NULL is the local machine
-*   lpDeviceID:    Specifies the device whose properties are to be shown
-*
-* RETURN VALUE
-*   Always returns -1, a call to GetLastError returns 0 if successful
-*
-* @implemented
-*/
-INT_PTR
-WINAPI
-DeviceAdvancedPropertiesW(IN HWND hWndParent  OPTIONAL,
-                          IN LPCWSTR lpMachineName  OPTIONAL,
-                          IN LPCWSTR lpDeviceID)
-{
-    HDEVINFO hDevInfo;
-    SP_DEVINFO_DATA DevInfoData;
-    HINSTANCE hComCtl32;
-    INT_PTR Ret = -1;
-
-    if (lpDeviceID == NULL)
-    {
-        SetLastError(ERROR_INVALID_PARAMETER);
-        return FALSE;
-    }
-
-    /* dynamically load comctl32 */
-    hComCtl32 = LoadAndInitComctl32();
-    if (hComCtl32 != NULL)
-    {
-        hDevInfo = SetupDiCreateDeviceInfoListEx(NULL,
-                                                 hWndParent,
-                                                 lpMachineName,
-                                                 NULL);
-        if (hDevInfo != INVALID_HANDLE_VALUE)
-        {
-            DevInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
-            if (SetupDiOpenDeviceInfo(hDevInfo,
-                                      lpDeviceID,
-                                      hWndParent,
-                                      0,
-                                      &DevInfoData))
-            {
-                Ret = DisplayDeviceAdvancedProperties(hWndParent,
-                                                      lpDeviceID,
-                                                      hDevInfo,
-                                                      &DevInfoData,
-                                                      hComCtl32,
-                                                      lpMachineName,
-                                                      0);
-            }
-
-            SetupDiDestroyDeviceInfoList(hDevInfo);
-        }
-
-        FreeLibrary(hComCtl32);
-    }
-
-    return Ret;
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DeviceAdvancedPropertiesA
-*
-* DESCRIPTION
-*   Invokes the device properties dialog, this version may add some property pages
-*   for some devices
-*
-* ARGUMENTS
-*   hWndParent:    Handle to the parent window
-*   lpMachineName: Machine Name, NULL is the local machine
-*   lpDeviceID:    Specifies the device whose properties are to be shown
-*
-* RETURN VALUE
-*   Always returns -1, a call to GetLastError returns 0 if successful
-*
-* @implemented
-*/
-INT_PTR
-WINAPI
-DeviceAdvancedPropertiesA(IN HWND hWndParent  OPTIONAL,
-                          IN LPCSTR lpMachineName  OPTIONAL,
-                          IN LPCSTR lpDeviceID)
-{
-    LPWSTR lpMachineNameW = NULL;
-    LPWSTR lpDeviceIDW = NULL;
-    INT_PTR Ret = -1;
-
-    if (lpMachineName != NULL)
-    {
-        if (!(lpMachineNameW = ConvertMultiByteToUnicode(lpMachineName,
-                                                         CP_ACP)))
-        {
-            goto Cleanup;
-        }
-    }
-    if (lpDeviceID != NULL)
-    {
-        if (!(lpDeviceIDW = ConvertMultiByteToUnicode(lpDeviceID,
-                                                      CP_ACP)))
-        {
-            goto Cleanup;
-        }
-    }
-
-    Ret = DeviceAdvancedPropertiesW(hWndParent,
-                                    lpMachineNameW,
-                                    lpDeviceIDW);
-
-Cleanup:
-    if (lpMachineNameW != NULL)
-    {
-        HeapFree(GetProcessHeap(),
-                 0,
-                 lpMachineNameW);
-    }
-    if (lpDeviceIDW != NULL)
-    {
-        HeapFree(GetProcessHeap(),
-                 0,
-                 lpDeviceIDW);
-    }
-
-    return Ret;
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DevicePropertiesExA
-*
-* DESCRIPTION
-*   Invokes the extended device properties dialog
-*
-* ARGUMENTS
-*   hWndParent:    Handle to the parent window
-*   lpMachineName: Machine Name, NULL is the local machine
-*   lpDeviceID:    Specifies the device whose properties are to be shown, optional if
-*                  bShowDevMgr is nonzero
-*   dwFlags:       This parameter can be a combination of the following flags:
-*                  * DPF_DEVICE_STATUS_ACTION: Only valid if bShowDevMgr, causes
-*                                              the default device status action button
-*                                              to be clicked (Troubleshoot, Enable
-*                                              Device, etc)
-*   bShowDevMgr:   If non-zero it displays the device manager instead of
-*                  the advanced device property dialog
-*
-* RETURN VALUE
-*   1:  if bShowDevMgr is non-zero and no error occured
-*   -1: a call to GetLastError returns 0 if successful
-*
-* @implemented
-*/
-INT_PTR
-WINAPI
-DevicePropertiesExA(IN HWND hWndParent  OPTIONAL,
-                    IN LPCSTR lpMachineName  OPTIONAL,
-                    IN LPCSTR lpDeviceID  OPTIONAL,
-                    IN DWORD dwFlags  OPTIONAL,
-                    IN BOOL bShowDevMgr)
-{
-    LPWSTR lpMachineNameW = NULL;
-    LPWSTR lpDeviceIDW = NULL;
-    INT_PTR Ret = -1;
-
-    if (lpMachineName != NULL)
-    {
-        if (!(lpMachineNameW = ConvertMultiByteToUnicode(lpMachineName,
-                                                         CP_ACP)))
-        {
-            goto Cleanup;
-        }
-    }
-    if (lpDeviceID != NULL)
-    {
-        if (!(lpDeviceIDW = ConvertMultiByteToUnicode(lpDeviceID,
-                                                      CP_ACP)))
-        {
-            goto Cleanup;
-        }
-    }
-
-    Ret = DevicePropertiesExW(hWndParent,
-                              lpMachineNameW,
-                              lpDeviceIDW,
-                              dwFlags,
-                              bShowDevMgr);
-
-Cleanup:
-    if (lpMachineNameW != NULL)
-    {
-        HeapFree(GetProcessHeap(),
-                 0,
-                 lpMachineNameW);
-    }
-    if (lpDeviceIDW != NULL)
-    {
-        HeapFree(GetProcessHeap(),
-                 0,
-                 lpDeviceIDW);
-    }
-
-    return Ret;
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DevicePropertiesExW
-*
-* DESCRIPTION
-*   Invokes the extended device properties dialog
-*
-* ARGUMENTS
-*   hWndParent:    Handle to the parent window
-*   lpMachineName: Machine Name, NULL is the local machine
-*   lpDeviceID:    Specifies the device whose properties are to be shown, optional if
-*                  bShowDevMgr is nonzero
-*   dwFlags:       This parameter can be a combination of the following flags:
-*                  * DPF_DEVICE_STATUS_ACTION: Only valid if bShowDevMgr, causes
-*                                              the default device status action button
-*                                              to be clicked (Troubleshoot, Enable
-*                                              Device, etc)
-*   bShowDevMgr:   If non-zero it displays the device manager instead of
-*                  the advanced device property dialog
-*
-* RETURN VALUE
-*   1:  if bShowDevMgr is non-zero and no error occured
-*   -1: a call to GetLastError returns 0 if successful
-*
-* @implemented
-*/
-INT_PTR
-WINAPI
-DevicePropertiesExW(IN HWND hWndParent  OPTIONAL,
-                    IN LPCWSTR lpMachineName  OPTIONAL,
-                    IN LPCWSTR lpDeviceID  OPTIONAL,
-                    IN DWORD dwFlags  OPTIONAL,
-                    IN BOOL bShowDevMgr)
-{
-    INT_PTR Ret = -1;
-
-    if (dwFlags & ~(DPF_EXTENDED | DPF_DEVICE_STATUS_ACTION))
-    {
-        FIXME("DevPropertiesExW: Invalid flags: 0x%x\n",
-              dwFlags & ~(DPF_EXTENDED | DPF_DEVICE_STATUS_ACTION));
-        SetLastError(ERROR_INVALID_FLAGS);
-        return -1;
-    }
-
-    if (bShowDevMgr)
-    {
-        FIXME("DevPropertiesExW doesn't support bShowDevMgr!\n");
-        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-    }
-    else
-    {
-        HDEVINFO hDevInfo;
-        SP_DEVINFO_DATA DevInfoData;
-        HINSTANCE hComCtl32;
-
-        if (lpDeviceID == NULL)
-        {
-            SetLastError(ERROR_INVALID_PARAMETER);
-            return -1;
-        }
-
-        /* dynamically load comctl32 */
-        hComCtl32 = LoadAndInitComctl32();
-        if (hComCtl32 != NULL)
-        {
-            hDevInfo = SetupDiCreateDeviceInfoListEx(NULL,
-                                                     hWndParent,
-                                                     lpMachineName,
-                                                     NULL);
-            if (hDevInfo != INVALID_HANDLE_VALUE)
-            {
-                DevInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
-                if (SetupDiOpenDeviceInfo(hDevInfo,
-                                          lpDeviceID,
-                                          hWndParent,
-                                          0,
-                                          &DevInfoData))
-                {
-                    Ret = DisplayDeviceAdvancedProperties(hWndParent,
-                                                          lpDeviceID,
-                                                          hDevInfo,
-                                                          &DevInfoData,
-                                                          hComCtl32,
-                                                          lpMachineName,
-                                                          dwFlags);
-                }
-
-                SetupDiDestroyDeviceInfoList(hDevInfo);
-            }
-
-            FreeLibrary(hComCtl32);
-        }
-    }
-
-    return Ret;
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DevicePropertiesA
-*
-* DESCRIPTION
-*   Invokes the device properties dialog directly
-*
-* ARGUMENTS
-*   hWndParent:    Handle to the parent window
-*   lpMachineName: Machine Name, NULL is the local machine
-*   lpDeviceID:    Specifies the device whose properties are to be shown
-*   bShowDevMgr:   If non-zero it displays the device manager instead of
-*                  the device property dialog
-*
-* RETURN VALUE
-*   >=0: if no errors occured
-*   -1:  if errors occured
-*
-* REVISIONS
-*
-* @implemented
-*/
-int
-WINAPI
-DevicePropertiesA(HWND hWndParent,
-                  LPCSTR lpMachineName,
-                  LPCSTR lpDeviceID,
-                  BOOL bShowDevMgr)
-{
-    return DevicePropertiesExA(hWndParent,
-                               lpMachineName,
-                               lpDeviceID,
-                               DPF_EXTENDED,
-                               bShowDevMgr);
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DevicePropertiesW
-*
-* DESCRIPTION
-*   Invokes the device properties dialog directly
-*
-* ARGUMENTS
-*   hWndParent:    Handle to the parent window
-*   lpMachineName: Machine Name, NULL is the local machine
-*   lpDeviceID:    Specifies the device whose properties are to be shown
-*   bShowDevMgr:   If non-zero it displays the device manager instead of
-*                  the device property dialog
-*
-* RETURN VALUE
-*   >=0: if no errors occured
-*   -1:  if errors occured
-*
-* REVISIONS
-*
-* @implemented
-*/
-int
-WINAPI
-DevicePropertiesW(HWND hWndParent,
-                  LPCWSTR lpMachineName,
-                  LPCWSTR lpDeviceID,
-                  BOOL bShowDevMgr)
-{
-    return DevicePropertiesExW(hWndParent,
-                               lpMachineName,
-                               lpDeviceID,
-                               DPF_EXTENDED,
-                               bShowDevMgr);
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DeviceProperties_RunDLLA
-*
-* DESCRIPTION
-*   Invokes the device properties dialog
-*
-* ARGUMENTS
-*   hWndParent:  Handle to the parent window
-*   hInst:       Handle to the application instance
-*   lpDeviceCmd: A command that includes the DeviceID of the properties to be shown,
-*                also see NOTEs
-*   nCmdShow:    Specifies how the window should be shown
-*
-* RETURN VALUE
-*
-* REVISIONS
-*
-* NOTE
-*   - lpDeviceCmd is a string in the form of "/MachineName MACHINE /DeviceID DEVICEPATH"
-*     (/MachineName is optional). This function only parses this string and eventually
-*     calls DeviceProperties().
-*
-* @implemented
-*/
-VOID
-WINAPI
-DeviceProperties_RunDLLA(HWND hWndParent,
-                         HINSTANCE hInst,
-                         LPCSTR lpDeviceCmd,
-                         int nCmdShow)
-{
-    LPWSTR lpDeviceCmdW = NULL;
-
-    if (lpDeviceCmd != NULL)
-    {
-        if ((lpDeviceCmdW = ConvertMultiByteToUnicode(lpDeviceCmd,
-                                                      CP_ACP)))
-        {
-            DeviceProperties_RunDLLW(hWndParent,
-                                     hInst,
-                                     lpDeviceCmdW,
-                                     nCmdShow);
-        }
-    }
-
-    if (lpDeviceCmdW != NULL)
-    {
-        HeapFree(GetProcessHeap(),
-                 0,
-                 lpDeviceCmdW);
-    }
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DeviceProperties_RunDLLW
-*
-* DESCRIPTION
-*   Invokes the device properties dialog
-*
-* ARGUMENTS
-*   hWndParent:  Handle to the parent window
-*   hInst:       Handle to the application instance
-*   lpDeviceCmd: A command that includes the DeviceID of the properties to be shown,
-*                also see NOTEs
-*   nCmdShow:    Specifies how the window should be shown
-*
-* RETURN VALUE
-*
-* REVISIONS
-*
-* NOTE
-*   - lpDeviceCmd is a string in the form of "/MachineName MACHINE /DeviceID DEVICEPATH"
-*     (/MachineName is optional). This function only parses this string and eventually
-*     calls DeviceProperties().
-*
-* @implemented
-*/
-VOID
-WINAPI
-DeviceProperties_RunDLLW(HWND hWndParent,
-                         HINSTANCE hInst,
-                         LPCWSTR lpDeviceCmd,
-                         int nCmdShow)
-{
-    WCHAR szDeviceID[MAX_DEVICE_ID_LEN + 1];
-    WCHAR szMachineName[MAX_COMPUTERNAME_LENGTH + 1];
-    LPWSTR lpString = (LPWSTR)lpDeviceCmd;
-
-    if (!GetDeviceAndComputerName(lpString,
-                                  szDeviceID,
-                                  szMachineName))
-    {
-        ERR("DeviceProperties_RunDLLW DeviceID: %S, MachineName: %S\n", szDeviceID, szMachineName);
-        return;
-    }
-
-    DevicePropertiesW(hWndParent,
-                      szMachineName,
-                      szDeviceID,
-                      FALSE);
-}
-
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DeviceManager_ExecuteA
-*
-* DESCRIPTION
-*   Starts the Device Manager
-*
-* ARGUMENTS
-*   hWndParent:   Handle to the parent window
-*   hInst:        Handle to the application instance
-*   lpMachineName: Machine Name, NULL is the local machine
-*   nCmdShow:      Specifies how the window should be shown
-*
-* RETURN VALUE
-*   TRUE:  if no errors occured
-*   FALSE: if the device manager could not be executed
-*
-* REVISIONS
-*
-* NOTE
-*   - Win runs the device manager in a separate process, so hWndParent is somehow
-*     obsolete.
-*
-* @implemented
-*/
-BOOL
-WINAPI
-DeviceManager_ExecuteA(HWND hWndParent,
-                       HINSTANCE hInst,
-                       LPCSTR lpMachineName,
-                       int nCmdShow)
-{
-    LPWSTR lpMachineNameW = NULL;
-    BOOL Ret;
-
-    if (lpMachineName != NULL)
-    {
-        if (!(lpMachineNameW = ConvertMultiByteToUnicode(lpMachineName,
-                                                         CP_ACP)))
-        {
-            return FALSE;
-        }
-    }
-
-    Ret = DeviceManager_ExecuteW(hWndParent,
-                                 hInst,
-                                 lpMachineNameW,
-                                 nCmdShow);
-
-    if (lpMachineNameW != NULL)
-    {
-        HeapFree(GetProcessHeap(),
-                 0,
-                 lpMachineNameW);
-    }
-
-
-    return Ret;
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DeviceManager_ExecuteW
-*
-* DESCRIPTION
-*   Starts the Device Manager
-*
-* ARGUMENTS
-*   hWndParent:   Handle to the parent window
-*   hInst:        Handle to the application instance
-*   lpMachineName: Machine Name, NULL is the local machine
-*   nCmdShow:      Specifies how the window should be shown
-*
-* RETURN VALUE
-*   TRUE:  if no errors occured
-*   FALSE: if the device manager could not be executed
-*
-* REVISIONS
-*
-* NOTE
-*   - Win runs the device manager in a separate process, so hWndParent is somehow
-*     obsolete.
-*
-* @implemented
-*/
-BOOL
-WINAPI
-DeviceManager_ExecuteW(HWND hWndParent,
-                       HINSTANCE hInst,
-                       LPCWSTR lpMachineName,
-                       int nCmdShow)
-{
-    // FIXME: Call mmc with devmgmt.msc
-
-    CDeviceManager DevMgr;
-    return DevMgr.Create(hWndParent, hInst, lpMachineName, nCmdShow);
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DeviceProblemWizard_RunDLLA
-*
-* DESCRIPTION
-*   Calls the device problem wizard
-*
-* ARGUMENTS
-*   hWndParent:  Handle to the parent window
-*   hInst:       Handle to the application instance
-*   lpDeviceCmd: A command that includes the DeviceID of the properties to be shown,
-*                also see NOTEs
-*   nCmdShow:    Specifies how the window should be shown
-*
-* RETURN VALUE
-*
-* REVISIONS
-*
-* NOTE
-*   - Win XP exports this function as DeviceProblenWizard_RunDLLA, apparently it's
-*     a typo so we additionally export an alias function
-*   - lpDeviceCmd is a string in the form of "/MachineName MACHINE /DeviceID DEVICEPATH"
-*     (/MachineName is optional). This function only parses this string and eventually
-*     calls DeviceProperties().
-*
-* @unimplemented
-*/
-VOID
-WINAPI
-DeviceProblemWizard_RunDLLA(HWND hWndParent,
-                            HINSTANCE hInst,
-                            LPCSTR lpDeviceCmd,
-                            int nCmdShow)
-{
-    UNIMPLEMENTED;
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DeviceProblemWizard_RunDLLW
-*
-* DESCRIPTION
-*   Calls the device problem wizard
-*
-* ARGUMENTS
-*   hWndParent:  Handle to the parent window
-*   hInst:       Handle to the application instance
-*   lpDeviceCmd: A command that includes the DeviceID of the properties to be shown,
-*                also see NOTEs
-*   nCmdShow:    Specifies how the window should be shown
-*
-* RETURN VALUE
-*
-* REVISIONS
-*
-* NOTE
-*   - Win XP exports this function as DeviceProblenWizard_RunDLLA, apparently it's
-*     a typo so we additionally export an alias function
-*   - lpDeviceCmd is a string in the form of "/MachineName MACHINE /DeviceID DEVICEPATH"
-*     (/MachineName is optional). This function only parses this string and eventually
-*     calls DeviceProperties().
-*
-* @unimplemented
-*/
-VOID
-WINAPI
-DeviceProblemWizard_RunDLLW(HWND hWndParent,
-                            HINSTANCE hInst,
-                            LPCWSTR lpDeviceCmd,
-                            int nCmdShow)
-{
-    UNIMPLEMENTED;
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DeviceManagerPrintA
-*
-* DESCRIPTION
-*   Calls the device problem wizard
-*
-* ARGUMENTS
-*   lpMachineName:  Machine Name, NULL is the local machine
-*   lpPrinter:      Filename of the printer where it should be printed on
-*   nPrintMode:     Specifies what kind of information is to be printed
-*                     DEV_PRINT_ABSTRACT: Prints an abstract of system information, the parameters
-*                                         uNumberOfGuids, Guids are ignored
-*                     DEV_PRINT_SELECTED: Prints information about the devices listed in Guids
-*                     DEV_PRINT_ALL:      Prints an abstract of system information and all
-*                                         system devices
-*   uNumberOfGuids: Numbers of guids in the Guids array, this parameter is ignored unless
-*                   nPrintMode is DEV_PRINT_SELECTED
-*   lpGuids:        Array of device guids, this parameter is ignored unless
-*                   nPrintMode is DEV_PRINT_SELECTED
-*
-* RETURN VALUE
-*   TRUE:  if no errors occured
-*   FALSE: if errors occured
-*
-* REVISIONS
-*
-* NOTE
-*
-* @unimplemented
-*/
-BOOL
-WINAPI
-DeviceManagerPrintA(LPCSTR lpMachineName,
-                    LPCSTR lpPrinter,
-                    int nPrintMode,
-                    UINT uNumberOfGuids,
-                    LPGUID lpGuids)
-{
-    UNIMPLEMENTED;
-    return FALSE;
-}
-
-
-/***************************************************************************
-* NAME                                                         EXPORTED
-*      DeviceManagerPrintW
-*
-* DESCRIPTION
-*   Calls the device problem wizard
-*
-* ARGUMENTS
-*   lpMachineName:  Machine Name, NULL is the local machine
-*   lpPrinter:      Filename of the printer where it should be printed on
-*   nPrintMode:     Specifies what kind of information is to be printed
-*                     DEV_PRINT_ABSTRACT: Prints an abstract of system information, the parameters
-*                                         uNumberOfGuids, Guids are ignored
-*                     DEV_PRINT_SELECTED: Prints information about the devices listed in Guids
-*                     DEV_PRINT_ALL:      Prints an abstract of system information and all
-*                                         system devices
-*   uNumberOfGuids: Numbers of guids in the Guids array, this parameter is ignored unless
-*                   nPrintMode is DEV_PRINT_SELECTED
-*   lpGuids:        Array of device guids, this parameter is ignored unless
-*                   nPrintMode is DEV_PRINT_SELECTED
-*
-* RETURN VALUE
-*   TRUE:  if no errors occured
-*   FALSE: if errors occured
-*
-* REVISIONS
-*
-* NOTE
-*
-* @unimplemented
-*/
-BOOL
-WINAPI
-DeviceManagerPrintW(LPCWSTR lpMachineName,
-                    LPCWSTR lpPrinter,
-                    int nPrintMode,
-                    UINT uNumberOfGuids,
-                    LPGUID lpGuids)
-{
-    UNIMPLEMENTED;
-    return FALSE;
-}
-
-class CDevMgrUIModule : public CComModule
-{
-public:
-};
-
-CDevMgrUIModule gModule;
-
-STDAPI DllCanUnloadNow()
-{
-    return gModule.DllCanUnloadNow();
-}
-
-STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
-{
-    return gModule.DllGetClassObject(rclsid, riid, ppv);
-}
-
-STDAPI DllRegisterServer()
-{
-    return gModule.DllRegisterServer(FALSE);
-}
-
-STDAPI DllUnregisterServer()
-{
-    return gModule.DllUnregisterServer(FALSE);
-}
-
-extern "C" {
-
-BOOL
-WINAPI
-DllMain(_In_ HINSTANCE hinstDLL,
-        _In_ DWORD dwReason,
-        _In_ LPVOID lpvReserved)
-{
-    switch (dwReason)
-    {
-        case DLL_PROCESS_ATTACH:
-            DisableThreadLibraryCalls(hinstDLL);
-            hDllInstance = hinstDLL;
-            break;
-    }
-
-    return TRUE;
-}
-}
\ No newline at end of file