Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

246 lines
9.1 KiB

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