[DEVMGR]
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Sun, 17 Nov 2013 19:14:08 +0000 (19:14 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Sun, 17 Nov 2013 19:14:08 +0000 (19:14 +0000)
- Implement device resource page

svn path=/trunk/; revision=61018

23 files changed:
reactos/dll/win32/devmgr/CMakeLists.txt
reactos/dll/win32/devmgr/advprop.c
reactos/dll/win32/devmgr/hwresource.c [new file with mode: 0644]
reactos/dll/win32/devmgr/lang/bg-BG.rc
reactos/dll/win32/devmgr/lang/cs-CZ.rc
reactos/dll/win32/devmgr/lang/de-DE.rc
reactos/dll/win32/devmgr/lang/el-GR.rc
reactos/dll/win32/devmgr/lang/en-US.rc
reactos/dll/win32/devmgr/lang/es-ES.rc
reactos/dll/win32/devmgr/lang/fr-FR.rc
reactos/dll/win32/devmgr/lang/he-IL.rc
reactos/dll/win32/devmgr/lang/hu-HU.rc
reactos/dll/win32/devmgr/lang/id-ID.rc
reactos/dll/win32/devmgr/lang/it-IT.rc
reactos/dll/win32/devmgr/lang/no-NO.rc
reactos/dll/win32/devmgr/lang/pl-PL.rc
reactos/dll/win32/devmgr/lang/pt-BR.rc
reactos/dll/win32/devmgr/lang/ro-RO.rc
reactos/dll/win32/devmgr/lang/ru-RU.rc
reactos/dll/win32/devmgr/lang/sk-SK.rc
reactos/dll/win32/devmgr/lang/uk-UA.rc
reactos/dll/win32/devmgr/precomp.h
reactos/dll/win32/devmgr/resource.h

index ffe276b..bf31655 100644 (file)
@@ -6,6 +6,7 @@ list(APPEND SOURCE
     advprop.c
     devprblm.c
     hwpage.c
+    hwresource.c
     misc.c
     stubs.c
     ${CMAKE_CURRENT_BINARY_DIR}/devmgr_stubs.c
index 393120b..b3eaef9 100644 (file)
 #define NDEBUG
 #include <debug.h>
 
-typedef INT_PTR (WINAPI *PPROPERTYSHEETW)(LPCPROPSHEETHEADERW);
-typedef HPROPSHEETPAGE (WINAPI *PCREATEPROPERTYSHEETPAGEW)(LPCPROPSHEETPAGEW);
-typedef BOOL (WINAPI *PDESTROYPROPERTYSHEETPAGE)(HPROPSHEETPAGE);
-
-typedef struct _DEVADVPROP_INFO
-{
-    HWND hWndGeneralPage;
-    HWND hWndParent;
-    WNDPROC ParentOldWndProc;
-    HICON hDevIcon;
-
-    HDEVINFO DeviceInfoSet;
-    SP_DEVINFO_DATA DeviceInfoData;
-    HDEVINFO CurrentDeviceInfoSet;
-    SP_DEVINFO_DATA CurrentDeviceInfoData;
-    DEVINST ParentDevInst;
-    HMACHINE hMachine;
-    LPCWSTR lpMachineName;
-
-    HINSTANCE hComCtl32;
-    PCREATEPROPERTYSHEETPAGEW pCreatePropertySheetPageW;
-    PDESTROYPROPERTYSHEETPAGE pDestroyPropertySheetPage;
-
-    DWORD PropertySheetType;
-    DWORD nDevPropSheets;
-    HPROPSHEETPAGE *DevPropSheets;
-
-    union
-    {
-        UINT Flags;
-        struct
-        {
-            UINT Extended : 1;
-            UINT FreeDevPropSheets : 1;
-            UINT CanDisable : 1;
-            UINT DeviceStarted : 1;
-            UINT DeviceUsageChanged : 1;
-            UINT CloseDevInst : 1;
-            UINT IsAdmin : 1;
-            UINT DoDefaultDevAction : 1;
-            UINT PageInitialized : 1;
-            UINT ShowRemotePages : 1;
-            UINT HasDriverPage : 1;
-            UINT HasResourcePage : 1;
-            UINT HasPowerPage : 1;
-        };
-    };
-
-    WCHAR szDevName[255];
-    WCHAR szTemp[255];
-    WCHAR szDeviceID[1];
-    /* struct may be dynamically expanded here! */
-} DEVADVPROP_INFO, *PDEVADVPROP_INFO;
-
-
-typedef struct _ENUMDRIVERFILES_CONTEXT
-{
-    HWND hDriversListView;
-    UINT nCount;
-} ENUMDRIVERFILES_CONTEXT, *PENUMDRIVERFILES_CONTEXT;
-
-#define PM_INITIALIZE (WM_APP + 0x101)
-
-
 static UINT WINAPI
 EnumDeviceDriverFilesCallback(IN PVOID Context,
                               IN UINT Notification,
@@ -2070,6 +2006,9 @@ GetParentNode:
     if (dap->Extended)
         dap->nDevPropSheets++;
 
+    if (dap->HasResourcePage)
+        dap->nDevPropSheets++;
+
     /* add the device property sheets */
     if (dap->nDevPropSheets != 0)
     {
@@ -2167,10 +2106,33 @@ GetParentNode:
                         dap->DevPropSheets[iPage] = NULL;
                     }
                 }
-
-                /* FIXME: Add the resources page */
             }
 
+            if (dap->HasResourcePage)
+            {
+                PROPSHEETPAGE pspDriver = {0};
+                pspDriver.dwSize = sizeof(PROPSHEETPAGE);
+                pspDriver.dwFlags = PSP_DEFAULT;
+                pspDriver.hInstance = hDllInstance;
+                pspDriver.pszTemplate = (LPCWSTR)MAKEINTRESOURCE(IDD_DEVICERESOURCES);
+                pspDriver.pfnDlgProc = ResourcesProcDriverDlgProc;
+                pspDriver.lParam = (LPARAM)dap;
+                dap->DevPropSheets[iPage] = dap->pCreatePropertySheetPageW(&pspDriver);
+                if (dap->DevPropSheets[iPage] != NULL)
+                {
+                    if (PropSheet_AddPage(hPropSheetDlg,
+                                          dap->DevPropSheets[iPage]))
+                    {
+                        iPage++;
+                        RecalcPages = TRUE;
+                    }
+                    else
+                    {
+                        dap->pDestroyPropertySheetPage(dap->DevPropSheets[iPage]);
+                        dap->DevPropSheets[iPage] = NULL;
+                    }
+                }
+            }
             /* FIXME: Add the power page */
         }
         else
