247 lines
9.1 KiB
Plaintext
247 lines
9.1 KiB
Plaintext
//[ ITest_itf
|
|
//+-------------------------------------------------------------------
|
|
//
|
|
// Interface: ITest (ib)
|
|
//
|
|
// Purpose: Interface for manipulating performance
|
|
//
|
|
// History: 5-Oct-93 AlexMit Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//--------------------------------------------------------------------
|
|
|
|
import "unknwn.idl";
|
|
|
|
#ifdef NEVER
|
|
[
|
|
uuid(fc693210-cbeb-11d0-9b61-00c04fc3398c)
|
|
]
|
|
pipe_interface long ILongPipe;
|
|
#else
|
|
[
|
|
object,
|
|
uuid(fc693210-cbeb-11d0-9b61-00c04fc3398c),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface ILongPipe : IUnknown
|
|
{
|
|
HRESULT Alloc ( [in] ULONG bsize, [out] LONG **pbuf, [out] ULONG *bcount );
|
|
HRESULT Push ( [in] LONG *buf, [in] ULONG ecount );
|
|
HRESULT Pull ( [in] LONG *buf, [in] ULONG esize, [out] ULONG *ecount );
|
|
}
|
|
#endif
|
|
|
|
[
|
|
object,
|
|
uuid(60000300-76d7-11cf-9af1-0020af6e72f4),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface ITest : IUnknown
|
|
{
|
|
import "objidl.idl";
|
|
import "accctrl.h";
|
|
|
|
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 [string] wchar_t *KEEP_STRING;
|
|
typedef [transmit_as(DWORD)] DWORD transmit_crash;
|
|
typedef PACTRL_ACCESSW PACTRL_ACCESSW_ALLOCATE;
|
|
|
|
HRESULT align ( [in] unsigned char x[17] );
|
|
HRESULT by_the_way ( [in] DWORD );
|
|
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] KEEP_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,
|
|
[in] BOOL dh1, [in] BOOL dh2 );
|
|
HRESULT count ();
|
|
HRESULT crash_out ( [out] transmit_crash *data );
|
|
HRESULT decrypt ( [in] DWORD blen,
|
|
[in, size_is(blen)] BYTE *buf,
|
|
[in] STRING decrypted,
|
|
[in] DWORD klen,
|
|
[in, unique, size_is(klen)] BYTE *key,
|
|
[in, unique] STRING password );
|
|
HRESULT delegate ( [in] ITest *obj, [in] SAptId id,
|
|
[in] STRING caller );
|
|
HRESULT do_next ( [in] DWORD );
|
|
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_string ( [in] DWORD what, [out] STRING *str );
|
|
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 list_out ( [out] PACTRL_ACCESSW_ALLOCATE *list );
|
|
HRESULT make_acl ( [in] HACKSID *allow );
|
|
HRESULT neighbor_access ( [in] ITest *obj );
|
|
HRESULT null ();
|
|
HRESULT out ( [out] ITest **obj );
|
|
HRESULT perf_access ( [out] DWORD *grant, [out] DWORD *revoke,
|
|
[out] DWORD *set, [out] DWORD *get,
|
|
[out] DWORD *generate, [out] DWORD *check,
|
|
[out] DWORD *cache );
|
|
#ifdef NEVER
|
|
HRESULT pipe_in ( [in] DWORD num, [in] DWORD block,
|
|
[in] ILongPipe *p );
|
|
HRESULT pipe_inout ( [in] DWORD num, [in] DWORD block,
|
|
[in] ILongPipe *pi, [out] ILongPipe *po );
|
|
HRESULT pipe_out ( [in] DWORD num, [in] DWORD block,
|
|
[out] ILongPipe *po );
|
|
#endif
|
|
HRESULT pointer ( [in] DWORD *ptr );
|
|
HRESULT pound ();
|
|
HRESULT recurse ( [in] ITest *callback, [in] ULONG depth );
|
|
HRESULT recurse_delegate ( [in] ITest *callback, [in] ULONG depth,
|
|
[in] STRING Caller );
|
|
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] STRING Caller );
|
|
HRESULT register_message_filter( BOOL );
|
|
HRESULT register_rpc ( [in] STRING protseq, [out] STRING *binding );
|
|
HRESULT reinitialize ( [in] DWORD authn_svc );
|
|
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, unique] STRING 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 setup_access ();
|
|
HRESULT sick ( [in] ULONG throw_val );
|
|
HRESULT sleep ( [in] ULONG time );
|
|
HRESULT swap_key ( [in] DWORD clilen,
|
|
[in, unique, size_is(clilen)] BYTE *clib,
|
|
[out] DWORD *serlen,
|
|
[out, size_is(,*serlen)] BYTE **serb );
|
|
HRESULT test ( [in] ULONG gronk );
|
|
HRESULT what ( [out] DWORD * );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(60000301-76d7-11cf-9af1-0020af6e72f4),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITestNoneImp : ITest
|
|
{
|
|
HRESULT dummy();
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(60000302-76d7-11cf-9af1-0020af6e72f4),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITestConnectImp : ITest
|
|
{
|
|
HRESULT dummy();
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(60000303-76d7-11cf-9af1-0020af6e72f4),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITestEncryptImp : ITest
|
|
{
|
|
HRESULT dummy();
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(60000304-76d7-11cf-9af1-0020af6e72f4),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITestNoneId : ITest
|
|
{
|
|
HRESULT dummy();
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(60000305-76d7-11cf-9af1-0020af6e72f4),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITestConnectId : ITest
|
|
{
|
|
HRESULT dummy();
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(60000306-76d7-11cf-9af1-0020af6e72f4),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITestEncryptId : ITest
|
|
{
|
|
HRESULT dummy();
|
|
}
|
|
|
|
//]
|