windows-nt/Source/XPSP1/NT/com/rpc/perf/scale/rpcrt.idl
2020-09-26 16:20:57 +08:00

88 lines
1.8 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1996 - 1999
//
// File: rpcrt.idl
//
//--------------------------------------------------------------------------
[
uuid(19bb5061-2e68-101b-b4d9-00000b65c782),
version(1.0)
]
interface RpcRuntimeScalePerf
{
//
// Test cases.
//
[v1_enum]
typedef enum {
NULL_CALL,
NI_CALL,
BUFFER_CALL,
MAYBE_CALL,
BIND_CALL
} TEST_TYPE;
const unsigned long TEST_MAX = 5;
//
// Client test case control functions follow
//
const unsigned long PERF_TOO_MANY_CLIENTS = 20001;
const unsigned long PERF_TESTS_DONE = 20002;
// blocking
error_status_t
BeginTest([in] handle_t Binding,
[out] unsigned long *ClientId,
[out] unsigned long *TestCase,
[out] unsigned long *InSize,
[out] unsigned long *OutSize
);
//
// Test APis
//
[idempotent] unsigned long
NullCall(
[in] handle_t Binding,
[in] unsigned long ClientId
);
[idempotent, maybe] void
MaybeCall(
[in] handle_t Binding,
[in] unsigned long ClientId
);
unsigned long
NICall(
[in] handle_t Binding,
[in] unsigned long ClientId
);
[idempotent] unsigned long
BufferCall(
[in] handle_t Binding,
[in] unsigned long ClientId,
[in] long cRequest,
[in, size_is(cRequest)] byte bRequest[],
[in] long cReply,
[out, size_is(cReply)] byte bReply[]
);
// Input: RPC header + 12 bytes + in bytes of data
// Output: RPC header + 4 bytes + out bytes of data
const unsigned long IN_ADJUSTMENT = 20;
const unsigned long OUT_ADJUSTMENT = 12;
}