blob: 7be904a269b992622974f7f9229ceb251b0c44d6 (
plain) (
tree)
|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1996.
//
// File: odeath.idl
//
//+-------------------------------------------------------------------------
//+-------------------------------------------------------------------------
//
// Interface: IRemUnknown2
//
// Synopsys: This is a local interface used to convert strong references
// to weak references and vice versa. It is needed for the
// container/link/embedding aspects of OLE.
//
// Notes: Weak references are not permitted remotely.
//
//+-------------------------------------------------------------------------
[
object,
uuid(0000013C-0000-0000-C000-000000000046)
]
interface IRemUnknown2 : IRemUnknown
{
#ifndef DO_NO_IMPORTS
import "remunk.idl";
#endif
const unsigned long IRUF_CONVERTTOWEAK = 0x01;// make refs weak
const unsigned long IRUF_CONVERTTOSTRONG = 0x02;// make refs strong
const unsigned long IRUF_DISCONNECTIFLASTSTRONG = 0x04;// disconnect the
// object if last strong ref
HRESULT RemChangeRef
(
[in] unsigned long flags,
[in] unsigned short cInterfaceRefs,
[in, size_is(cInterfaceRefs)] REMINTERFACEREF InterfaceRefs[]
);
}
//+-------------------------------------------------------------------------
//
// Interface: IRundown
//
// Synopsys: This is the local OID rundown interface. The object exporter
// calls it to notify the server which OIDs are no longer being
// pinged.
//
// Notes: This inherits from IRemUnknown and IRemUnknown2 so that we
// can use the same IPID for all three interfaces. This is
// strictly a local decision and does not affect remote protocol.
//
//+-------------------------------------------------------------------------
[
uuid(00000134-0000-0000-C000-000000000046)
#ifndef RAW
, object
#endif
]
interface IRundown
#ifndef RAW
: IRemUnknown2
#endif
{
#ifndef DO_NO_IMPORTS
import "iface.idl";
import "obase.idl";
import "remunk.idl";
#endif
#include "comhndl.h"
COM_DEFINES(IOSCM)
#ifdef RAW
// Define the functions in IRemUnknown2
HRESULT DummyRemQuery( handle_t handle );
HRESULT DummyRemAddRef( handle_t handle );
HRESULT DummyRemRelease( handle_t handle );
HRESULT DummyRemChangeRef( handle_t handle );
error_status_t
RawRundownOid
#else
HRESULT
RundownOid
#endif
(
COM_HANDLE
[in] ULONG cOid,
[in, size_is(cOid)] OID aOid[],
[out, size_is(cOid)] unsigned char afOkToRundown[]
);
}
|