diff --git a/reactos/dll/win32/devmgr/hwresource.c b/reactos/dll/win32/devmgr/hwresource.c
new file mode 100644 (file)
index 0000000..c78696b
--- /dev/null
@@ -0,0 +1,385 @@
+/*
+ * PROJECT:         ReactOS devmgr.dll
+ * FILE:            dll/win32/devmgr/hwresource.c
+ * PURPOSE:         ReactOS Device Manager
+ * PROGRAMMER:      Johannes Anderwald <johannes.anderwald@reactos.org>
+ * UPDATE HISTORY:
+ *      2005/11/24  Created
+ */
+#include "precomp.h"
+
+
+#define NDEBUG
+#include <debug.h>
+
+typedef struct
+{
+    HWND hWnd;
+    HWND hWndDevList;
+
+
+}HARDWARE_RESOURCE_DATA, *PHARDWARE_RESOURCE_DATA;
+
+/* Physical Addresses are always treated as 64-bit wide */
+typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;
+
+#include <pshpack4.h>
+typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
+  UCHAR Type;
+  UCHAR ShareDisposition;
+  USHORT Flags;
+  union {
+    struct {
+      PHYSICAL_ADDRESS Start;
+      ULONG Length;
+    } Generic;
+    struct {
+      PHYSICAL_ADDRESS Start;
+      ULONG Length;
+    } Port;
+    struct {
+#if defined(NT_PROCESSOR_GROUPS)
+      USHORT Level;
+      USHORT Group;
+#else
+      ULONG Level;
+#endif
+      ULONG Vector;
+      KAFFINITY Affinity;
+    } Interrupt;
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
+    struct {
+      _ANONYMOUS_UNION union {
+        struct {
+#if defined(NT_PROCESSOR_GROUPS)
+          USHORT Group;
+#else
+          USHORT Reserved;
+#endif
+          USHORT MessageCount;
+          ULONG Vector;
+          KAFFINITY Affinity;
+        } Raw;
+        struct {
+#if defined(NT_PROCESSOR_GROUPS)
+          USHORT Level;
+          USHORT Group;
+#else
+          ULONG Level;
+#endif
+          ULONG Vector;
+          KAFFINITY Affinity;
+        } Translated;
+      } DUMMYUNIONNAME;
+    } MessageInterrupt;
+#endif
+    struct {
+      PHYSICAL_ADDRESS Start;
+      ULONG Length;
+    } Memory;
+    struct {
+      ULONG Channel;
+      ULONG Port;
+      ULONG Reserved1;
+    } Dma;
+    struct {
+      ULONG Data[3];
+    } DevicePrivate;
+    struct {
+      ULONG Start;
+      ULONG Length;
+      ULONG Reserved;
+    } BusNumber;
+    struct {
+      ULONG DataSize;
+      ULONG Reserved1;
+      ULONG Reserved2;
+    } DeviceSpecificData;
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
+    struct {
+      PHYSICAL_ADDRESS Start;
+      ULONG Length40;
+    } Memory40;
+    struct {
+      PHYSICAL_ADDRESS Start;
+      ULONG Length48;
+    } Memory48;
+    struct {
+      PHYSICAL_ADDRESS Start;
+      ULONG Length64;
+    } Memory64;
+#endif
+  } u;
+} CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR;
+#include <poppack.h>
+typedef struct _CM_PARTIAL_RESOURCE_LIST {
+  USHORT Version;
+  USHORT Revision;
+  ULONG Count;
+  CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];
+} CM_PARTIAL_RESOURCE_LIST, *PCM_PARTIAL_RESOURCE_LIST;
+
+#define CmResourceTypeNull              0
+#define CmResourceTypePort              1
+#define CmResourceTypeInterrupt         2
+#define CmResourceTypeMemory            3
+#define CmResourceTypeDma               4
+#define CmResourceTypeDeviceSpecific    5
+#define CmResourceTypeBusNumber         6
+#define CmResourceTypeNonArbitrated     128
+#define CmResourceTypeConfigData        128
+#define CmResourceTypeDevicePrivate     129
+#define CmResourceTypePcCardConfig      130
+#define CmResourceTypeMfCardConfig      131
+
+typedef enum _INTERFACE_TYPE {
+  InterfaceTypeUndefined = -1,
+  Internal,
+  Isa,
+  Eisa,
+  MicroChannel,
+  TurboChannel,
+  PCIBus,
+  VMEBus,
+  NuBus,
+  PCMCIABus,
+  CBus,
+  MPIBus,
+  MPSABus,
+  ProcessorInternal,
+  InternalPowerBus,
+  PNPISABus,
+  PNPBus,
+  Vmcs,
+  MaximumInterfaceType
+} INTERFACE_TYPE, *PINTERFACE_TYPE;
+
+typedef struct _CM_FULL_RESOURCE_DESCRIPTOR {
+  INTERFACE_TYPE InterfaceType;
+  ULONG BusNumber;
+  CM_PARTIAL_RESOURCE_LIST PartialResourceList;
+} CM_FULL_RESOURCE_DESCRIPTOR, *PCM_FULL_RESOURCE_DESCRIPTOR;
+
+typedef struct _CM_RESOURCE_LIST {
+  ULONG                       Count;
+  CM_FULL_RESOURCE_DESCRIPTOR List[1];
+} CM_RESOURCE_LIST, *PCM_RESOURCE_LIST;
+
+
+#define CX_TYPECOLUMN_WIDTH 120
+
+static VOID
+InitializeDevicesList(
+    IN HWND hWndDevList)
+{
+    LVCOLUMN lvc;
+    RECT rcClient;
+    WCHAR szColName[255];
+    int iCol = 0;
+
+    /* set the list view style */
+    (void)ListView_SetExtendedListViewStyle(hWndDevList,
+                                            LVS_EX_FULLROWSELECT);
+
+    GetClientRect(hWndDevList,
+                  &rcClient);
+
+    /* add the list view columns */
+    lvc.mask = LVCF_TEXT | LVCF_WIDTH;
+    lvc.fmt = LVCFMT_LEFT;
+    lvc.pszText = szColName;
+
+    if (LoadString(hDllInstance,
+                   IDS_RESOURCE_COLUMN,
+                   szColName,
+                   sizeof(szColName) / sizeof(szColName[0])))
+    {
+        lvc.cx = CX_TYPECOLUMN_WIDTH;
+        (void)ListView_InsertColumn(hWndDevList,
+                                    iCol++,
+                                    &lvc);
+    }
+    if (LoadString(hDllInstance,
+                   IDS_SETTING_COLUMN,
+                   szColName,
+                   sizeof(szColName) / sizeof(szColName[0])))
+    {
+        lvc.cx = rcClient.right - CX_TYPECOLUMN_WIDTH -
+                 GetSystemMetrics(SM_CXVSCROLL);
+
+        (void)ListView_InsertColumn(hWndDevList,
+                                    iCol++,
+                                    &lvc);
+    }
+}
+
+VOID
+InsertListItem(
+    IN HWND hWndDevList,
+    IN INT ItemCount,
+    IN LPWSTR ResourceType,
+    IN LPWSTR ResourceDescription)
+{
+    INT iItem;
+    LVITEM li = {0};
+
+    li.mask = LVIF_STATE | LVIF_TEXT;
+    li.iItem = ItemCount;
+    li.pszText = ResourceType;
+    //li.iImage = ClassDevInfo->ImageIndex;
+    iItem = ListView_InsertItem(hWndDevList, &li);
+
+    if (iItem != -1)
+    {
+        li.mask = LVIF_TEXT;
+        li.iItem = iItem;
+        li.iSubItem = 1;
+        li.pszText = ResourceDescription;
+        (void)ListView_SetItem(hWndDevList, &li);
+    }
+}
+
+VOID
+AddResourceItems(
+    IN PDEVADVPROP_INFO dap,
+    IN HWND hWndDevList)
+{
+    HKEY hKey;
+    WCHAR szBuffer[100];
+    WCHAR szDetail[100];
+    BYTE szData[512];
+    DWORD dwSize;
+    PCM_RESOURCE_LIST ResourceList;
+    LONG Result;
+    INT ItemCount = 0, Index = 0;
+
+    wsprintf(szBuffer, L"SYSTEM\\CurrentControlSet\\Enum\\%s\\LogConf", dap->szDeviceID);
+    Result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, szBuffer, 0, KEY_READ, &hKey);
+    if (Result != ERROR_SUCCESS)
+    {
+        /* failed to open device instance log conf dir */
+        return;
+    }
+
+    dwSize = sizeof(szData);
+    Result = RegQueryValueExW(hKey, L"BootConfig", NULL, NULL, szData, &dwSize);
+
+    RegCloseKey(hKey);
+    if (Result != ERROR_SUCCESS)
+    {
+        /* failed to query resources */
+        return;
+    }
+
+    ResourceList = (PCM_RESOURCE_LIST)szData;
+
+    do
+    {
+         PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor = (PCM_PARTIAL_RESOURCE_DESCRIPTOR)&ResourceList->List[0].PartialResourceList.PartialDescriptors[ItemCount];
+         if (Descriptor->Type == CmResourceTypeInterrupt)
+         {
+             if (LoadString(hDllInstance, IDS_RESOURCE_INTERRUPT, szBuffer, sizeof(szBuffer) / sizeof(szBuffer[0])))
+             {
+                 wsprintf(szDetail, L"0x%08x(%d)", Descriptor->u.Interrupt.Level, Descriptor->u.Interrupt.Vector);
+                 InsertListItem(hWndDevList, ItemCount, szBuffer, szDetail);
+                 ItemCount++;
+             }
+         }
+         else if (Descriptor->Type == CmResourceTypePort)
+         {
+             if (LoadString(hDllInstance, IDS_RESOURCE_PORT, szBuffer, sizeof(szBuffer) / sizeof(szBuffer[0])))
+             {
+                 wsprintf(szDetail, L"%08lx - %08lx", Descriptor->u.Port.Start.LowPart, Descriptor->u.Port.Start.LowPart + Descriptor->u.Port.Length - 1);
+                 InsertListItem(hWndDevList, ItemCount, szBuffer, szDetail);
+                 ItemCount++;
+             }
+         }
+         else if (Descriptor->Type == CmResourceTypeMemory)
+         {
+             if (LoadString(hDllInstance, IDS_RESOURCE_MEMORY_RANGE, szBuffer, sizeof(szBuffer) / sizeof(szBuffer[0])))
+             {
+                 wsprintf(szDetail, L"%08lx - %08lx", Descriptor->u.Memory.Start, Descriptor->u.Memory.Start.LowPart + Descriptor->u.Memory.Length - 1);
+                 InsertListItem(hWndDevList, ItemCount, szBuffer, szDetail);
+                 ItemCount++;
+             }
+         }
+         else if (Descriptor->Type == CmResourceTypeDma)
+         {
+             if (LoadString(hDllInstance, IDS_RESOURCE_DMA, szBuffer, sizeof(szBuffer) / sizeof(szBuffer[0])))
+             {
+                 wsprintf(szDetail, L"%08ld", Descriptor->u.Dma.Channel);
+                 InsertListItem(hWndDevList, ItemCount, szBuffer, szDetail);
+                 ItemCount++;
+             }
+         }
+
+         Index++;
+    }while(Index <= ResourceList->List[0].PartialResourceList.Count);
+}
+
+
+static VOID
+UpdateDriverResourceDlg(IN HWND hwndDlg,
+                        IN PDEVADVPROP_INFO dap)
+{
+    /* set the device image */
+    SendDlgItemMessage(hwndDlg,
+                       IDC_DEVICON,
+                       STM_SETICON,
+                       (WPARAM)dap->hDevIcon,
+                       0);
+
+    /* set the device name edit control text */
+    SetDlgItemText(hwndDlg,
+                   IDC_DEVNAME,
+                   dap->szDevName);
+}
+
+INT_PTR
+CALLBACK
+ResourcesProcDriverDlgProc(IN HWND hwndDlg,
+                     IN UINT uMsg,
+                     IN WPARAM wParam,
+                     IN LPARAM lParam)
+{
+    PDEVADVPROP_INFO hpd;
+    HWND hWndDevList;
+    INT_PTR Ret = FALSE;
+
+    hpd = (PDEVADVPROP_INFO)GetWindowLongPtr(hwndDlg,
+                                                DWL_USER);
+
+    if (hpd != NULL || uMsg == WM_INITDIALOG)
+    {
+        switch (uMsg)
+        {
+            case WM_INITDIALOG:
+            {
+                /* init list */
+                hWndDevList = GetDlgItem(hwndDlg, IDC_DRIVERRESOURCES);
+                InitializeDevicesList(hWndDevList);
+
+                hpd = (PDEVADVPROP_INFO)((LPPROPSHEETPAGE)lParam)->lParam;
+                if (hpd != NULL)
+                {
+                    SetWindowLongPtr(hwndDlg,
+                                     DWL_USER,
+                                     (DWORD_PTR)hpd);
+
+                    SetWindowLongPtr(hwndDlg,
+                                     DWL_USER,
+                                     (DWORD_PTR)hpd);
+
+                    UpdateDriverResourceDlg(hwndDlg, hpd);
+                    AddResourceItems(hpd, hWndDevList);
+                }
+
+                Ret = TRUE;
+                break;
+            }
+        }
+    }
+
+    return Ret;
+}
+
index 9099328..1ca5971 100644 (file)
@@ -27,6 +27,12 @@ BEGIN
     IDS_NOTAVAILABLE "Неналично"
     IDS_NOTDIGITALLYSIGNED "Без цифров подпис"
     IDS_NODRIVERS "Не са нужни или не са заредени водачи за това устройство."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -216,11 +222,15 @@ END
 
 IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Ресурси"
