You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
wbemdisp-Printer: Rename patchset to wbemprox-Printer.
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
From 777d2b61b1104cf2192f6da4c04e7a42d7637561 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 27 May 2016 22:32:23 +0200
|
||||
Subject: wbemprox: Provide DeviceID, Location and PortName for printers.
|
||||
|
||||
---
|
||||
dlls/wbemprox/builtin.c | 18 +++++++++++++++++-
|
||||
1 file changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
|
||||
index 14e819e5373..c83e7db499a 100644
|
||||
--- a/dlls/wbemprox/builtin.c
|
||||
+++ b/dlls/wbemprox/builtin.c
|
||||
@@ -241,6 +241,8 @@ static const WCHAR prop_localdatetimeW[] =
|
||||
{'L','o','c','a','l','D','a','t','e','T','i','m','e',0};
|
||||
static const WCHAR prop_localeW[] =
|
||||
{'L','o','c','a','l','e',0};
|
||||
+static const WCHAR prop_locationW[] =
|
||||
+ {'L','o','c','a','t','i','o','n',0};
|
||||
static const WCHAR prop_lockpresentW[] =
|
||||
{'L','o','c','k','P','r','e','s','e','n','t',0};
|
||||
static const WCHAR prop_macaddressW[] =
|
||||
@@ -285,6 +287,8 @@ static const WCHAR prop_pixelsperxlogicalinchW[] =
|
||||
{'P','i','x','e','l','s','P','e','r','X','L','o','g','i','c','a','l','I','n','c','h',0};
|
||||
static const WCHAR prop_pnpdeviceidW[] =
|
||||
{'P','N','P','D','e','v','i','c','e','I','D',0};
|
||||
+static const WCHAR prop_portnameW[] =
|
||||
+ {'P','o','r','t','N','a','m','e',0};
|
||||
static const WCHAR prop_pprocessidW[] =
|
||||
{'P','a','r','e','n','t','P','r','o','c','e','s','s','I','D',0};
|
||||
static const WCHAR prop_primaryW[] =
|
||||
@@ -553,7 +557,10 @@ static const struct column col_printer[] =
|
||||
{ prop_horizontalresolutionW, CIM_UINT32 },
|
||||
{ prop_localW, CIM_BOOLEAN },
|
||||
{ prop_nameW, CIM_STRING|COL_FLAG_DYNAMIC },
|
||||
- { prop_networkW, CIM_BOOLEAN }
|
||||
+ { prop_networkW, CIM_BOOLEAN },
|
||||
+ { prop_deviceidW, CIM_STRING|COL_FLAG_DYNAMIC|COL_FLAG_KEY },
|
||||
+ { prop_portnameW, CIM_STRING|COL_FLAG_DYNAMIC },
|
||||
+ { prop_locationW, CIM_STRING|COL_FLAG_DYNAMIC },
|
||||
};
|
||||
static const struct column col_process[] =
|
||||
{
|
||||
@@ -938,6 +945,9 @@ struct record_printer
|
||||
int local;
|
||||
const WCHAR *name;
|
||||
int network;
|
||||
+ const WCHAR *device_id;
|
||||
+ const WCHAR *portname;
|
||||
+ const WCHAR *location;
|
||||
};
|
||||
struct record_process
|
||||
{
|
||||
@@ -2347,10 +2357,12 @@ static enum fill_status fill_physicalmemory( struct table *table, const struct e
|
||||
|
||||
static enum fill_status fill_printer( struct table *table, const struct expr *cond )
|
||||
{
|
||||
+ static const WCHAR fmtW[] = {'P','r','i','n','t','e','r','%','d',0};
|
||||
struct record_printer *rec;
|
||||
enum fill_status status = FILL_STATUS_UNFILTERED;
|
||||
PRINTER_INFO_2W *info;
|
||||
DWORD i, offset = 0, count = 0, size = 0, num_rows = 0;
|
||||
+ WCHAR id[20];
|
||||
|
||||
EnumPrintersW( PRINTER_ENUM_LOCAL, NULL, 2, NULL, 0, &size, &count );
|
||||
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) return FILL_STATUS_FAILED;
|
||||
@@ -2376,6 +2388,10 @@ static enum fill_status fill_printer( struct table *table, const struct expr *co
|
||||
rec->local = -1;
|
||||
rec->name = heap_strdupW( info[i].pPrinterName );
|
||||
rec->network = 0;
|
||||
+ sprintfW( id, fmtW, i );
|
||||
+ rec->device_id = heap_strdupW( id );
|
||||
+ rec->portname = heap_strdupW( info[i].pPortName );
|
||||
+ rec->location = heap_strdupW( info[i].pLocation );
|
||||
if (!match_row( table, i, cond, &status ))
|
||||
{
|
||||
free_row_values( table, i );
|
||||
--
|
||||
2.11.0
|
||||
|
2
patches/wbemprox-Printer/definition
Normal file
2
patches/wbemprox-Printer/definition
Normal file
@@ -0,0 +1,2 @@
|
||||
Fixes: [40539] Provide DeviceID, Location and PortName for printers
|
||||
Depends: wbemprox-fill_processor
|
Reference in New Issue
Block a user