diff options
-rw-r--r-- | librpc/idl/wmi.idl | 27 | ||||
-rw-r--r-- | librpc/ndr/ndr_wmi.c | 15 | ||||
-rw-r--r-- | librpc/ndr/ndr_wmi.h | 3 | ||||
-rw-r--r-- | pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 4 |
4 files changed, 20 insertions, 29 deletions
diff --git a/librpc/idl/wmi.idl b/librpc/idl/wmi.idl index 3ae5a4595b..4d428a8c91 100644 --- a/librpc/idl/wmi.idl +++ b/librpc/idl/wmi.idl @@ -8,7 +8,6 @@ import "dcom.idl"; import "misc.idl"; [ - helper("librpc/ndr/ndr_wmi.h"), uuid("8BC3F05E-D86B-11d0-A075-00C04FB68820") ] coclass WbemLevel1Login { @@ -17,8 +16,8 @@ import "misc.idl"; }; [ - local, - object, + local, + object, uuid("dc12a681-737f-11cf-884d-00aa004b2e24") ] interface IWbemClassObject : IUnknown @@ -203,7 +202,7 @@ coclass WbemClassObject WBEM_E_PROVIDER_DISABLED = 0x8004108a } WBEMSTATUS; - typedef [public,noprint] enum + typedef [public] bitmap { WBEM_FLAG_RETURN_WBEM_COMPLETE = 0, WBEM_FLAG_BIDIRECTIONAL = 0, @@ -225,7 +224,7 @@ coclass WbemClassObject WBEM_MASK_RESERVED_FLAGS = 0x001F000 } WBEM_GENERIC_FLAG_TYPE; - typedef [public,noprint,v1_enum] enum tag_WBEM_TIMEOUT_TYPE + typedef [public,v1_enum] enum tag_WBEM_TIMEOUT_TYPE { WBEM_NO_WAIT = 0, WBEM_INFINITE = 0xFFFFFFFF @@ -300,18 +299,18 @@ coclass WbemClassObject WCF_CLASS = 4, WCF_CLASS_PART_INTERNAL = 8 /* WCF_CLASS_PART_SHARED = 0x104 */ - } WCO_FLAGS; + } WCO_FLAGS; - typedef [public,nopull,nopush] struct - { + typedef struct + { uint32 count; [ref,charset(UTF16)] uint16 *item[count]; - } CIMSTRINGS; + } CIMSTRINGS; - typedef [public,bitmap8bit] bitmap { - DEFAULT_FLAG_EMPTY = 1, - DEFAULT_FLAG_INHERITED = 2 - } DEFAULT_FLAGS; + typedef [public,bitmap8bit] bitmap { + DEFAULT_FLAG_EMPTY = 1, + DEFAULT_FLAG_INHERITED = 2 + } DEFAULT_FLAGS; WERROR OpenNamespace( [in] BSTR strNamespace, @@ -653,7 +652,7 @@ coclass WbemClassObject [in,ref] GUID *gWCO, [out,ref] uint32 *puReturned, [out,ref] uint32 *pSize, - [out,ref,noprint,size_is(,*pSize)] uint8 **pData + [out,ref,size_is(,*pSize)] uint8 **pData ); } diff --git a/librpc/ndr/ndr_wmi.c b/librpc/ndr/ndr_wmi.c index 2c122decf4..87f3e9690a 100644 --- a/librpc/ndr/ndr_wmi.c +++ b/librpc/ndr/ndr_wmi.c @@ -23,7 +23,6 @@ #include "includes.h" #include "librpc/gen_ndr/ndr_dcom.h" #include "librpc/gen_ndr/ndr_wmi.h" -#include "librpc/ndr/ndr_wmi.h" // Just for debugging int NDR_CHECK_depth = 0; @@ -35,18 +34,18 @@ enum ndr_err_code ndr_push_BSTR(struct ndr_push *ndr, int ndr_flags, const struc uint32_t flags; enum ndr_err_code status; len = strlen(r->data); - if (ndr_flags & NDR_SCALARS) { - NDR_CHECK(ndr_push_align(ndr, 4)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x72657355)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, len)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2*len)); + if (ndr_flags & NDR_SCALARS) { + NDR_CHECK(ndr_push_align(ndr, 4)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0x72657355)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, len)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2*len)); flags = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM | LIBNDR_FLAG_STR_SIZE4); status = ndr_push_string(ndr, NDR_SCALARS, r->data); ndr->flags = flags; return status; - } - return NDR_ERR_SUCCESS; + } + return NDR_ERR_SUCCESS; } enum ndr_err_code ndr_pull_BSTR(struct ndr_pull *ndr, int ndr_flags, struct BSTR *r) diff --git a/librpc/ndr/ndr_wmi.h b/librpc/ndr/ndr_wmi.h deleted file mode 100644 index 539b9e882b..0000000000 --- a/librpc/ndr/ndr_wmi.h +++ /dev/null @@ -1,3 +0,0 @@ -typedef const char *CIMSTRING; -enum ndr_err_code ndr_pull_CIMSTRING(struct ndr_pull *ndr, int ndr_flags, CIMSTRING *r); -enum ndr_err_code ndr_push_CIMSTRING(struct ndr_push *ndr, int ndr_flags, const CIMSTRING *r); diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm index 09518f7cee..732aa981dc 100644 --- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm +++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm @@ -2623,10 +2623,6 @@ sub ParseInterface($$$) ($needed->{"ndr_push_$d->{NAME}"}) && $self->ParseFunctionPush($d); ($needed->{"ndr_pull_$d->{NAME}"}) && $self->ParseFunctionPull($d); ($needed->{"ndr_print_$d->{NAME}"}) && $self->ParseFunctionPrint($d); - - # Make sure we don't generate a function twice... - $needed->{"ndr_push_$d->{NAME}"} = $needed->{"ndr_pull_$d->{NAME}"} = - $needed->{"ndr_print_$d->{NAME}"} = 0; } $self->FunctionTable($interface); |