summaryrefslogtreecommitdiffstats
path: root/private/oleutest/channel/idl/itest.idl
blob: 7f24376503c64b5fdc391390df4ecdca99406775 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
//[ ITest_itf
//+-------------------------------------------------------------------
//
//  Interface:  ITest (ib)
//
//  Purpose:    Interface for manipulating performance
//
//  History:    5-Oct-93        AlexMit         Created
//
//  Notes:
//
//--------------------------------------------------------------------

[
  object,
  uuid(60000200-76d7-11cf-9af1-0020af6e72f4),
  pointer_default(unique)
]

interface ITest : IUnknown
{
    import "unknwn.idl";
    import "objidl.idl";

    typedef struct
    {
      DWORD process;
      DWORD thread;
      DWORD sequence;
    } SAptId;

    typedef struct
    {
      UCHAR Value[6];
    } HACKHACKHACK_SID_IDENTIFIER_AUTHORITY;

    typedef struct
    {
      UCHAR Revision;
      UCHAR SubAuthorityCount;
      HACKHACKHACK_SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
#ifdef MIDL_PASS
      [size_is(SubAuthorityCount)] ULONG SubAuthority[*];
#else // MIDL_PASS
      ULONG SubAuthority[ANYSIZE_ARRAY];
#endif // MIDL_PASS
    } HACKSID;

    typedef [string] wchar_t *STRING;

    typedef [transmit_as(DWORD)] DWORD transmit_crash;

    HRESULT align                  ( [in] unsigned char x[17] );
    HRESULT call_canceled          ( [in] long recurse, [in] long cancel,
                                     [in] ITest *callback );
    HRESULT call_dead              ();
    HRESULT call_me_back           ( [in] ITest *callback );
    HRESULT call_next              ();
    HRESULT callback               ();
    HRESULT cancel                 ();
    HRESULT cancel_now             ();
    HRESULT cancel_pending_call    ( [out] DWORD *thread );
    HRESULT cancel_stress          ( [in] ITest *obj );
    HRESULT catch_at_top           ( [in] BOOL catch_me_im_falling,
                                     [in] ITest *callback,
                                     [in] STRING binding );
    HRESULT check                  ( [in] SAptId id );
    HRESULT check_hook             ( [in] DWORD cg1, [in] DWORD cn1,
                                     [in] DWORD sg1, [in] DWORD sn1,
                                     [in] DWORD cg2, [in] DWORD cn2,
                                     [in] DWORD sg2, [in] DWORD sn2 );
    HRESULT count                  ();
    HRESULT crash_out              ( [out] transmit_crash *data );
    HRESULT delegate               ( [in] ITest *obj, [in] SAptId id,
                                     [in] HACKSID *caller );
    HRESULT exit                   ();
    HRESULT forget                 ();
    HRESULT get_advise             ( [out] IAdviseSink **advise );
    HRESULT get_data               ( [in] DWORD isize,
                                     [in, unique, size_is(isize)] char *idata,
                                     [in] DWORD osize,
                                     [out, size_is(,osize)] char **odata );
    HRESULT get_id                 ( [out] SAptId *id );
    HRESULT get_next               ( [out] ITest **obj, [out] SAptId *id );
    HRESULT get_next_slowly        ( [out] ITest **obj, [out] SAptId *id );
    HRESULT get_obj_from_new_apt   ( [out] ITest **obj, [out] SAptId *id );
    HRESULT get_obj_from_this_apt  ( [out] ITest **obj, [out] SAptId *id );
    HRESULT get_sid                ( [out] HACKSID **sid );
    HRESULT interface_in           ( [in] ITest *obj );
    HRESULT interrupt              ( [in] ITest *obj, [in] SAptId id, BOOL go );
    HRESULT interrupt_marshal      ( [in] ITest *obj1, [in] ITest *obj2 );
    HRESULT make_acl               ( [in] HACKSID *allow );
    HRESULT null                   ();
    HRESULT out                    ( [out] ITest **obj );
    HRESULT pointer                ( [in] DWORD *ptr );
    HRESULT recurse                ( [in] ITest *callback, [in] ULONG depth );
    HRESULT recurse_disconnect     ( [in] ITest *callback, [in] ULONG depth );
    HRESULT recurse_excp           ( [in] ITest *callback, [in] ULONG depth );
    HRESULT recurse_fatal          ( [in] ITest *callback,
                                     [in] ULONG catch_depth,
                                     [in] ULONG throw_depth,
                                     [in] BOOL  cancel );
    HRESULT register_hook          ( [in] GUID ext, [in] DWORD seq );
    HRESULT recurse_interrupt      ( [in] ITest *callback, [in] ULONG depth );
    HRESULT recurse_secure         ( [in] ITest *callback, [in] ULONG depth,
                                     [in] ULONG imp_depth, [in] HACKSID *Caller );
    HRESULT register_message_filter( BOOL );
    HRESULT register_rpc           ( [in] STRING protseq, [out] STRING *binding );
    HRESULT reinitialize           ();
    HRESULT reject_next            ();
    HRESULT remember               ( [in] ITest *neighbor, [in] SAptId id );
    HRESULT rest_and_die           ();
    HRESULT retry_next             ();
    HRESULT ring                   ( [in] DWORD length );
    HRESULT secure                 ( [in] SAptId id,
                                     [in] DWORD AuthnLevel, [in] DWORD ImpLevel,
                                     [in] DWORD AuthnSvc, [in] DWORD AuthzSvc,
                                     [in, unique] STRING PrincName,
                                     [in] HACKSID *Caller,
                                     [out] DWORD *QueryAuthnLevel );
    HRESULT security_performance   ( [out] DWORD *get_call,
                                     [out] DWORD *query_client,
                                     [out] DWORD *impersonate,
                                     [out] DWORD *revert );
    HRESULT set_state              ( [in] DWORD flags, [in] DWORD priority );
    HRESULT sick                   ( [in] ULONG throw_val );
    HRESULT sleep                  ( [in] ULONG time );
    HRESULT test                   ( [in] ULONG gronk );

}

[
  object,
  uuid(60000201-76d7-11cf-9af1-0020af6e72f4),
  pointer_default(unique)
]
interface ITestNoneImp : ITest
{
    HRESULT dummy();
}

[
  object,
  uuid(60000202-76d7-11cf-9af1-0020af6e72f4),
  pointer_default(unique)
]
interface ITestConnectImp : ITest
{
    HRESULT dummy();
}

[
  object,
  uuid(60000203-76d7-11cf-9af1-0020af6e72f4),
  pointer_default(unique)
]
interface ITestEncryptImp : ITest
{
    HRESULT dummy();
}

[
  object,
  uuid(60000204-76d7-11cf-9af1-0020af6e72f4),
  pointer_default(unique)
]
interface ITestNoneId : ITest
{
    HRESULT dummy();
}

[
  object,
  uuid(60000205-76d7-11cf-9af1-0020af6e72f4),
  pointer_default(unique)
]
interface ITestConnectId : ITest
{
    HRESULT dummy();
}

[
  object,
  uuid(60000206-76d7-11cf-9af1-0020af6e72f4),
  pointer_default(unique)
]
interface ITestEncryptId : ITest
{
    HRESULT dummy();
}

//]