with GNATCOM.IInterface;

with GNATCOM.Errors;

package body MSHTML.IHTMLCSSStyleDeclaration2_Interface is

   procedure Initialize (This : in out IHTMLCSSStyleDeclaration2_Type) is
   begin
      Set_IID (This, IID_IHTMLCSSStyleDeclaration2);
   end Initialize;

   function Pointer (This : IHTMLCSSStyleDeclaration2_Type)
     return Pointer_To_IHTMLCSSStyleDeclaration2
   is
   begin
      return To_Pointer_To_IHTMLCSSStyleDeclaration2 (Address (This));
   end Pointer;

   procedure Attach (This    : in out IHTMLCSSStyleDeclaration2_Type;
                     Pointer : in     Pointer_To_IHTMLCSSStyleDeclaration2)
   is
   begin
      Attach (This, GNATCOM.IInterface.To_Pointer_To_IUnknown
              (Pointer.all'Address));
   end Attach;

   procedure Put_msScrollChaining
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollChaining
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollChaining;

   function Get_msScrollChaining
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollChaining
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollChaining;

   procedure Put_msContentZooming
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msContentZooming
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msContentZooming;

   function Get_msContentZooming
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msContentZooming
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msContentZooming;

   procedure Put_msContentZoomSnapType
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msContentZoomSnapType
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msContentZoomSnapType;

   function Get_msContentZoomSnapType
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msContentZoomSnapType
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msContentZoomSnapType;

   procedure Put_msScrollRails
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollRails
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollRails;

   function Get_msScrollRails
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollRails
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollRails;

   procedure Put_msContentZoomChaining
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msContentZoomChaining
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msContentZoomChaining;

   function Get_msContentZoomChaining
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msContentZoomChaining
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msContentZoomChaining;

   procedure Put_msScrollSnapType
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollSnapType
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollSnapType;

   function Get_msScrollSnapType
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollSnapType
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollSnapType;

   procedure Put_msContentZoomLimit
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msContentZoomLimit
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msContentZoomLimit;

   function Get_msContentZoomLimit
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msContentZoomLimit
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msContentZoomLimit;

   procedure Put_msContentZoomSnap
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msContentZoomSnap
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msContentZoomSnap;

   function Get_msContentZoomSnap
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msContentZoomSnap
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msContentZoomSnap;

   procedure Put_msContentZoomSnapPoints
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msContentZoomSnapPoints
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msContentZoomSnapPoints;

   function Get_msContentZoomSnapPoints
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msContentZoomSnapPoints
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msContentZoomSnapPoints;

   procedure Put_msContentZoomLimitMin
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msContentZoomLimitMin
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msContentZoomLimitMin;

   function Get_msContentZoomLimitMin
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msContentZoomLimitMin
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msContentZoomLimitMin;

   procedure Put_msContentZoomLimitMax
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msContentZoomLimitMax
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msContentZoomLimitMax;

   function Get_msContentZoomLimitMax
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msContentZoomLimitMax
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msContentZoomLimitMax;

   procedure Put_msScrollSnapX
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollSnapX
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollSnapX;

   function Get_msScrollSnapX
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollSnapX
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollSnapX;

   procedure Put_msScrollSnapY
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollSnapY
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollSnapY;

   function Get_msScrollSnapY
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollSnapY
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollSnapY;

   procedure Put_msScrollSnapPointsX
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollSnapPointsX
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollSnapPointsX;

   function Get_msScrollSnapPointsX
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollSnapPointsX
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollSnapPointsX;

   procedure Put_msScrollSnapPointsY
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollSnapPointsY
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollSnapPointsY;

   function Get_msScrollSnapPointsY
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollSnapPointsY
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollSnapPointsY;

   procedure Put_msGridColumn
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msGridColumn
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msGridColumn;

   function Get_msGridColumn
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msGridColumn
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msGridColumn;

   procedure Put_msGridColumnAlign
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msGridColumnAlign
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msGridColumnAlign;

   function Get_msGridColumnAlign
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msGridColumnAlign
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msGridColumnAlign;

   procedure Put_msGridColumns
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msGridColumns
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msGridColumns;

   function Get_msGridColumns
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msGridColumns
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msGridColumns;

   procedure Put_msGridColumnSpan
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msGridColumnSpan
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msGridColumnSpan;

   function Get_msGridColumnSpan
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msGridColumnSpan
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msGridColumnSpan;

   procedure Put_msGridRow
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msGridRow
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msGridRow;

   function Get_msGridRow
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msGridRow
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msGridRow;

   procedure Put_msGridRowAlign
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msGridRowAlign
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msGridRowAlign;

   function Get_msGridRowAlign
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msGridRowAlign
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msGridRowAlign;

   procedure Put_msGridRows
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msGridRows
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msGridRows;

   function Get_msGridRows
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msGridRows
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msGridRows;

   procedure Put_msGridRowSpan
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msGridRowSpan
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msGridRowSpan;

   function Get_msGridRowSpan
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msGridRowSpan
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msGridRowSpan;

   procedure Put_msWrapThrough
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msWrapThrough
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msWrapThrough;

   function Get_msWrapThrough
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msWrapThrough
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msWrapThrough;

   procedure Put_msWrapMargin
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msWrapMargin
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msWrapMargin;

   function Get_msWrapMargin
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msWrapMargin
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msWrapMargin;

   procedure Put_msWrapFlow
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msWrapFlow
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msWrapFlow;

   function Get_msWrapFlow
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msWrapFlow
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msWrapFlow;

   procedure Put_msAnimationName
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msAnimationName
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msAnimationName;

   function Get_msAnimationName
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msAnimationName
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msAnimationName;

   procedure Put_msAnimationDuration
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msAnimationDuration
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msAnimationDuration;

   function Get_msAnimationDuration
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msAnimationDuration
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msAnimationDuration;

   procedure Put_msAnimationTimingFunction
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msAnimationTimingFunction
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msAnimationTimingFunction;

   function Get_msAnimationTimingFunction
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msAnimationTimingFunction
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msAnimationTimingFunction;

   procedure Put_msAnimationDelay
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msAnimationDelay
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msAnimationDelay;

   function Get_msAnimationDelay
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msAnimationDelay
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msAnimationDelay;

   procedure Put_msAnimationDirection
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msAnimationDirection
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msAnimationDirection;

   function Get_msAnimationDirection
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msAnimationDirection
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msAnimationDirection;

   procedure Put_msAnimationPlayState
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msAnimationPlayState
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msAnimationPlayState;

   function Get_msAnimationPlayState
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msAnimationPlayState
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msAnimationPlayState;

   procedure Put_msAnimationIterationCount
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msAnimationIterationCount
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msAnimationIterationCount;

   function Get_msAnimationIterationCount
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msAnimationIterationCount
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msAnimationIterationCount;

   procedure Put_msAnimation
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msAnimation
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msAnimation;

   function Get_msAnimation
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msAnimation
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msAnimation;

   procedure Put_msAnimationFillMode
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msAnimationFillMode
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msAnimationFillMode;

   function Get_msAnimationFillMode
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msAnimationFillMode
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msAnimationFillMode;

   procedure Put_colorInterpolationFilters
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_colorInterpolationFilters
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_colorInterpolationFilters;

   function Get_colorInterpolationFilters
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_colorInterpolationFilters
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_colorInterpolationFilters;

   procedure Put_columnCount
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_columnCount
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_columnCount;

   function Get_columnCount
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_columnCount
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_columnCount;

   procedure Put_columnWidth
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_columnWidth
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_columnWidth;

   function Get_columnWidth
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_columnWidth
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_columnWidth;

   procedure Put_columnGap
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_columnGap
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_columnGap;

   function Get_columnGap
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_columnGap
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_columnGap;

   procedure Put_columnFill
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_columnFill
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_columnFill;

   function Get_columnFill
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_columnFill
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_columnFill;

   procedure Put_columnSpan
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_columnSpan
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_columnSpan;

   function Get_columnSpan
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_columnSpan
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_columnSpan;

   procedure Put_columns
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_columns
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_columns;

   function Get_columns
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_columns
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_columns;

   procedure Put_columnRule
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_columnRule
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_columnRule;

   function Get_columnRule
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_columnRule
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_columnRule;

   procedure Put_columnRuleColor
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_columnRuleColor
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_columnRuleColor;

   function Get_columnRuleColor
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_columnRuleColor
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_columnRuleColor;

   procedure Put_columnRuleStyle
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_columnRuleStyle
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_columnRuleStyle;

   function Get_columnRuleStyle
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_columnRuleStyle
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_columnRuleStyle;

   procedure Put_columnRuleWidth
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_columnRuleWidth
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_columnRuleWidth;

   function Get_columnRuleWidth
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_columnRuleWidth
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_columnRuleWidth;

   procedure Put_breakBefore
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_breakBefore
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_breakBefore;

   function Get_breakBefore
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_breakBefore
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_breakBefore;

   procedure Put_breakAfter
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_breakAfter
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_breakAfter;

   function Get_breakAfter
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_breakAfter
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_breakAfter;

   procedure Put_breakInside
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_breakInside
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_breakInside;

   function Get_breakInside
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_breakInside
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_breakInside;

   procedure Put_floodColor
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_floodColor
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_floodColor;

   function Get_floodColor
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_floodColor
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_floodColor;

   procedure Put_floodOpacity
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_floodOpacity
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_floodOpacity;

   function Get_floodOpacity
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_floodOpacity
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_floodOpacity;

   procedure Put_lightingColor
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_lightingColor
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_lightingColor;

   function Get_lightingColor
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_lightingColor
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_lightingColor;

   procedure Put_msScrollLimitXMin
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollLimitXMin
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollLimitXMin;

   function Get_msScrollLimitXMin
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollLimitXMin
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollLimitXMin;

   procedure Put_msScrollLimitYMin
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollLimitYMin
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollLimitYMin;

   function Get_msScrollLimitYMin
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollLimitYMin
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollLimitYMin;

   procedure Put_msScrollLimitXMax
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollLimitXMax
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollLimitXMax;

   function Get_msScrollLimitXMax
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollLimitXMax
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollLimitXMax;

   procedure Put_msScrollLimitYMax
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollLimitYMax
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollLimitYMax;

   function Get_msScrollLimitYMax
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollLimitYMax
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollLimitYMax;

   procedure Put_msScrollLimit
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollLimit
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollLimit;

   function Get_msScrollLimit
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollLimit
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollLimit;

   procedure Put_textShadow
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_textShadow
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_textShadow;

   function Get_textShadow
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_textShadow
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_textShadow;

   procedure Put_msFlowFrom
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlowFrom
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlowFrom;

   function Get_msFlowFrom
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlowFrom
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlowFrom;

   procedure Put_msFlowInto
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlowInto
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlowInto;

   function Get_msFlowInto
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlowInto
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlowInto;

   procedure Put_msHyphens
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msHyphens
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msHyphens;

   function Get_msHyphens
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msHyphens
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msHyphens;

   procedure Put_msHyphenateLimitZone
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msHyphenateLimitZone
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msHyphenateLimitZone;

   function Get_msHyphenateLimitZone
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msHyphenateLimitZone
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msHyphenateLimitZone;

   procedure Put_msHyphenateLimitChars
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msHyphenateLimitChars
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msHyphenateLimitChars;

   function Get_msHyphenateLimitChars
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msHyphenateLimitChars
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msHyphenateLimitChars;

   procedure Put_msHyphenateLimitLines
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msHyphenateLimitLines
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msHyphenateLimitLines;

   function Get_msHyphenateLimitLines
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msHyphenateLimitLines
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msHyphenateLimitLines;

   procedure Put_msHighContrastAdjust
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msHighContrastAdjust
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msHighContrastAdjust;

   function Get_msHighContrastAdjust
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msHighContrastAdjust
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msHighContrastAdjust;

   procedure Put_enableBackground
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_enableBackground
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_enableBackground;

   function Get_enableBackground
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_enableBackground
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_enableBackground;

   procedure Put_msFontFeatureSettings
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFontFeatureSettings
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFontFeatureSettings;

   function Get_msFontFeatureSettings
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFontFeatureSettings
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFontFeatureSettings;

   procedure Put_msUserSelect
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msUserSelect
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msUserSelect;

   function Get_msUserSelect
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msUserSelect
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msUserSelect;

   procedure Put_msOverflowStyle
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msOverflowStyle
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msOverflowStyle;

   function Get_msOverflowStyle
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msOverflowStyle
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msOverflowStyle;

   procedure Put_msTransformStyle
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msTransformStyle
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msTransformStyle;

   function Get_msTransformStyle
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msTransformStyle
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msTransformStyle;

   procedure Put_msBackfaceVisibility
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msBackfaceVisibility
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msBackfaceVisibility;

   function Get_msBackfaceVisibility
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msBackfaceVisibility
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msBackfaceVisibility;

   procedure Put_msPerspective
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msPerspective
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msPerspective;

   function Get_msPerspective
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msPerspective
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msPerspective;

   procedure Put_msPerspectiveOrigin
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msPerspectiveOrigin
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msPerspectiveOrigin;

   function Get_msPerspectiveOrigin
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msPerspectiveOrigin
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msPerspectiveOrigin;

   procedure Put_msTransitionProperty
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msTransitionProperty
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msTransitionProperty;

   function Get_msTransitionProperty
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msTransitionProperty
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msTransitionProperty;

   procedure Put_msTransitionDuration
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msTransitionDuration
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msTransitionDuration;

   function Get_msTransitionDuration
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msTransitionDuration
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msTransitionDuration;

   procedure Put_msTransitionTimingFunction
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msTransitionTimingFunction
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msTransitionTimingFunction;

   function Get_msTransitionTimingFunction
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msTransitionTimingFunction
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msTransitionTimingFunction;

   procedure Put_msTransitionDelay
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msTransitionDelay
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msTransitionDelay;

   function Get_msTransitionDelay
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msTransitionDelay
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msTransitionDelay;

   procedure Put_msTransition
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msTransition
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msTransition;

   function Get_msTransition
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msTransition
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msTransition;

   procedure Put_msTouchAction
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msTouchAction
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msTouchAction;

   function Get_msTouchAction
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msTouchAction
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msTouchAction;

   procedure Put_msScrollTranslation
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msScrollTranslation
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msScrollTranslation;

   function Get_msScrollTranslation
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msScrollTranslation
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msScrollTranslation;

   procedure Put_msFlex
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlex
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlex;

   function Get_msFlex
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlex
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlex;

   procedure Put_msFlexPositive
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlexPositive
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlexPositive;

   function Get_msFlexPositive
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlexPositive
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlexPositive;

   procedure Put_msFlexNegative
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlexNegative
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlexNegative;

   function Get_msFlexNegative
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlexNegative
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlexNegative;

   procedure Put_msFlexPreferredSize
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlexPreferredSize
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlexPreferredSize;

   function Get_msFlexPreferredSize
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlexPreferredSize
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlexPreferredSize;

   procedure Put_msFlexFlow
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlexFlow
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlexFlow;

   function Get_msFlexFlow
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlexFlow
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlexFlow;

   procedure Put_msFlexDirection
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlexDirection
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlexDirection;

   function Get_msFlexDirection
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlexDirection
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlexDirection;

   procedure Put_msFlexWrap
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlexWrap
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlexWrap;

   function Get_msFlexWrap
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlexWrap
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlexWrap;

   procedure Put_msFlexAlign
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlexAlign
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlexAlign;

   function Get_msFlexAlign
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlexAlign
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlexAlign;

   procedure Put_msFlexItemAlign
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlexItemAlign
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlexItemAlign;

   function Get_msFlexItemAlign
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlexItemAlign
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlexItemAlign;

   procedure Put_msFlexPack
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlexPack
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlexPack;

   function Get_msFlexPack
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlexPack
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlexPack;

   procedure Put_msFlexLinePack
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlexLinePack
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlexLinePack;

   function Get_msFlexLinePack
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlexLinePack
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlexLinePack;

   procedure Put_msFlexOrder
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msFlexOrder
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msFlexOrder;

   function Get_msFlexOrder
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msFlexOrder
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msFlexOrder;

   procedure Put_msTouchSelect
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msTouchSelect
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_msTouchSelect;

   function Get_msTouchSelect
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msTouchSelect
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msTouchSelect;

   procedure Put_transform
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_transform
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_transform;

   function Get_transform
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_transform
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_transform;

   procedure Put_transformOrigin
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_transformOrigin
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_transformOrigin;

   function Get_transformOrigin
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_transformOrigin
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_transformOrigin;

   procedure Put_transformStyle
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_transformStyle
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_transformStyle;

   function Get_transformStyle
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_transformStyle
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_transformStyle;

   procedure Put_backfaceVisibility
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_backfaceVisibility
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_backfaceVisibility;

   function Get_backfaceVisibility
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_backfaceVisibility
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_backfaceVisibility;

   procedure Put_perspective
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_perspective
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_perspective;

   function Get_perspective
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_perspective
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_perspective;

   procedure Put_perspectiveOrigin
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_perspectiveOrigin
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_perspectiveOrigin;

   function Get_perspectiveOrigin
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_perspectiveOrigin
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_perspectiveOrigin;

   procedure Put_transitionProperty
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_transitionProperty
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_transitionProperty;

   function Get_transitionProperty
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_transitionProperty
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_transitionProperty;

   procedure Put_transitionDuration
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_transitionDuration
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_transitionDuration;

   function Get_transitionDuration
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_transitionDuration
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_transitionDuration;

   procedure Put_transitionTimingFunction
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_transitionTimingFunction
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_transitionTimingFunction;

   function Get_transitionTimingFunction
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_transitionTimingFunction
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_transitionTimingFunction;

   procedure Put_transitionDelay
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_transitionDelay
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_transitionDelay;

   function Get_transitionDelay
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_transitionDelay
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_transitionDelay;

   procedure Put_transition
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_transition
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_transition;

   function Get_transition
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_transition
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_transition;

   procedure Put_fontFeatureSettings
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_fontFeatureSettings
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_fontFeatureSettings;

   function Get_fontFeatureSettings
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_fontFeatureSettings
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_fontFeatureSettings;

   procedure Put_animationName
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_animationName
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_animationName;

   function Get_animationName
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_animationName
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_animationName;

   procedure Put_animationDuration
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_animationDuration
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_animationDuration;

   function Get_animationDuration
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_animationDuration
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_animationDuration;

   procedure Put_animationTimingFunction
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_animationTimingFunction
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_animationTimingFunction;

   function Get_animationTimingFunction
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_animationTimingFunction
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_animationTimingFunction;

   procedure Put_animationDelay
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_animationDelay
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_animationDelay;

   function Get_animationDelay
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_animationDelay
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_animationDelay;

   procedure Put_animationDirection
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_animationDirection
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_animationDirection;

   function Get_animationDirection
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_animationDirection
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_animationDirection;

   procedure Put_animationPlayState
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_animationPlayState
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_animationPlayState;

   function Get_animationPlayState
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_animationPlayState
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_animationPlayState;

   procedure Put_animationIterationCount
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_animationIterationCount
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_animationIterationCount;

   function Get_animationIterationCount
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_animationIterationCount
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_animationIterationCount;

   procedure Put_animation
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_animation
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_animation;

   function Get_animation
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_animation
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_animation;

   procedure Put_animationFillMode
     (This : IHTMLCSSStyleDeclaration2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_animationFillMode
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_animationFillMode;

   function Get_animationFillMode
     (This : IHTMLCSSStyleDeclaration2_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_animationFillMode
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_animationFillMode;

end MSHTML.IHTMLCSSStyleDeclaration2_Interface;

