[in] long index,
                        [out] long* value);
        [id(0x60020017)]
        HRESULT PutClass([in] long value);
        [id(0x60020018)]
        HRESULT GetGlobalClass(
                        [in] long index,
                        [out] long* value);
        [id(0x60020019)]
        HRESULT PutGlobalClass([in] long value);
        [id(0x6002001a)]
        HRESULT GetPath(
                        [in] long index,
                        [out] BSTR* pathString);
        [id(0x6002001b)]
        HRESULT PutPath([in] BSTR pathString);
        [id(0x6002001c)]
        HRESULT GetDataLength(
                        [in] long index,
                        [out] long* value);
        [id(0x6002001d)]
        HRESULT GetData(
                        [in] long index,
                        [out] BSTR* value);
        [id(0x6002001e)]
        HRESULT PutData(
                        [in] long length,
                        [in] BSTR value);
    };

    [
      odl,
      uuid(7CA9DE40-9EB3-11D1-B033-00C04FD7EC47),
helpstring("Container class for actions system parameters."),
      dual,
      oleautomation
    ]
    interface IActionDescriptor : IDispatch {
        [id(0x60020000)]
        HRESULT GetType(
                        [in] long key,
                        [out] long* type);
        [id(0x60020001)]
        HRESULT GetKey(
                        [in] long index,
                        [out] long* key);
        [id(0x60020002)]
        HRESULT HasKey(
                        [in] long key,
                        [out] long* HasKey);
        [id(0x60020003)]
        HRESULT GetCount([out] long* count);
        [id(0x60020004)]
        HRESULT IsEqual(
                        [in] IActionDescriptor* otherDesc,
                        [out] long* IsEqual);
        [id(0x60020005)]
        HRESULT Erase([in] long key);
        [id(0x60020006)]
        HRESULT Clear();
        [id(0x60020007)]
        HRESULT GetInteger(
                        [in] long key,
                        [out] long* retval);
        [id(0x60020008)]
        HRESULT PutInteger(
                        [in] long key,
                        [in] long value);
        [id(0x60020009)]
        HRESULT GetDouble(
                        [in] long key,
                        [out] double* retval);
        [id(0x6002000a)]
        HRESULT PutDouble(
                        [in] long key,
                        [in] double value);
        [id(0x6002000b)]
        HRESULT GetUnitDouble(
                        [in] long key,
                        [out] long* unitID,
                        [out] double* retval);
        [id(0x6002000c)]
        HRESULT PutUnitDouble(
                        [in] long key,
                        [in] long unitID,
                        [in] double value);
        [id(0x6002000d)]
        HRESULT GetString(
                        [in] long key,
                        [out] BSTR* retval);
        [id(0x6002000e)]
        HRESULT PutString(
                        [in] long key,
                        [in] BSTR value);
        [id(0x6002000f)]
        HRESULT GetBoolean(
                        [in] long key,
                        [out] long* retval);
        [id(0x60020010)]
        HRESULT PutBoolean(
                        [in] long key,
                        [in] long value);
        [id(0x60020011)]
        HRESULT GetList(
                        [in] long key,
                        [out] IActionList** list);
        [id(0x60020012)]
        HRESULT PutList(
                        [in] long key,
                        [in] IActionList* list);
        [id(0x60020013)]
        HRESULT GetObject(
                        [in] long key,
                        [out] long* classID,
                        [out] IActionDescriptor** retval);
        [id(0x60020014)]
        HRESULT PutObject(
                        [in] long key,
                        [in] long classID,
                        [in] IActionDescriptor* value);
        [id(0x60020015)]
        HRESULT GetGlobalObject(
                        [in] long key,
                        [out] long* classID,
                        [out] IActionDescriptor** retval);
        [id(0x60020016)]
        HRESULT PutGlobalObject(
                        [in] long key,
                        [in] long classID,
                        [in] IActionDescriptor* value);
        [id(0x60020017)]
        HRESULT GetEnumerated(
                        [in] long key,
                        [out] long* enumType,
                        [out] long* value);
        [id(0x60020018)]
        HRESULT PutEnumerated(
                        [in] long key,
                        [in] long enumType,
                        [in] long value);
        [id(0x60020019)]
        HRESULT GetReference(
                        [in] long key,
                        [out] IActionReference** reference);
        [id(0x6002001a)]
        HRESULT PutReference(
                        [in] long key,
                        [in] IActionReference* reference);
        [id(0x6002001b)]
        HRESULT GetClass(
                        [in] long key,
                        [out] long* classID);
        [id(0x6002001c)]
        HRESULT PutClass(
                        [in] long key,
                        [in] long classID);
        [id(0x6002001d)]
        HRESULT GetGlobalClass(
                        [in] long key,
                        [out] long* classID);
        [id(0x6002001e)]
        HRESULT PutGlobalClass(
                        [in] long key,
                        [in] long classID);
        [id(0x6002001f)]
        HRESULT GetPath(
                        [in] long key,
                        [out] BSTR* pathString);
        [id(0x60020020)]
        HRESULT PutPath(
                        [in] long key,
                        [in] BSTR pathString);
        [id(0x60020021)]
        HRESULT GetDataLength(
                        [in] long key,
                        [out] long* value);
        [id(0x60020022)]
        HRESULT GetData(
                        [in] long key,
                        [out] BSTR* retval);
        [id(0x60020023)]
        HRESULT PutData(
                        [in] long key,
                        [in] BSTR value);
    };

    [
      odl,
      uuid(38FB4290-9DF6-11D1-B032-00C04FD7EC47),
helpstring("Control interface for Photoshop actions system."),
      dual,
      oleautomation
    ]
    interface IActionControl : IDispatch {
        [id(0x60020000), helpstring("Plays an event.")]
        HRESULT Play(
                        [in] long eventID,
                        [in] IActionDescriptor* parameters,
                        [in] long dialogOptions,
                        [out, retval] IActionDescriptor** result);
        [id(0x60020001)]
        HRESULT GetActionProperty(
                        [in] IActionReference* reference,
                        [out] IActionDescriptor** propertyDesc);
        [id(0x60020002)]
        HRESULT StringIDToTypeID(
                        [in] BSTR stringID,
                        [out] long* typeID);
        [id(0x60020003)]
        HRESULT TypeIDToStringID(
                        [in] long typeID,
                        [out] BSTR* stringID);
    };

    [
      odl,
      uuid(9077D1E1-8959-11CF-86B4-444553540000),
helpstring("Automation interface to Photoshop Image documeent"),
      dual,
      oleautomation
    ]
    interface IAutoPSDoc : IDispatch {
[id(0x60020000), propget, helpstring("Title of Image Document")]
        HRESULT Title([out, retval] BSTR* retval);
[id(0x60020001), helpstring("Closes and saves this document")]
        HRESULT Close();
[id(0x60020002), helpstring("Save to a different name, but file remains open")]
        HRESULT SaveTo([in] BSTR fileName);
[id(0x60020003), helpstring("Make this document the current target")]
        HRESULT Activate();
    };

    [
      odl,
      uuid(90CED626-8D78-11CF-86B4-444553540000),
      helpstring("Action."),
      dual,
      oleautomation
    ]
    interface IAction : IDispatch {
[id(0x60020000), propget, helpstring("Gets name of action")]
        HRESULT name([out, retval] BSTR* retval);
[id(0x60020001), helpstring("Plays action on active document")]
        HRESULT Play();
    };

    [
      odl,
      uuid(90CED625-8D78-11CF-86B4-444553540000),
      helpstring("Actions collection."),
      dual,
      oleautomation
    ]
    interface IActions : IDispatch {
[id(0x60020000), propget, helpstring("Returns number of Actions in collection.")]
        HRESULT count([out, retval] long* retval);
[id(00000000), propget, helpstring("Given an integer index, returns one of the Actions in the collection")]
        HRESULT Item(
                        [in] long index,
                        [out, retval] IAction** retval);
        [id(0xfffffffc), propget, restricted]
        HRESULT _NewEnum([out, retval] IUnknown** retval);
    };

    [
      odl,
      uuid(9414F179-C905-11D1-92CC-00600808FC44),
      helpstring("Adobe Photoshop 12.0 Application"),
      dual,
      oleautomation
    ]
    interface IPhotoshopApplication : IDispatch {
[id(0x60020000), propget, helpstring("Full name of application")]
        HRESULT FullName([out, retval] BSTR* retval);
        [id(0x60020001), helpstring("Exits the application.")]
        HRESULT Quit();
[id(0x60020002), helpstring("Opens a Photoshop document.")]
        HRESULT Open(
                        [in] BSTR fileName,
                        [out, retval] IAutoPSDoc** retval);
[id(0x60020003), helpstring("Plays Action by name on active document")]
        HRESULT PlayAction(
                        [in] BSTR fileName,
                        [out, retval] long* retval);
[id(0x60020004), propget, helpstring("Returns a collection of all the Actions currently loaded")]
        HRESULT Actions([out, retval] IActions** retval);
[id(0x60020005), helpstring("Creates an IActionControl object.")] HRESULT MakeControlObject([out, retval] IActionControl** retval); [id(0x60020006), helpstring("Creates an IActionDescriptor object.")] HRESULT MakeDescriptor([out, retval] IActionDescriptor** retval); [id(0x60020007), helpstring("Creates an IActionList object.")]
        HRESULT MakeList([out, retval] IActionList** retval);
[id(0x60020008), helpstring("Creates an IActionReference object.")] HRESULT MakeReference([out, retval] IActionReference** retval);
        [id(0x60020009), propget]
        HRESULT Visible([out, retval] long* isVisible);
        [id(0x60020009), propput]
        HRESULT Visible([in] long isVisible);
    };

    [
      uuid(6DECC242-87EF-11CF-86B4-444553540000),
      helpstring("Photoshop Object Type Information"),
      appobject
    ]
    coclass PhotoshopApplication {
        [default] interface IPhotoshopApplication;
        interface IDispatch;
    };
};

Reply via email to