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)")
|
|
}
|