windows-nt/Source/XPSP1/NT/com/rpc/runtime/rtifs/conv.idl
2020-09-26 16:20:57 +08:00

99 lines
3.2 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1994 - 1999
//
// File: conv.idl
//
//--------------------------------------------------------------------------
[uuid(333a2276-0000-0000-0d00-00809c000000),version(3)]
interface conv
{
import "nbase.idl";
typedef unsigned long error_status_t;
[idempotent]
void conv_who_are_you(
[in] handle_t Binding,
[in, ref] UUID *pUuid,
[in] unsigned long ServerBootTime,
[out, ref] unsigned long *SequenceNumber,
[out, ref] error_status_t *Status
);
[idempotent]
void conv_who_are_you2(
[in] handle_t Binding,
[in, ref] UUID *pUuid,
[in] unsigned long ServerBootTime,
[out, ref] unsigned long *SequenceNumber,
[out, ref] UUID *CASUuid,
[out, ref] error_status_t *Status
);
[idempotent]
void conv_are_you_there(
[in] handle_t Binding,
[in, ref] UUID * pUuid,
[in] unsigned long ServerBootTime,
[out, ref] error_status_t * Status
);
[idempotent]
void conv_who_are_you_auth(
[in] handle_t Binding,
[in, ref] UUID * pUuid,
[in] unsigned long ServerBootTime,
[in, size_is(InLength)] byte InData[],
[in] long InLength,
[in] long OutMaxLength,
[out, ref] unsigned long * SequenceNumber,
[out, ref] UUID * CASUuid,
[out, length_is(*pOutLength), size_is(OutMaxLength)]
byte OutData[],
[out] long * pOutLength,
[out, ref] error_status_t * Status
);
/*
* C O N V _ W H O _ A R E _ Y O U _ A U T H _ M O R E
*
* This routine is used, in conjunction with the conv_who_are_you_auth()
* operation, for retrieving oversized PACs. In the event that a client's
* credentials are too large to fit within a single DG packet, the server
* can retrieve the PAC, packet by packet, by repeated calls on this
* operation.
*
* Note that because the "conv" interface is serviced directly by the
* the DG protocol (as opposed to being handled by a call executor thread),
* there is no additional client overhead with retrieving the PAC by
* multiple single-packet calls, rather than a single multiple-packet call.
* The small amount of overhead induced on the server side is more than
* compensated for by being able to avoid adding flow-control/windowing
* to the DG protocol's internal handling of the conv interface.
*
* Logically, this call returns
*
* client_credentials[index ... (index+out_max_len-1)]
*/
[idempotent]
void conv_who_are_you_auth_more(
[in] handle_t Binding,
[in, ref] UUID * pUuid,
[in] unsigned long ServerBootTime,
[in] long Index,
[in] long OutMaxLength,
[out, length_is(*pOutLength), size_is(OutMaxLength)]
byte OutData[],
[out] long * pOutLength,
[out, ref] error_status_t * Status
);
}