[ uuid(E75074E2-6EEC-4f08-9454-8D806C221490), endpoint("ncacn_np:[\\pipe\\drazen_svc]", "ncacn_ip_tcp:[1337]"), version(1.0), pointer_default(unique) ] interface drazen_svc { const int *PI = NULL; struct tptp1_struct{ small sm; unsigned small usm; short sh; unsigned short ush; long lo; unsigned long ulo; hyper hy; unsigned hyper uhy; boolean bo; char ch; byte by; }; void TestPrimTypesPacking1( [in] small sm, [in] unsigned small usm, [in] short sh, [in] unsigned short ush, [in] long lo, [in] unsigned long ulo, [in] hyper hy, [in] unsigned hyper uhy, [in] boolean bo, [in] char ch, [in] byte by ); /**Tests the NDR primitives packing. *@opnum 0x02 */ struct tptp2_struct{ small sm; short sh; long lo; small sm_; hyper hy; }; typedef struct { small sm; short sh; long lo; small sm_; hyper hy; } tptp2_struct_t; tptp2_struct_t TestPrimTypesPacking2( [in] small sm, [in] short sh, [in] long lo, [in] small sm_, [in] hyper hy); /**Test enum type. */ typedef enum tptp3_enum_t{ ONE = 0, TWO, THREE, FOUR, FIVE} tptp3_enum_t; /**Tests the NDR primitives packing. *@opnum 0x03 */ tptp3_enum_t TestPrimTypesPacking3( [in] enum tptp3_enum_t e1); typedef struct { small s1; small s2; small s3; } threes_t; /**Tests the NDR fixed array. *@opnum 0x04 */ void TestUniFixedArray( [in] small _s1, [in] long _longs[16], [in] small _s2, [in] short _shorts[16], [in] small _s3, [in] threes_t _threes[16] ); /**Tests the NDR conformant array. *@opnum 0x05 */ void TestUniConfArray( [in] small _s1, [in, size_is(_s1)] long _longs[], [in] small _s2, [in, size_is(_s2)] short _shorts[], [in] small _s3, [in, size_is(_s3)] threes_t _threes[] ); enum e1{ A = 23, B, C, D, E }; enum e2{ A , B, C=20, D, E }; struct conf_struct{ small *sm; small **sm_; small ***sm__; [size_is(*sm,**sm_,***sm__), length_is(10,10)] hyper ***ppptrs_hypers[][][]; [size_is(*sm,**sm_,***sm__), length_is(*sm,**sm_,***sm__)] short shorts[][][]; // [length_is(*sm)] small small[13]; }; }