78 lines
2.5 KiB
Plaintext
78 lines
2.5 KiB
Plaintext
|
//+---------------------------------------------------------------------------
|
||
|
//
|
||
|
// Copyright (C) 1992, Microsoft Corporation.
|
||
|
//
|
||
|
// File: iface.idl
|
||
|
//
|
||
|
// Contents: Public definitions used for xmiting interfaces via RPC
|
||
|
//
|
||
|
// History: 28-Jan-93 Ricksa Created.
|
||
|
//
|
||
|
// Notes: These definitions are used for transmitting interfaces
|
||
|
// via RPC.
|
||
|
//
|
||
|
//----------------------------------------------------------------------------
|
||
|
[ uuid(5C0EB534-BF9F-101A-8818-02608C4D2359),
|
||
|
version(0.1),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
|
||
|
interface XmitDefs
|
||
|
{
|
||
|
import "wtypes.idl";
|
||
|
#ifndef DO_NO_IMPORTS
|
||
|
import "obase.idl";
|
||
|
#endif
|
||
|
|
||
|
// These are only valid on a request (in a ORPCTHIS header).
|
||
|
const int ORPCF_INPUT_SYNC = ORPCF_RESERVED1;
|
||
|
const int ORPCF_ASYNC = ORPCF_RESERVED2;
|
||
|
const int ORPCF_DYNAMIC_CLOAKING = ORPCF_RESERVED3;
|
||
|
|
||
|
// These are only valid on a reply (in a ORPCTHAT header).
|
||
|
const int ORPCF_REJECTED = ORPCF_RESERVED1;
|
||
|
const int ORPCF_RETRY_LATER = ORPCF_RESERVED2;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
DWORD dwFlags;
|
||
|
DWORD dwClientThread;
|
||
|
} LOCALTHIS;
|
||
|
|
||
|
typedef enum tagLOCALFLAG
|
||
|
{
|
||
|
LOCALF_NONE = 0x0,
|
||
|
|
||
|
// Parameters in buffer not marshalled NDR
|
||
|
LOCALF_NONNDR = 0x800
|
||
|
} LOCALFLAG;
|
||
|
|
||
|
// CALLCATEGORY is used internally and represents the categories of calls
|
||
|
// that can be made.
|
||
|
|
||
|
// DCOMWORK - Get rid of the unused internal types.
|
||
|
typedef enum tagCALLCATEGORY
|
||
|
{
|
||
|
CALLCAT_NOCALL = 0, // no call in progress
|
||
|
CALLCAT_SYNCHRONOUS = 1, // normal sychornous call
|
||
|
CALLCAT_ASYNC = 2, // asynchronous call
|
||
|
CALLCAT_INPUTSYNC = 3, // input-synchronous call
|
||
|
CALLCAT_INTERNALSYNC = 4, // internal ssync call
|
||
|
CALLCAT_INTERNALINPUTSYNC = 5, // internal inputssync call
|
||
|
CALLCAT_SCMCALL = 6 // important scm call
|
||
|
} CALLCATEGORY;
|
||
|
|
||
|
|
||
|
// wire representation of an entire interface. used for wrapping a
|
||
|
// marshalled interface in a stream representation CXmitRpcStream.
|
||
|
typedef struct tagInterfaceData
|
||
|
{
|
||
|
ULONG ulCntData; // size of data
|
||
|
[length_is(ulCntData)] BYTE abData[1024]; // data
|
||
|
} InterfaceData;
|
||
|
|
||
|
typedef [unique] InterfaceData * PInterfaceData;
|
||
|
|
||
|
#pragma midl_echo("#define IFD_SIZE(pIFD) (sizeof(InterfaceData) + pIFD->ulCntData - 1024)")
|
||
|
}
|