+CAPTION "Resources"
 FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index 46acc8e..ad280f4 100644 (file)
@@ -1,4 +1,4 @@
-/* FILE:        dll/win32/devmgr/lang/cs-CZ.rc
+/* FILE:        dll/win32/devmgr/lang/cs-CZ.rc
  * TRANSLATOR:  Radek Liska aka Black_Fox (radekliska at gmail dot com)
  * UPDATED:     2013-06-01
  */
@@ -30,6 +30,12 @@ BEGIN
     IDS_NOTAVAILABLE "Není dostupné"
     IDS_NOTDIGITALLYSIGNED "Není digitálně podepsáno"
     IDS_NODRIVERS "Pro toto zařízení nejsou vyžadovány nebo nebyly načteny žádné soubory ovladačů."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* puvodni anglicke error messages prevzaty z: http://www.z123.org/techsupport/medm.htm */
@@ -217,11 +223,15 @@ END
 
 IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Prostředky"
+CAPTION "Resources"
 FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index 48f2dac..2b3ac20 100644 (file)
@@ -28,6 +28,12 @@ BEGIN
     IDS_NOTAVAILABLE "Nicht verfügbar"
     IDS_NOTDIGITALLYSIGNED "Nicht digital signiert"
     IDS_NODRIVERS "Es werden keine Treiber für dieses Gerät benötigt oder es wurden keine Treiber geladen."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -215,11 +221,15 @@ END
 
 IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Ressourcen"
