|
|
//[ 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(); }
//]
|