mirror of
https://github.com/samba-team/samba.git
synced 2025-01-13 13:18:06 +03:00
parent
b24fcfc1aa
commit
75f1497c32
@ -483,13 +483,28 @@
|
||||
[in,out,ref] uint32 *buf_size
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
uint32 flags;
|
||||
unistr *formname;
|
||||
uint32 width;
|
||||
uint32 length;
|
||||
uint32 left;
|
||||
uint32 top;
|
||||
uint32 right;
|
||||
uint32 bottom;
|
||||
} spoolss_SetFormInfo1;
|
||||
|
||||
typedef union {
|
||||
[case(1)] spoolss_AddFormInfo1 *info1;
|
||||
} spoolss_SetFormInfo;
|
||||
|
||||
/******************/
|
||||
/* Function: 0x21 */
|
||||
WERROR spoolss_SetForm(
|
||||
[in,ref] policy_handle *handle,
|
||||
[in] unistr formname,
|
||||
[in] uint32 level,
|
||||
[in,switch_is(level)] spoolss_AddFormInfo info
|
||||
[in,switch_is(level)] spoolss_SetFormInfo info
|
||||
);
|
||||
|
||||
typedef [nodiscriminant,public] union {
|
||||
|
@ -129,6 +129,26 @@ def test_GetForm(pipe, handle, formname):
|
||||
return result['info']['info1']
|
||||
|
||||
|
||||
def test_SetForm(pipe, handle, form):
|
||||
|
||||
print 'testing spoolss_SetForm'
|
||||
|
||||
r = {}
|
||||
r['handle'] = handle
|
||||
r['level'] = 1
|
||||
r['formname'] = form['info1']['formname']
|
||||
r['info'] = form
|
||||
|
||||
dcerpc.spoolss_SetForm(pipe, r)
|
||||
|
||||
newform = test_GetForm(pipe, handle, r['formname'])
|
||||
|
||||
if form['info1'] != newform:
|
||||
print 'SetForm: mismatch: %s != %s' % \
|
||||
(r['info']['info1'], f)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def test_AddForm(pipe, handle):
|
||||
|
||||
print 'testing spoolss_AddForm'
|
||||
@ -141,13 +161,13 @@ def test_AddForm(pipe, handle):
|
||||
r['info'] = {}
|
||||
r['info']['info1'] = {}
|
||||
r['info']['info1']['formname'] = formname
|
||||
r['info']['info1']['flags'] = 0
|
||||
r['info']['info1']['width'] = 1
|
||||
r['info']['info1']['length'] = 2
|
||||
r['info']['info1']['left'] = 3
|
||||
r['info']['info1']['top'] = 4
|
||||
r['info']['info1']['right'] = 5
|
||||
r['info']['info1']['bottom'] = 6
|
||||
r['info']['info1']['flags'] = 0x0002
|
||||
r['info']['info1']['width'] = 100
|
||||
r['info']['info1']['length'] = 100
|
||||
r['info']['info1']['left'] = 0
|
||||
r['info']['info1']['top'] = 1000
|
||||
r['info']['info1']['right'] = 2000
|
||||
r['info']['info1']['bottom'] = 3000
|
||||
|
||||
try:
|
||||
result = dcerpc.spoolss_AddForm(pipe, r)
|
||||
@ -159,14 +179,13 @@ def test_AddForm(pipe, handle):
|
||||
f = test_GetForm(pipe, handle, formname)
|
||||
|
||||
if r['info']['info1'] != f:
|
||||
print 'Form type mismatch: %s != %s' % \
|
||||
print 'AddForm: mismatch: %s != %s' % \
|
||||
(r['info']['info1'], f)
|
||||
sys.exit(1)
|
||||
|
||||
r['formname'] = formname
|
||||
r['info']['info1']['unknown'] = 1
|
||||
|
||||
dcerpc.spoolss_SetForm(pipe, r)
|
||||
test_SetForm(pipe, handle, r['info'])
|
||||
|
||||
test_DeleteForm(pipe, handle, formname)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user