/////////////////////////////////////////////////////////////////////////////// // hashstring.idl // // ABSTRACT: // Contains interface definition for IStringTable. This implementer maintains a // key/value pair of BSTR string values for lookup by any caller. // // HISTORY: // 05/12/00 - created (cfeller) /////////////////////////////////////////////////////////////////////////////// import "oaidl.idl"; import "ocidl.idl"; [ object, uuid(20FDEBA0-E15A-42DA-9E3F-B5A5619E5229), helpstring("IStringTable Interface"), pointer_default(unique) ] interface IStringTable : IUnknown { // Load strings from the given ini file section. Ini file must be in the form of: // // [THE_SECTION_NAME] // Name1=Value1 // Name2=Value2 // // NOTE: The total number characters in the entire section must not exceed 8192. HRESULT LoadStringsFromFile([in] BSTR szConfigurationFilePath, [in] BSTR szIniSection); // Store a new string value in the component. HRESULT AddString([in] BSTR szKey, [in] BSTR szValue); // Store a new numeric value in the component. HRESULT AddNumber([in] BSTR szKey, [in] long lValue); // Retrieve the stored value identified by the given key. // // NOTE: Returns a copy of the data...NOT the original. Caller is responsible for // freeing the allocated copy. HRESULT LookupString([in] BSTR szKey, [out,retval] BSTR* pbstrValue); // Retrieve the stored value identified by the given key. // HRESULT LookupNumber([in] BSTR szKey, [out,retval] long* plValue); // Remove all strings stored by the component HRESULT ClearStrings(); }; [ uuid(D16D0A7E-DB9A-4080-8CB6-D5FD6AE17269), version(1.0), helpstring("HashString 1.0 Type Library") ] library HASHSTRINGLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); import "passportservice.idl"; [ uuid(5769ACF1-99C7-45BE-BC9B-A54A6648FD05), helpstring("StringTable Class") ] coclass StringTable { [default] interface IStringTable; interface IPassportService; }; }; //////////// // EOF ////////////