|
|
//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1994 - 1999 // // File: rpcrt.idl // //--------------------------------------------------------------------------
// fool the preprocessor about the async attribute until the public headers are fixed cpp_quote("#ifdef WIN98") cpp_quote("#ifdef TARGET_IS_NT50_OR_LATER") cpp_quote("#undef TARGET_IS_NT50_OR_LATER") cpp_quote("#define TARGET_IS_NT50_OR_LATER 1") cpp_quote("#endif") cpp_quote("#endif")
[ uuid(19bb5060-2e68-101b-b4d9-00000b65c782), version(2.0) ] interface RpcRuntimePerf {
// // Test cases. //
[v1_enum] typedef enum { NULL_CALL, NI_CALL, WRITE_1K, READ_1K, WRITE_4K, READ_4K, WRITE32K, READ32K, CONTEXT_CALL, FIXED_BIND, REBIND, DYNAMIC_BIND, ASYNC_NULL_CALL, ASYNC_STA_NULL_CALL } TEST_TYPE;
const unsigned long TEST_MAX = 14;
// // Client test case control functions follow //
const unsigned long PERF_TOO_MANY_CLIENTS = 20001; const unsigned long PERF_TESTS_DONE = 20002;
// non-blocking error_status_t BeginTest([in] handle_t Binding, [out] long *ClientId );
// blocking error_status_t NextTest( [in] handle_t Binding, [out] TEST_TYPE *Test, [out] long *Iterations );
// blocking error_status_t EndTest( [in] handle_t Binding, [in] unsigned long mseconds );
// // Test APis //
typedef [context_handle] void *PERF_CONTEXT;
[idempotent] void NullCall([in] handle_t Binding); void NICall ([in] handle_t Binding); [idempotent] void Write1K ([in] handle_t Binding, [in] byte buffer[1024]); [idempotent] void Read1K ([in] handle_t Binding, [out] byte buffer[1024]); [idempotent] void Write4K ([in] handle_t Binding, [in] byte buffer[4096-4*24]); [idempotent] void Read4K ([in] handle_t Binding, [out] byte buffer[4069-4*24]); [idempotent] void Write32K([in] handle_t Binding, [in] byte buffer[32*1024]); [idempotent] void Read32K ([in] handle_t Binding, [out] byte buffer[32*1024]); void ContextNullCall([in] PERF_CONTEXT pContext); void AsyncNullCall([in] handle_t Binding); void AsyncSTANullCall([in] handle_t Binding);
// // Used for setting up the context handle test(s) //
PERF_CONTEXT OpenContext(handle_t Binding); void CloseContext([in,out] PERF_CONTEXT *ppContext);
// // Used for fixed binding test. //
[string] char * GetFixedEp(handle_t Binding);
}
|