mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.9 KiB
60 lines
1.9 KiB
//+---------------------------------------------------------------------------
|
|
//
|
|
// 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";
|
|
|
|
typedef struct
|
|
{
|
|
DWORD callcat; // CALLCATEGORY
|
|
DWORD dwClientThread;
|
|
} LOCALTHIS;
|
|
|
|
// 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 BUGBUG: sizeis()
|
|
} InterfaceData;
|
|
|
|
typedef [unique] InterfaceData * PInterfaceData;
|
|
|
|
#pragma midl_echo("// BUGBUG: until the length_is midl option is fixed, we ")
|
|
#pragma midl_echo("// have a different computation for the size of the IFD.")
|
|
#pragma midl_echo("#define IFD_SIZE(pIFD) (sizeof(InterfaceData) + pIFD->ulCntData - 1024)")
|
|
}
|
|
|