Scripting dictionary ActiveX control





ProgID = Scripting.Dictionary

// Generated .IDL file (by the OLE/COM Object Viewer)
// 
// typelib filename: scrrun.dll

[
  uuid(420B2830-E718-11CF-893D-00A0C9054228),
  version(1.0),
  helpstring("Microsoft Scripting Runtime"),
  helpfile("VBENLR98.CHM"),
  helpcontext(00000000)
]
library Scripting
{
    // TLib :     // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
    importlib("STDOLE2.TLB");

    // Forward declare all types defined in this typelib
    interface IDictionary;

    [
      odl,
      uuid(42C642C1-97E1-11CF-978F-00A02463E06F),
      helpstring("Scripting.Dictionary Interface"),
      helpcontext(0x00214b22),
      hidden,
      dual,
      oleautomation
    ]
    interface IDictionary : IDispatch {
        [id(00000000), propputref, helpstring("Set or get the item for a given key"), helpcontext(0x00214b3a)]
        HRESULT Item(
                        [in] VARIANT* Key, 
                        [in] VARIANT* pRetItem);
        [id(00000000), propput, helpstring("Set or get the item for a given key"), helpcontext(0x00214b3a)]
        HRESULT Item(
                        [in] VARIANT* Key, 
                        [in] VARIANT* pRetItem);
        [id(00000000), propget, helpstring("Set or get the item for a given key"), helpcontext(0x00214b3a)]
        HRESULT Item(
                        [in] VARIANT* Key, 
                        [out, retval] VARIANT* pRetItem);
        [id(0x00000001), helpstring("Add a new key and item to the dictionary."), helpcontext(0x00214b3c)]
        HRESULT Add(
                        [in] VARIANT* Key, 
                        [in] VARIANT* Item);
        [id(0x00000002), propget, helpstring("Get the number of items in the dictionary."), helpcontext(0x00214b39)]
        HRESULT Count([out, retval] long* pCount);
        [id(0x00000003), helpstring("Determine if a given key is in the dictionary."), helpcontext(0x00214b3d)]
        HRESULT Exists(
                        [in] VARIANT* Key, 
                        [out, retval] VARIANT_BOOL* pExists);
        [id(0x00000004), helpstring("Get an array containing all items in the dictionary."), helpcontext(0x00214b3e)]
        HRESULT Items([out, retval] VARIANT* pItemsArray);
        [id(0x00000005), propput, helpstring("Change a key to a different key."), helpcontext(0x00214b3b)]
        HRESULT Key(
                        [in] VARIANT* Key, 
                        [in] VARIANT* rhs);
        [id(0x00000006), helpstring("Get an array containing all keys in the dictionary."), helpcontext(0x00214b3f)]
        HRESULT Keys([out, retval] VARIANT* pKeysArray);
        [id(0x00000007), helpstring("Remove a given key from the dictionary."), helpcontext(0x00214b40)]
        HRESULT Remove([in] VARIANT* Key);
        [id(0x00000008), helpstring("Remove all information from the dictionary."), helpcontext(0x00214b41)]
        HRESULT RemoveAll();
        [id(0x00000009), propput, helpstring("Set or get the string comparison method."), helpcontext(0x00214b2b)]
        HRESULT CompareMode([in] CompareMethod pcomp);
        [id(0x00000009), propget, helpstring("Set or get the string comparison method."), helpcontext(0x00214b2b)]
        HRESULT CompareMode([out, retval] CompareMethod* pcomp);
        [id(0xfffffffc), restricted]
        HRESULT _NewEnum([out, retval] IUnknown** ppunk);
        [id(0x0000000a), propget, hidden]
        HRESULT HashVal(
                        [in] VARIANT* Key, 
                        [out, retval] VARIANT* HashVal);
    };

    [
      uuid(EE09B103-97E0-11CF-978F-00A02463E06F),
      helpstring("Scripting.Dictionary"),
      helpcontext(0x00214b22)
    ]
    coclass Dictionary {
        [default] interface IDictionary;
    };

};