📄 objidl.idl
字号:
[in] REFIID riid,
[out] IConnectionPoint ** ppCP
);
}
[
object,
uuid(B196B287-BAB4-101A-B69C-00AA00341D07),
pointer_default(unique)
]
interface IEnumConnections : IUnknown
{
typedef IEnumConnections * PENUMCONNECTIONS;
typedef IEnumConnections * LPENUMCONNECTIONS;
typedef struct tagCONNECTDATA
{
IUnknown * pUnk;
DWORD dwCookie;
} CONNECTDATA;
typedef struct tagCONNECTDATA * PCONNECTDATA;
typedef struct tagCONNECTDATA * LPCONNECTDATA;
[local]
HRESULT Next(
[in] ULONG cConnections,
[out,
size_is(cConnections),
length_is(*lpcFetched)] CONNECTDATA * rgcd,
[out] ULONG * lpcFetched
);
[call_as(Next)]
HRESULT RemoteNext(
[in] ULONG cConnections,
[out,
size_is(cConnections),
length_is(*lpcFetched)] CONNECTDATA * rgcd,
[out] ULONG * lpcFetched
);
HRESULT Skip
(
[in] ULONG cConnections
);
HRESULT Reset
(
void
);
HRESULT Clone
(
[out] IEnumConnections ** ppEnum
);
}
[
object,
uuid(B196B285-BAB4-101A-B69C-00AA00341D07),
pointer_default(unique)
]
interface IEnumConnectionPoints : IUnknown
{
typedef IEnumConnectionPoints * PENUMCONNECTIONPOINTS;
typedef IEnumConnectionPoints * LPENUMCONNECTIONPOINTS;
[local]
HRESULT Next(
[in] ULONG cConnections,
[out,
size_is(cConnections),
length_is(*lpcFetched)] IConnectionPoint ** rgpcn,
[out] ULONG * lpcFetched
);
[call_as(Next)]
HRESULT RemoteNext(
[in] ULONG cConnections,
[out,
size_is(cConnections),
length_is(*lpcFetched)] IConnectionPoint ** rgpcn,
[out] ULONG * lpcFetched
);
HRESULT Skip
(
[in] ULONG cConnections
);
HRESULT Reset
(
void
);
HRESULT Clone
(
[out] IEnumConnectionPoints ** ppEnum
);
}
#endif // __INCLUDE_CPIFS
cpp_quote( "#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM" )
cpp_quote( "// This interface is only valid on Windows NT 4.0" )
[
local,
object,
uuid(0000013D-0000-0000-C000-000000000046)
]
interface IClientSecurity : IUnknown
{
typedef struct tagSOLE_AUTHENTICATION_SERVICE
{
DWORD dwAuthnSvc;
DWORD dwAuthzSvc;
OLECHAR *pPrincipalName;
HRESULT hr;
} SOLE_AUTHENTICATION_SERVICE;
typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES
{
EOAC_NONE = 0x0,
EOAC_MUTUAL_AUTH = 0x1,
EOAC_STATIC_CLOAKING = 0x20,
EOAC_DYNAMIC_CLOAKING = 0x40,
EOAC_ANY_AUTHORITY = 0x80,
EOAC_MAKE_FULLSIC = 0x100,
EOAC_DEFAULT = 0x800,
// These are only valid for CoInitializeSecurity
EOAC_SECURE_REFS = 0x2,
EOAC_ACCESS_CONTROL = 0x4,
EOAC_APPID = 0x8,
EOAC_DYNAMIC = 0x10,
EOAC_REQUIRE_FULLSIC = 0x200,
EOAC_AUTO_IMPERSONATE = 0x400,
EOAC_NO_CUSTOM_MARSHAL = 0x2000,
EOAC_DISABLE_AAA = 0x1000
} EOLE_AUTHENTICATION_CAPABILITIES;
const OLECHAR *COLE_DEFAULT_PRINCIPAL = (OLECHAR *) -1;
const void *COLE_DEFAULT_AUTHINFO = (void *) -1;
typedef struct tagSOLE_AUTHENTICATION_INFO
{
DWORD dwAuthnSvc;
DWORD dwAuthzSvc;
void *pAuthInfo;
} SOLE_AUTHENTICATION_INFO, *PSOLE_AUTHENTICATION_INFO;
typedef struct tagSOLE_AUTHENTICATION_LIST
{
DWORD cAuthInfo;
SOLE_AUTHENTICATION_INFO *aAuthInfo;
} SOLE_AUTHENTICATION_LIST, *PSOLE_AUTHENTICATION_LIST;
HRESULT QueryBlanket
(
[in] IUnknown *pProxy,
[out] DWORD *pAuthnSvc,
[out] DWORD *pAuthzSvc,
[out] OLECHAR **pServerPrincName,
[out] DWORD *pAuthnLevel,
[out] DWORD *pImpLevel,
[out] void **pAuthInfo,
[out] DWORD *pCapabilites
);
HRESULT SetBlanket
(
[in] IUnknown *pProxy,
[in] DWORD dwAuthnSvc,
[in] DWORD dwAuthzSvc,
[in] OLECHAR *pServerPrincName,
[in] DWORD dwAuthnLevel,
[in] DWORD dwImpLevel,
[in] void *pAuthInfo,
[in] DWORD dwCapabilities
);
HRESULT CopyProxy
(
[in] IUnknown *pProxy,
[out] IUnknown **ppCopy
);
}
[
local,
object,
uuid(0000013E-0000-0000-C000-000000000046)
]
interface IServerSecurity : IUnknown
{
HRESULT QueryBlanket
(
[out] DWORD *pAuthnSvc,
[out] DWORD *pAuthzSvc,
[out] OLECHAR **pServerPrincName,
[out] DWORD *pAuthnLevel,
[out] DWORD *pImpLevel,
[out] void **pPrivs,
[in,out] DWORD *pCapabilities
);
HRESULT ImpersonateClient();
HRESULT RevertToSelf();
BOOL IsImpersonating();
}
[
object,
uuid(00000140-0000-0000-C000-000000000046)
]
interface IClassActivator : IUnknown
{
HRESULT GetClassObject(
[in] REFCLSID rclsid,
[in] DWORD dwClassContext,
[in] LCID locale,
[in] REFIID riid,
[out, iid_is(riid)] void **ppv);
}
[
object,
local,
uuid(00000144-0000-0000-C000-000000000046)
]
interface IRpcOptions : IUnknown
{
HRESULT Set([in] IUnknown * pPrx,
[in] DWORD dwProperty,
[in] ULONG_PTR dwValue);
HRESULT Query([in] IUnknown * pPrx,
[in] DWORD dwProperty,
[out] ULONG_PTR * pdwValue);
}
enum
{
COMBND_RPCTIMEOUT = 0x01, // Rpc transport-specific timeout.
COMBND_SERVER_LOCALITY = 0x02 // server locality
};
enum
{
SERVER_LOCALITY_PROCESS_LOCAL=0,
SERVER_LOCALITY_MACHINE_LOCAL=1,
SERVER_LOCALITY_REMOTE=2
};
cpp_quote( "#endif //DCOM" )
[
object,
uuid(99caf010-415e-11cf-8814-00aa00b569f5),
pointer_default(unique)
]
interface IFillLockBytes: IUnknown
{
[local]
HRESULT FillAppend
(
[in, size_is(cb)] void const *pv,
[in] ULONG cb,
[out] ULONG *pcbWritten
);
[call_as(FillAppend)]
HRESULT _stdcall RemoteFillAppend(
[in, size_is(cb)] byte const *pv,
[in] ULONG cb,
[out] ULONG *pcbWritten);
[local]
HRESULT FillAt
(
[in] ULARGE_INTEGER ulOffset,
[in, size_is(cb)] void const *pv,
[in] ULONG cb,
[out] ULONG *pcbWritten
);
[call_as(FillAt)]
HRESULT _stdcall RemoteFillAt(
[in] ULARGE_INTEGER ulOffset,
[in, size_is(cb)] byte const *pv,
[in] ULONG cb,
[out] ULONG *pcbWritten);
HRESULT SetFillSize
(
[in] ULARGE_INTEGER ulSize
);
HRESULT Terminate
(
[in] BOOL bCanceled
);
}
[
object,
uuid(a9d758a0-4617-11cf-95fc-00aa00680db4),
pointer_default(unique)
]
interface IProgressNotify: IUnknown
{
HRESULT OnProgress
(
[in] DWORD dwProgressCurrent,
[in] DWORD dwProgressMaximum,
[in] BOOL fAccurate,
[in] BOOL fOwner
);
}
[
local,
object,
uuid(0e6d4d90-6738-11cf-9608-00aa00680db4),
pointer_default(unique)
]
interface ILayoutStorage: IUnknown
{
typedef struct tagStorageLayout
{
DWORD LayoutType;
OLECHAR *pwcsElementName;
LARGE_INTEGER cOffset;
LARGE_INTEGER cBytes;
} StorageLayout;
HRESULT __stdcall LayoutScript
(
[in] StorageLayout *pStorageLayout,
[in] DWORD nEntries,
[in] DWORD glfInterleavedFlag
);
HRESULT __stdcall BeginMonitor(void);
HRESULT __stdcall EndMonitor(void);
HRESULT __stdcall ReLayoutDocfile
(
[in] OLECHAR *pwcsNewDfName
);
HRESULT __stdcall ReLayoutDocfileOnILockBytes
(
[in] ILockBytes *pILockBytes
);
}
[
object,
uuid(30f3d47a-6447-11d1-8e3c-00c04fb9386d)
]
interface IBlockingLock: IUnknown
{
HRESULT Lock([in] DWORD dwTimeout);
HRESULT Unlock(void);
}
[
object,
uuid(bc0bf6ae-8878-11d1-83e9-00c04fc2c6d4)
]
interface ITimeAndNoticeControl: IUnknown
{
HRESULT SuppressChanges([in] DWORD res1,
[in] DWORD res2);
}
[
object,
uuid(8d19c834-8879-11d1-83e9-00c04fc2c6d4)
]
interface IOplockStorage: IUnknown
{
HRESULT CreateStorageEx([in] LPCWSTR pwcsName,
[in] DWORD grfMode,
[in] DWORD stgfmt,
[in] DWORD grfAttrs,
[in] REFIID riid,
[out, iid_is(riid)] void**ppstgOpen);
HRESULT OpenStorageEx([in] LPCWSTR pwcsName,
[in] DWORD grfMode,
[in] DWORD stgfmt,
[in] DWORD grfAttrs,
[in] REFIID riid,
[out, iid_is(riid)] void**ppstgOpen);
}
[
uuid(00000022-0000-0000-C000-000000000046),
version(1.0),
pointer_default(unique)
, object
]
interface ISurrogate : IUnknown
{
typedef [unique] ISurrogate* LPSURROGATE;
HRESULT LoadDllServer(
[in] REFCLSID Clsid);
HRESULT FreeSurrogate();
}
[
local,
object,
uuid(00000146-0000-0000-C000-000000000046)
]
interface IGlobalInterfaceTable : IUnknown
{
typedef [unique] IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
HRESULT RegisterInterfaceInGlobal
(
[in] IUnknown *pUnk,
[in] REFIID riid,
[out] DWORD *pdwCookie
);
HRESULT RevokeInterfaceFromGlobal
(
[in] DWORD dwCookie
);
HRESULT GetInterfaceFromGlobal
(
[in] DWORD dwCookie,
[in] REFIID riid,
[out, iid_is(riid)] void **ppv
);
};
[
object,
uuid(0e6d4d92-6738-11cf-9608-00aa00680db4),
pointer_default(unique)
]
interface IDirectWriterLock : IUnknown
{
HRESULT WaitForWriteAccess ([in] DWORD dwTimeout);
HRESULT ReleaseWriteAccess ();
HRESULT HaveWriteAccess ();
}
[
object,
uuid(00000030-0000-0000-C000-000000000046)
]
interface ISynchronize : IUnknown
{
HRESULT Wait([in] DWORD dwFlags, [in] DWORD dwMilliseconds);
HRESULT Signal();
HRESULT Reset();
}
[
local,
object,
uuid(00000031-0000-0000-C000-000000000046)
]
interface ISynchronizeHandle : IUnknown
{
HRESULT GetHandle([out] HANDLE *ph );
}
[
local,
object,
uuid(00000032-0000-0000-C000-000000000046)
]
interface ISynchronizeEvent : ISynchronizeHandle
{
HRESULT SetEventHandle([in] HANDLE *ph );
}
[
local,
object,
uuid(00000033-0000-0000-C000-000000000046)
]
interface ISynchronizeContainer : IUnknown
{
HRESULT AddSynchronize([in] ISynchronize *pSync);
HRESULT WaitMultiple([in] DWORD dwFlags,
[in] DWORD dwTimeOut,
[out] ISynchronize **ppSync);
}
[
local,
object,
uuid(00000025-0000-0000-C000-000000000046)
]
interface ISynchronizeMutex : ISynchronize
{
HRESULT ReleaseMutex();
}
[
local,
object,
uuid(00000029-0000-0000-C000-000000000046)
]
interface ICancelMethodCalls : IUnknown
{
typedef [unique] ICancelMethodCalls *LPCANCELMETHODCALLS;
HRESULT Cancel ([in] ULONG ulSeconds);
HRESULT TestCancel (void);
}
[
local,
object,
uuid(0000002A-0000-0000-C000-
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -