Accessing COM Objects P3

Joerg Joergonson via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jun 15 00:00:10 PDT 2016


                         [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;
     };
};



More information about the Digitalmars-d-learn mailing list