with GNATCOM.Errors;

package body MSHTML.IEnumRegisterWordA_Interface is

   procedure Initialize (This : in out IEnumRegisterWordA_Type) is
   begin
      Set_IID (This, IID_IEnumRegisterWordA);
   end Initialize;

   function Pointer (This : IEnumRegisterWordA_Type)
     return Pointer_To_IEnumRegisterWordA
   is
   begin
      return To_Pointer_To_IEnumRegisterWordA (Address (This));
   end Pointer;

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

   procedure Clone
     (This   : IEnumRegisterWordA_Type;
      ppEnum : Pointer_To_Pointer_To_IEnumRegisterWordA)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Clone
         (Pointer (This),
          ppEnum));

   end Clone;

   procedure Next
     (This           : IEnumRegisterWordA_Type;
      ulCount        : Interfaces.C.unsigned_long;
      rgRegisterWord : Pointer_To_u_MIDLuu_MIDL_itf_mshtml_0001_0042_0001;
      pcFetched      : GNATCOM.Types.Pointer_To_unsigned_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Next
         (Pointer (This),
          ulCount,
          rgRegisterWord,
          pcFetched));

   end Next;

   procedure reset
     (This : IEnumRegisterWordA_Type)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.reset
         (Pointer (This)));

   end reset;

   procedure Skip
     (This    : IEnumRegisterWordA_Type;
      ulCount : Interfaces.C.unsigned_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Skip
         (Pointer (This),
          ulCount));

   end Skip;

end MSHTML.IEnumRegisterWordA_Interface;

