- Implement device resource page

svn path=/trunk/; revision=61018
This commit is contained in:
Johannes Anderwald 2013-11-17 19:14:08 +00:00
parent 420e01f92d
commit 59897ac0a4
23 changed files with 691 additions and 82 deletions

View 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

View file

@ -31,70 +31,6 @@
#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

View file

@ -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;
}

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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 "צריכת חשמל"

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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
@ -65,6 +66,12 @@
#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