diff options
author | Jean-François Micouleau <jfm@samba.org> | 2000-09-16 10:07:46 +0000 |
---|---|---|
committer | Jean-François Micouleau <jfm@samba.org> | 2000-09-16 10:07:46 +0000 |
commit | a2c82976b86cbdddbf9f7cb08f5d461c6cde86c6 (patch) | |
tree | 15339e3cdae46e774ce18e209d669669457b3bf7 | |
parent | 244c29619965779d1076ea47d84d0d7edf3bef2d (diff) | |
download | samba-a2c82976b86cbdddbf9f7cb08f5d461c6cde86c6.tar.gz samba-a2c82976b86cbdddbf9f7cb08f5d461c6cde86c6.tar.bz2 samba-a2c82976b86cbdddbf9f7cb08f5d461c6cde86c6.zip |
in a printer_info_6, driver version is 64 bits long and there is a 32 bit
padding before.
J.F.
(This used to be commit cd41d7a35477accec1a82b86f9fa3477e5a49d6e)
-rwxr-xr-x | source3/include/rpc_spoolss.h | 6 | ||||
-rw-r--r-- | source3/rpc_parse/parse_spoolss.c | 12 | ||||
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 7 |
3 files changed, 21 insertions, 4 deletions
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h index 43e81914d0..61b20c36c8 100755 --- a/source3/include/rpc_spoolss.h +++ b/source3/include/rpc_spoolss.h @@ -53,7 +53,6 @@ #define SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION 0x36 #define SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION 0x37 #define SPOOLSS_ROUTERFINDFIRSTPRINTERNOTIFICATIONOLD 0x39 -#define SPOOLSS_REPLYOPENPRINTER 0x3a #define SPOOLSS_ROUTERREPLYPRINTER 0x3b #define SPOOLSS_REPLYCLOSEPRINTER 0x3c #define SPOOLSS_ADDPORTEX 0x3d @@ -99,6 +98,7 @@ #define SPOOLSS_GETPRINTERDRIVER2 0x35 /* find close printer notification */ #define SPOOLSS_FCPN 0x38 +#define SPOOLSS_REPLYOPENPRINTER 0x3a /* remote find first printer change notifyEx */ #define SPOOLSS_RFFPCNEX 0x41 /* remote find next printer change notifyEx */ @@ -918,7 +918,9 @@ typedef struct driver_info_6 UNISTR defaultdatatype; uint16* previousdrivernames; NTTIME driver_date; - uint32 driver_version; + uint32 padding; + uint32 driver_version_low; + uint32 driver_version_high; UNISTR mfgname; UNISTR oem_url; UNISTR hardware_id; diff --git a/source3/rpc_parse/parse_spoolss.c b/source3/rpc_parse/parse_spoolss.c index bd4ce43836..b9c5ea5daa 100644 --- a/source3/rpc_parse/parse_spoolss.c +++ b/source3/rpc_parse/parse_spoolss.c @@ -2283,7 +2283,13 @@ BOOL new_smb_io_printer_driver_info_6(char *desc, NEW_BUFFER *buffer, DRIVER_INF if (!prs_uint32("date.high", ps, depth, &info->driver_date.high)) return False; - if (!prs_uint32("driver_version", ps, depth, &info->driver_version)) + if (!prs_uint32("padding", ps, depth, &info->padding)) + return False; + + if (!prs_uint32("driver_version_low", ps, depth, &info->driver_version_low)) + return False; + + if (!prs_uint32("driver_version_high", ps, depth, &info->driver_version_high)) return False; if (!new_smb_io_relstr("mfgname", buffer, depth, &info->mfgname)) @@ -2908,7 +2914,9 @@ uint32 spoolss_size_printer_driver_info_6(DRIVER_INFO_6 *info) size+=spoolss_size_string_array(info->previousdrivernames); size+=size_of_nttime(&info->driver_date); - size+=size_of_uint32( &info->driver_version ); + size+=size_of_uint32( &info->padding ); + size+=size_of_uint32( &info->driver_version_low ); + size+=size_of_uint32( &info->driver_version_high ); size+=size_of_relative_string( &info->mfgname ); size+=size_of_relative_string( &info->oem_url ); size+=size_of_relative_string( &info->hardware_id ); diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index c22767c43a..0430563629 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -2753,6 +2753,13 @@ static void fill_printer_driver_info_6(DRIVER_INFO_6 *info, NT_PRINTER_DRIVER_IN info->previousdrivernames=NULL; init_unistr_array(&info->previousdrivernames, &nullstr, servername); + info->driver_date.low=0; + info->driver_date.high=0; + + info->padding=0; + info->driver_version_low=0; + info->driver_version_high=0; + init_unistr( &info->mfgname, ""); init_unistr( &info->oem_url, ""); init_unistr( &info->hardware_id, ""); |