// // Copyright (c) Microsoft Corporation. All rights reserved. // // // Use of this source code is subject to the terms of the Microsoft end-user // license agreement (EULA) under which you licensed this SOFTWARE PRODUCT. // If you did not accept the terms of the EULA, you are not authorized to use // this source code. For a copy of the EULA, please see the LICENSE.RTF on your // install media. // cpp_quote("//") cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.") cpp_quote("//") cpp_quote("//") cpp_quote("// Use of this source code is subject to the terms of the Microsoft end-user") cpp_quote("// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.") cpp_quote("// If you did not accept the terms of the EULA, you are not authorized to use") cpp_quote("// this source code. For a copy of the EULA, please see the LICENSE.RTF on your") cpp_quote("// install media.") 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 ") 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")