+CAPTION "Resources"
 FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index e2dc1ba..edb5fdb 100644 (file)
@@ -27,6 +27,12 @@ BEGIN
     IDS_NOTAVAILABLE "Μη διαθέσιμο"
     IDS_NOTDIGITALLYSIGNED "Not digitally signed"
     IDS_NODRIVERS "No driver files are required or have been loaded for this device."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -219,6 +225,10 @@ FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index 987c9bc..9de9989 100644 (file)
@@ -1,5 +1,6 @@
 // English language resource file (Sebastian Gasiorek, 2005-11-13)
 
+
 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 
 STRINGTABLE
@@ -27,6 +28,12 @@ BEGIN
     IDS_NOTAVAILABLE "Not available"
     IDS_NOTDIGITALLYSIGNED "Not digitally signed"
     IDS_NODRIVERS "No driver files are required or have been loaded for this device."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -220,6 +227,10 @@ FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index 66f1c8b..8b98a5a 100644 (file)
@@ -28,6 +28,12 @@ BEGIN
     IDS_NOTAVAILABLE "No disponible"
     IDS_NOTDIGITALLYSIGNED "Sin Firma Digital"
     IDS_NODRIVERS "Los controladores para este dispositivo o no son necesarios o ya han sido cargados."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -215,11 +221,15 @@ END
 
 IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Recursos"
