windows-nt/Source/XPSP1/NT/ds/security/passport/idl/hashstring.idl
2020-09-26 16:20:57 +08:00

77 lines
2 KiB
Plaintext

///////////////////////////////////////////////////////////////////////////////
// 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
////////////