ServProv.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:4k
- //+---------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (C) Microsoft Corporation, 1995-1999.
- //
- // File: servprov.idl
- //
- // Contents: IServiceProvider description
- //
- // Classes:
- //
- // Functions:
- //
- // History: 02-15-95 JoePe Created
- //
- //----------------------------------------------------------------------------
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("// ServProv.h")
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("// (C) Copyright 1995-1999 Microsoft Corporation. All Rights Reserved.")
- cpp_quote("//")
- cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF")
- cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
- cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
- cpp_quote("// PARTICULAR PURPOSE.")
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("")
- cpp_quote("#pragma comment(lib,"uuid.lib")")
- cpp_quote("")
- cpp_quote("//---------------------------------------------------------------------------=")
- cpp_quote("// IServiceProvider Interfaces.")
- cpp_quote("")
- import "objidl.idl";
- //import "oleidl.idl";
- interface IServiceProvider;
- [
- object,
- uuid(6d5140c1-7436-11ce-8034-00aa006009fa),
- pointer_default(unique)
- ]
- interface IServiceProvider : IUnknown
- {
- typedef [unique] IServiceProvider *LPSERVICEPROVIDER;
- cpp_quote("#if (_MSC_VER >= 1100) && defined(__cplusplus) && !defined(CINTERFACE)")
- cpp_quote(" EXTERN_C const IID IID_IServiceProvider;")
- cpp_quote(" extern "C++"")
- cpp_quote(" {")
- cpp_quote(" MIDL_INTERFACE("6d5140c1-7436-11ce-8034-00aa006009fa")")
- cpp_quote(" IServiceProvider : public IUnknown")
- cpp_quote(" {")
- cpp_quote(" public:")
- cpp_quote(" virtual /* [local] */ HRESULT STDMETHODCALLTYPE QueryService( ")
- cpp_quote(" /* [in] */ REFGUID guidService,")
- cpp_quote(" /* [in] */ REFIID riid,")
- cpp_quote(" /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;")
- cpp_quote(" ")
- cpp_quote(" template <class Q>")
- cpp_quote(" HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, Q** pp)")
- cpp_quote(" {")
- cpp_quote(" return QueryService(guidService, __uuidof(Q), (void **)pp);")
- cpp_quote(" }")
- cpp_quote(" };")
- cpp_quote(" }")
- cpp_quote("")
- cpp_quote(" /* [call_as] */ HRESULT STDMETHODCALLTYPE IServiceProvider_RemoteQueryService_Proxy( ")
- cpp_quote(" IServiceProvider __RPC_FAR * This,")
- cpp_quote(" /* [in] */ REFGUID guidService,")
- cpp_quote(" /* [in] */ REFIID riid,")
- cpp_quote(" /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);")
- cpp_quote("")
- cpp_quote(" void __RPC_STUB IServiceProvider_RemoteQueryService_Stub(")
- cpp_quote(" IRpcStubBuffer *This,")
- cpp_quote(" IRpcChannelBuffer *_pRpcChannelBuffer,")
- cpp_quote(" PRPC_MESSAGE _pRpcMessage,")
- cpp_quote(" DWORD *_pdwStubPhase);")
- cpp_quote("")
- cpp_quote("#else // VC6 Hack")
- [local]
- HRESULT QueryService(
- [in] REFGUID guidService,
- [in] REFIID riid,
- [out] void ** ppvObject);
- [call_as(QueryService)]
- HRESULT RemoteQueryService(
- [in] REFGUID guidService,
- [in] REFIID riid,
- [out, iid_is(riid)] IUnknown ** ppvObject);
- }
- cpp_quote("#endif // VC6 Hack")