+CAPTION "Resources"
 FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index ee99922..8c9e501 100644 (file)
@@ -27,6 +27,12 @@ BEGIN
     IDS_NOTAVAILABLE "Non disponible"
     IDS_NOTDIGITALLYSIGNED "Non signé numériquement"
     IDS_NODRIVERS "Aucun fichier n'est requis ou n'a été chargé pour ce matériel."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 STRINGTABLE
@@ -218,6 +224,10 @@ FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index 676978d..1ca72ce 100644 (file)
@@ -1,4 +1,4 @@
-// Hebrew language resource file by Baruch Rutman
+// Hebrew language resource file by Baruch Rutman
 
 LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
 
@@ -27,6 +27,12 @@ BEGIN
     IDS_NOTAVAILABLE "לא זמין"
     IDS_NOTDIGITALLYSIGNED "לא חתום דיגיטלית"
     IDS_NODRIVERS "קבצי מנהל ההתקן עבור התקן זה אינם דרושים ולא נטענו."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -215,13 +221,16 @@ END
 
 IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "משאבים"
+CAPTION "Resources"
 FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
-
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "צריכת חשמל"
index 45089da..389372e 100644 (file)
@@ -27,6 +27,12 @@ BEGIN
     IDS_NOTAVAILABLE "Not available"
     IDS_NOTDIGITALLYSIGNED "Not digitally signed"
     IDS_NODRIVERS "No driver files are required or have been loaded for this device."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 STRINGTABLE
@@ -218,6 +224,10 @@ FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index 86bf29e..ce464f3 100644 (file)
@@ -27,6 +27,12 @@ BEGIN
     IDS_NOTAVAILABLE "Tidak tersedia"
     IDS_NOTDIGITALLYSIGNED "Tidak ditandatangan secara digital"
     IDS_NODRIVERS "File driver tidak diperlukan atau sudah diambil untuk device ini."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -219,6 +225,10 @@ FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index abfb715..1210376 100644 (file)
@@ -1,4 +1,4 @@
-// Italian language resource file (Paolo Devoti, devotip@tiscali.it, 2007-01-10)
+// Italian language resource file (Paolo Devoti, devotip@tiscali.it, 2007-01-10)
 
 LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
 
@@ -27,6 +27,12 @@ BEGIN
     IDS_NOTAVAILABLE "Non disponibile"
     IDS_NOTDIGITALLYSIGNED "Manca la firma digitale"
     IDS_NODRIVERS "Nessun driver è necessario o è stato caricato per questo dispositivo."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -214,11 +220,15 @@ END
 
 IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Risorse"
+CAPTION "Resources"
 FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index 4f4e278..a9d1d4e 100644 (file)
@@ -27,6 +27,12 @@ BEGIN
     IDS_NOTAVAILABLE "Ikke tilgjengelig"
     IDS_NOTDIGITALLYSIGNED "ikke digital signert"
     IDS_NODRIVERS " Ingen driver filer trengs eller har blitt lastet for denne enheten."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -219,6 +225,10 @@ FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index f657214..f9f01e9 100644 (file)
@@ -35,6 +35,12 @@ BEGIN
     IDS_NOTAVAILABLE "Niedostępne"
     IDS_NOTDIGITALLYSIGNED "Niepodpisany cyfrowo"
     IDS_NODRIVERS "Żadne pliki sterownika nie są potrzebne albo nie zostały załadowane dla tego urządzenia."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -222,11 +228,15 @@ END
 
 IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Zasoby"
+CAPTION "Resources"
 FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index 7fecad4..3915bcb 100644 (file)
@@ -27,6 +27,12 @@ BEGIN
     IDS_NOTAVAILABLE "Não disponível"
     IDS_NOTDIGITALLYSIGNED "Sem assinatura digital"
     IDS_NODRIVERS "Nenhum arquivo de driver é necessário ou foi carregado para este dispositivo."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -219,6 +225,10 @@ FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index 22345c5..de8460c 100644 (file)
@@ -28,6 +28,12 @@ BEGIN
     IDS_NOTAVAILABLE        "Indisponibil"
     IDS_NOTDIGITALLYSIGNED  "Nesemnat digital"
     IDS_NODRIVERS           "Fie nu sunt necesare module pilot, fie nu a fost încărcat niciunul."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -215,11 +221,15 @@ END
 
 IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Resurse"
+CAPTION "Resources"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    ICON   "", IDC_DEVICON, 7, 7, 20, 20
-    LTEXT  "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    ICON "", IDC_DEVICON, 7, 7, 20, 20
+    LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index dcc2184..aabe601 100644 (file)
@@ -25,6 +25,12 @@ BEGIN
     IDS_NOTAVAILABLE "Недоступно"
     IDS_NOTDIGITALLYSIGNED "Нет цифровой подписи"
     IDS_NODRIVERS "Файлы драйверов для этого устройства не установлены или не были загружены."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -212,11 +218,15 @@ END
 
 IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Ресурсы"
+CAPTION "Resources"
 FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index 8cc138c..a1434ba 100644 (file)
@@ -30,6 +30,12 @@ BEGIN
     IDS_NOTAVAILABLE "Nie je k dispozícii" //Not available
     IDS_NOTDIGITALLYSIGNED "Digitálne nepodpísaný"
     IDS_NODRIVERS "No driver files are required or have been loaded for this device."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -222,6 +228,10 @@ FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index ced932e..f98ddb7 100644 (file)
@@ -33,6 +33,12 @@ BEGIN
     IDS_NOTAVAILABLE "Недоступно"
     IDS_NOTDIGITALLYSIGNED "Немає цифрового підпису"
     IDS_NODRIVERS "Файли драйверів для цього пристрою не потрібні або не були завантажені."
+    IDS_RESOURCE_COLUMN "Resource type"
+    IDS_SETTING_COLUMN "Setting"
+    IDS_RESOURCE_MEMORY_RANGE "Memory range"
+    IDS_RESOURCE_INTERRUPT "IRQ"
+    IDS_RESOURCE_DMA "DMA"
+    IDS_RESOURCE_PORT "E/A range"
 END
 
 /* error messages, source: http://www.z123.org/techsupport/medm.htm */
@@ -220,11 +226,15 @@ END
 
 IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Ресурси"
+CAPTION "Resources"
 FONT 8, "MS Shell Dlg"
 BEGIN
     ICON "", IDC_DEVICON, 7, 7, 20, 20
     LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+    LTEXT "Resource settings:", -1, 7, 36, 204, 8
+    CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT | 
+            LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+            LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
 END
 
 IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
index f403bf5..a69fc8f 100644 (file)
@@ -19,6 +19,80 @@ extern HINSTANCE hDllInstance;
 
 ULONG DbgPrint(PCCH Format,...);
 
+typedef INT_PTR (WINAPI *PPROPERTYSHEETW)(LPCPROPSHEETHEADERW);
+typedef HPROPSHEETPAGE (WINAPI *PCREATEPROPERTYSHEETPAGEW)(LPCPROPSHEETPAGEW);
+typedef BOOL (WINAPI *PDESTROYPROPERTYSHEETPAGE)(HPROPSHEETPAGE);
+
+typedef struct _DEVADVPROP_INFO
+{
+    HWND hWndGeneralPage;
+    HWND hWndParent;
+    WNDPROC ParentOldWndProc;
+    HICON hDevIcon;
+
+    HDEVINFO DeviceInfoSet;
+    SP_DEVINFO_DATA DeviceInfoData;
+    HDEVINFO CurrentDeviceInfoSet;
+    SP_DEVINFO_DATA CurrentDeviceInfoData;
+    DEVINST ParentDevInst;
+    HMACHINE hMachine;
+    LPCWSTR lpMachineName;
+
+    HINSTANCE hComCtl32;
+    PCREATEPROPERTYSHEETPAGEW pCreatePropertySheetPageW;
+    PDESTROYPROPERTYSHEETPAGE pDestroyPropertySheetPage;
+
+    DWORD PropertySheetType;
+    DWORD nDevPropSheets;
+    HPROPSHEETPAGE *DevPropSheets;
+
+    union
+    {
+        UINT Flags;
+        struct
+        {
+            UINT Extended : 1;
+            UINT FreeDevPropSheets : 1;
+            UINT CanDisable : 1;
+            UINT DeviceStarted : 1;
+            UINT DeviceUsageChanged : 1;
+            UINT CloseDevInst : 1;
+            UINT IsAdmin : 1;
+            UINT DoDefaultDevAction : 1;
+            UINT PageInitialized : 1;
+            UINT ShowRemotePages : 1;
+            UINT HasDriverPage : 1;
+            UINT HasResourcePage : 1;
+            UINT HasPowerPage : 1;
+        };
+    };
+
+    WCHAR szDevName[255];
+    WCHAR szTemp[255];
+    WCHAR szDeviceID[1];
+    /* struct may be dynamically expanded here! */
+} DEVADVPROP_INFO, *PDEVADVPROP_INFO;
+
+
+typedef struct _ENUMDRIVERFILES_CONTEXT
+{
+    HWND hDriversListView;
+    UINT nCount;
+} ENUMDRIVERFILES_CONTEXT, *PENUMDRIVERFILES_CONTEXT;
+
+#define PM_INITIALIZE (WM_APP + 0x101)
+
+
+
+/* HWRESOURCE.C */
+
+INT_PTR
+CALLBACK
+ResourcesProcDriverDlgProc(IN HWND hwndDlg,
+                     IN UINT uMsg,
+                     IN WPARAM wParam,
+                     IN LPARAM lParam);
+
 /* ADVPROP.C */
 
 INT_PTR
index a2b2039..5f21c51 100644 (file)
@@ -41,6 +41,7 @@
 #define IDC_DETAILSPROPNAME    0x596
 #define IDC_DETAILSPROPVALUE   0x597
 #define IDC_UPDATEDRIVER       0x598
+#define IDC_DRIVERRESOURCES 0x599
 
 #define IDS_NAME               0x100
 #define IDS_TYPE               0x101
 #define IDS_NOTAVAILABLE       0x114
 #define IDS_NOTDIGITALLYSIGNED 0x115
 #define IDS_NODRIVERS          0x116
+#define IDS_RESOURCE_COLUMN 0x117
+#define IDS_SETTING_COLUMN 0x118
+#define IDS_RESOURCE_MEMORY_RANGE 0x119
+#define IDS_RESOURCE_INTERRUPT 0x11A
+#define IDS_RESOURCE_DMA 0x11B
+#define IDS_RESOURCE_PORT 0x11C
 
 #define IDS_DEV_NO_PROBLEM                     0x200
 #define IDS_DEV_NOT_CONFIGURED                 0x201