Author: gedmurphy Date: Tue Jul 7 11:05:25 2015 New Revision: 68367
URL: http://svn.reactos.org/svn/reactos?rev=68367&view=rev Log: [DEVMGR] - last few fixes to the device manager code to get it building with rosbe (msvc) - Next steps are to merge it with the existing devmgr code (mostly done in my WC) and get it running via mmc.exe & devmgmt.msc
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/ClassNode.cpp trunk/reactos/dll/win32/devmgr/devmgmt/DeviceNode.cpp trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.cpp trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h trunk/reactos/dll/win32/devmgr/devmgmt/Node.cpp trunk/reactos/dll/win32/devmgr/devmgmt/Node.h trunk/reactos/dll/win32/devmgr/devmgmt/RootNode.cpp trunk/reactos/dll/win32/devmgr/devmgmt/stdafx.h
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/ClassNode.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/Cl... ============================================================================== --- trunk/reactos/dll/win32/devmgr/devmgmt/ClassNode.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/devmgr/devmgmt/ClassNode.cpp [iso-8859-1] Tue Jul 7 11:05:25 2015 @@ -120,7 +120,7 @@ if (ptr) { // This must be an inf based descriptor, the desc is after the semi colon - wcscpy_s(ResourceDescriptor, ResourceDescriptorSize, ++ptr); + StringCbCopyW(ResourceDescriptor, ResourceDescriptorSize, ++ptr); dwError = ERROR_SUCCESS; } else @@ -154,7 +154,7 @@ // Load the string from the dll if (LoadStringW(hModule, ResourceId, ResString, 256)) { - wcscpy_s(ResourceDescriptor, ResourceDescriptorSize, ResString); + StringCbCopyW(ResourceDescriptor, ResourceDescriptorSize, ResString); dwError = ERROR_SUCCESS; } else
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/DeviceNode.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/De... ============================================================================== --- trunk/reactos/dll/win32/devmgr/devmgmt/DeviceNode.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/devmgr/devmgmt/DeviceNode.cpp [iso-8859-1] Tue Jul 7 11:05:25 2015 @@ -274,7 +274,6 @@ _Out_ bool &NeedsReboot ) { - bool Ret = false; bool Canceled = false;
SetFlags(DI_NODI_DEFAULTACTION, 0); @@ -376,6 +375,8 @@ NULL, 0);
+ return true; + }
/* PRIVATE METHODS ******************************************************/ @@ -424,9 +425,9 @@ { DevInstallParams.Flags |= Flags; DevInstallParams.FlagsEx |= FlagsEx; - return SetupDiSetDeviceInstallParamsW(m_hDevInfo, - &m_DevinfoData, - &DevInstallParams); + return (SetupDiSetDeviceInstallParamsW(m_hDevInfo, + &m_DevinfoData, + &DevInstallParams) != 0); } return false; } @@ -445,11 +446,11 @@ { DevInstallParams.Flags &= ~Flags; DevInstallParams.FlagsEx &= ~FlagsEx; - return SetupDiSetDeviceInstallParamsW(m_hDevInfo, - &m_DevinfoData, - &DevInstallParams); - } - return false; -} - - + return (SetupDiSetDeviceInstallParamsW(m_hDevInfo, + &m_DevinfoData, + &DevInstallParams) != 0); + } + return false; +} + +
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/De... ============================================================================== --- trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.cpp [iso-8859-1] Tue Jul 7 11:05:25 2015 @@ -19,6 +19,7 @@ #define CLASS_DESC_LEN 256 #define ROOT_NAME_SIZE MAX_COMPUTERNAME_LENGTH + 1
+extern "C" { INT_PTR WINAPI DevicePropertiesExW( @@ -28,7 +29,7 @@ IN DWORD dwFlags OPTIONAL, IN BOOL bShowDevMgr ); - +} typedef INT_PTR(WINAPI *pDevicePropertiesExW)(HWND,LPCWSTR,LPCWSTR,DWORD,BOOL);
struct RefreshThreadData @@ -214,7 +215,7 @@ // Node gets deleted on refresh so we copy it to another block size_t Length = wcslen(DeviceId) + 1; ThreadData->DeviceId = new WCHAR[Length]; - wcscpy_s(ThreadData->DeviceId, Length, DeviceId); + StringCbCopyW(ThreadData->DeviceId, Length, DeviceId); }
@@ -458,7 +459,6 @@ HTREEITEM hTreeItem = NULL; GUID ClassGuid; INT ClassIndex; - LPTSTR DeviceId = NULL; BOOL bClassSuccess, bSuccess;
// Start by adding the root node to the tree @@ -475,7 +475,7 @@ bool bClassUnknown = false; bool AddedParent = false; INT DeviceIndex = 0; - BOOL MoreItems; + bool MoreItems = false;
// Get the cached class node ClassNode = GetClassNode(&ClassGuid); @@ -500,11 +500,11 @@ DeviceIndex, &DeviceInfoData); if (bSuccess == FALSE && GetLastError() == ERROR_NO_MORE_ITEMS) - MoreItems = FALSE; + MoreItems = false;
if (bSuccess) { - MoreItems = TRUE; + MoreItems = true;
// The unknown class handle contains all devices on the system, // and we're just looking for the ones with a null GUID
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/Ma... ============================================================================== --- trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp [iso-8859-1] Tue Jul 7 11:05:25 2015 @@ -208,7 +208,7 @@ bool CMainWindow::RefreshView(ViewType Type) { - UINT CheckId; + UINT CheckId = 0; BOOL bSuccess;
// Refreshed the cached view @@ -312,7 +312,7 @@ return bRet; }
-void CMainWindow::UpdateToolbar(_In_ LPTV_ITEMW TvItem) +void CMainWindow::UpdateToolbar() { WORD State;
@@ -466,14 +466,12 @@ { case TVN_SELCHANGED: { - LPNMTREEVIEW NmTreeView = (LPNMTREEVIEW)lParam; - UpdateToolbar(&NmTreeView->itemNew); + UpdateToolbar(); break; }
case NM_DBLCLK: { - LPNMTREEVIEW NmTreeView = (LPNMTREEVIEW)lParam; m_DeviceView->DisplayPropertySheet(); break; } @@ -531,7 +529,7 @@
LRESULT CMainWindow::OnCommand(WPARAM wParam, - LPARAM lParam) + LPARAM /*lParam*/) { LRESULT RetCode = 0; WORD Msg; @@ -792,9 +790,9 @@
BOOL WINAPI -DeviceManager_ExecuteW(HWND hWndParent, +DeviceManager_ExecuteW(HWND /*hWndParent*/, HINSTANCE hInst, - LPCWSTR lpMachineName, + LPCWSTR /*lpMachineName*/, int nCmdShow) { CMainWindow MainWindow;
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/Ma... ============================================================================== --- trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h [iso-8859-1] Tue Jul 7 11:05:25 2015 @@ -46,7 +46,6 @@ bool CreateStatusBar();
void UpdateToolbar( - _In_ LPTV_ITEMW TvItem );
bool StatusBarLoadString(
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/Node.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/No... ============================================================================== --- trunk/reactos/dll/win32/devmgr/devmgmt/Node.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/devmgr/devmgmt/Node.cpp [iso-8859-1] Tue Jul 7 11:05:25 2015 @@ -2,7 +2,7 @@ * PROJECT: ReactOS Device Manager * LICENSE: GPL - See COPYING in the top level directory * FILE: dll/win32/devmgr/devmgr/node.cpp -* PURPOSE: Object for each device in the tree +* PURPOSE: Abstract base object for each node in the tree * COPYRIGHT: Copyright 2015 Ged Murphy gedmurphy@reactos.org * */
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/Node.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/No... ============================================================================== --- trunk/reactos/dll/win32/devmgr/devmgmt/Node.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/devmgr/devmgmt/Node.h [iso-8859-1] Tue Jul 7 11:05:25 2015 @@ -34,11 +34,6 @@ LPWSTR GetDisplayName() { return m_DisplayName; } INT GetClassImage() { return m_ClassImage; } LPWSTR GetDeviceId() { return m_DeviceId; } - bool HasProperties() { return (m_DeviceId != NULL); } - -private: - void Cleanup(); - };
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/RootNode.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/Ro... ============================================================================== --- trunk/reactos/dll/win32/devmgr/devmgmt/RootNode.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/devmgr/devmgmt/RootNode.cpp [iso-8859-1] Tue Jul 7 11:05:25 2015 @@ -53,7 +53,7 @@ // The root name is the computer name DWORD Size = DISPLAY_NAME_LEN; if (GetComputerNameW(m_DisplayName, &Size)) - _wcslwr_s(m_DisplayName); + _wcslwr(m_DisplayName);
return true;
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/stdafx.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/st... ============================================================================== --- trunk/reactos/dll/win32/devmgr/devmgmt/stdafx.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/devmgr/devmgmt/stdafx.h [iso-8859-1] Tue Jul 7 11:05:25 2015 @@ -1,6 +1,6 @@ #pragma once
-#ifndef __REACTOS___ +#ifndef __REACTOS__
#define WIN32_LEAN_AND_MEAN #include <Windows.h> @@ -13,16 +13,20 @@ #include <devguid.h> #include <process.h>
+ #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit #include <tchar.h> #include <atlbase.h> #include <atlstr.h> #include <atlcoll.h>
+#include <strsafe.h> #else
+#include <string.h> +#include <wchar.h> + #include <tchar.h> - #include <windef.h> #include <winbase.h> #include <winreg.h> @@ -33,18 +37,17 @@ #include <shlwapi.h> #include <strsafe.h> #include <process.h> - -#include <string.h> -#include <wchar.h> +#include <WindowsX.h> +#include <strsafe.h>
#include <setupapi.h> #include <commctrl.h> #include <cfgmgr32.h> #include <Uxtheme.h> +#include <devguid.h>
#include <atlbase.h> -#include <atlcom.h> -#include <atlwin.h> #include <atlstr.h> +#include <atlcoll.h>
#endif