/////////////////////////////////////////////////////////////////////////////// // passportservices.idl // // ABSTRACT: // Contains interface definition for IPassportService. Any component // which needs to be loadable by the global services object // in the PassportExtension.dll must support this interface. // // HISTORY: // 04/28/00 - created (cfeller) // 08/10/00 - modified Initialize interface (stevefu) /////////////////////////////////////////////////////////////////////////////// import "oaidl.idl"; import "ocidl.idl"; [ object, uuid(6969D727-7FF7-4c51-8790-86551AF1B4D0), helpstring("IPassportService Interface"), pointer_default(unique) ] interface IPassportService : IUnknown { // Called to init the component to a well-known state // the second parameter is where you can get a list of loaded components HRESULT Initialize([in] BSTR bstrConfigFilePath, [in] IServiceProvider* p); // Called when services manager is about to unload the component HRESULT Shutdown(); // Part 1 of a two-part call. This call indicates to the component that it should // get ready to refresh any state that it holds. The externally visible state should // remain the same to any outside objects using this component. This call expects that // the component will cache the new state until Part 2. HRESULT ReloadState([in] IServiceProvider* p); // Part 2 of a two-part call. The component should now swap the old state with the new // state it cached in the call to ReloadState(). HRESULT CommitState([in] IServiceProvider* p); // This is for runtime diagnostics. The component should SysAlloc:: a buffer containing // formatted information that describes the current internal state of itself. Caller // is responsible for freeing the memory. HRESULT DumpState([out,retval] BSTR* pbstrState); }; /////////////// // EOF ///////////////