Timestamper Class Extension
Timestamper.idl
// Copyright 2006 ESRI
//                 
// All rights reserved under the copyright laws of the United States
// and applicable international laws, treaties, and conventions.
// 
// You may freely redistribute and use this sample code, with or
// without modification, provided you include the original copyright
// notice and use restrictions.
// 
// See the use restrictions.
// Timestamper.idl : IDL source for Timestamper.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (Timestamper.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";
  [
    object,
    uuid(E27271FD-A04D-11D5-8A3E-00104BB6FCCB),
  
    helpstring("ITimestampClassExtension Interface"),
    pointer_default(unique)
  ]
  interface ITimestampClassExtension : IUnknown
  {
    [propget, helpstring("property CreationFieldName")] HRESULT CreationFieldName([out, retval] BSTR *pVal);
    [propput, helpstring("property CreationFieldName")] HRESULT CreationFieldName([in] BSTR newVal);
    [propget, helpstring("property ModificationFieldName")] HRESULT ModificationFieldName([out, retval] BSTR *pVal);
    [propput, helpstring("property ModificationFieldName")] HRESULT ModificationFieldName([in] BSTR newVal);
    [propget, helpstring("property UserFieldName")] HRESULT UserFieldName([out, retval] BSTR *pVal);
    [propput, helpstring("property UserFieldName")] HRESULT UserFieldName([in] BSTR newVal);
    [helpstring("method UpdateProperties")] HRESULT UpdateProperties();
  };
  [
    object,
    uuid(F4655E67-A10B-11D5-8A3F-00104BB6FCCB),
  
    helpstring("ITimestampedOCDescription Interface"),
    pointer_default(unique)
  ]
  interface ITimestampedOCDescription : IUnknown
  {
  };
  [
    object,
    uuid(64C6C3C3-A1EE-11D5-8A40-00104BB6FCCB),
  
    helpstring("ITimestampedFCDescription Interface"),
    pointer_default(unique)
  ]
  interface ITimestampedFCDescription : IUnknown
  {
  };
[
  uuid(E27271F1-A04D-11D5-8A3E-00104BB6FCCB),
  version(1.0),
  helpstring("Timestamper 1.0 Type Library")
]
library TIMESTAMPERLib
{
  importlib("stdole32.tlb");
  importlib("stdole2.tlb");
  importlib("C:\Program Files\arcgis\com\esriGeodatabase.olb");

  [
    uuid(E27271FE-A04D-11D5-8A3E-00104BB6FCCB),
    helpstring("TimestampClassExtension Class")
  ]
  coclass TimestampClassExtension
  {
    [default] interface IUnknown;
    interface IClassExtension;
    interface IObjectClassExtension;
    interface IObjectClassEvents;
    interface ITimestampClassExtension;
    interface ISupportErrorInfo;
  };
  [
    uuid(F4655E68-A10B-11D5-8A3F-00104BB6FCCB),
    helpstring("TimestampedOCDescription Class")
  ]
  coclass TimestampedOCDescription
  {
    [default] interface ITimestampedOCDescription;
  };
  [
    uuid(64C6C3C4-A1EE-11D5-8A40-00104BB6FCCB),
    helpstring("TimestampedFCDescription Class")
  ]
  coclass TimestampedFCDescription
  {
    [default] interface ITimestampedFCDescription;
  };

  [
    uuid(6FEBFCA5-A1FC-11D5-8A40-00104BB6FCCB),
    helpstring("TimestampPropPage Class")
  ]
  coclass TimestampPropPage
  {
    interface IUnknown;
  };
};