// WARNING: Please don't edit this file. It was generated by Swift/WinRT v0.0.1

#pragma once
// Header files for imported files
#include <inspectable.h>
#include <EventToken.h>
#include <windowscontracts.h>
#include "Windows.Foundation.h"
#include "Windows.Devices.Lights.h"
#include "Windows.Graphics.Imaging.h"
#include "Windows.UI.h"
// Importing Collections header
#include "Windows.Foundation.Collections.h"

/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs;

#endif // ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
        UINT32 itemsLength,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffectVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffectVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffectVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffectVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylistVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
        UINT32 itemsLength,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylistVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylistVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylistVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylistVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylistVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
        UINT32 index,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect** result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect* value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffectVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffectVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CDevices__CLights__CEffects__CILampArrayEffect_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs;

    typedef struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs* This,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* sender,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgsVtbl;

    interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgsVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs;

    typedef struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs* This,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* sender,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgsVtbl;

    interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgsVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs_INTERFACE_DEFINED__
    
#ifndef ____x_ABI_CWindows_CDevices_CLights_CILampArray_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CLights_CILampArray_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CLights_CILampArray __x_ABI_CWindows_CDevices_CLights_CILampArray;

#endif // ____x_ABI_CWindows_CDevices_CLights_CILampArray_FWD_DEFINED__

typedef struct __x_ABI_CWindows_CFoundation_CSize __x_ABI_CWindows_CFoundation_CSize;

typedef struct __x_ABI_CWindows_CFoundation_CTimeSpan __x_ABI_CWindows_CFoundation_CTimeSpan;

#ifndef ____x_ABI_CWindows_CGraphics_CImaging_CISoftwareBitmap_FWD_DEFINED__
#define ____x_ABI_CWindows_CGraphics_CImaging_CISoftwareBitmap_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CGraphics_CImaging_CISoftwareBitmap __x_ABI_CWindows_CGraphics_CImaging_CISoftwareBitmap;

#endif // ____x_ABI_CWindows_CGraphics_CImaging_CISoftwareBitmap_FWD_DEFINED__

typedef struct __x_ABI_CWindows_CUI_CColor __x_ABI_CWindows_CUI_CColor;

typedef enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectCompletionBehavior __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectCompletionBehavior;

typedef enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectStartMode __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectStartMode;

typedef enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayRepetitionMode __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayRepetitionMode;

enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectCompletionBehavior
    {
        __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectCompletionBehavior_ClearState = 0,
    __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectCompletionBehavior_KeepState = 1,
};

enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectStartMode
    {
        __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectStartMode_Sequential = 0,
    __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectStartMode_Simultaneous = 1,
};

enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayRepetitionMode
    {
        __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayRepetitionMode_Occurrences = 0,
    __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayRepetitionMode_Forever = 1,
};

#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Duration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_Duration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_StartDelay)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_StartDelay)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_UpdateInterval)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_UpdateInterval)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_SuggestedBitmapSize)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
        struct __x_ABI_CWindows_CFoundation_CSize* value);
    HRESULT (STDMETHODCALLTYPE* add_BitmapRequested)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
        __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayBitmapRequestedEventArgs* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_BitmapRequested)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect* This,
        EventRegistrationToken token);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* CreateInstance)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory* This,
        __x_ABI_CWindows_CDevices_CLights_CILampArray* lampArray,
        UINT32 lampIndexesLength,
        INT32* lampIndexes,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffect** value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactoryVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactoryVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapEffectFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_SinceStarted)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* UpdateBitmap)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs* This,
        __x_ABI_CWindows_CGraphics_CImaging_CISoftwareBitmap* bitmap);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgsVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBitmapRequestedEventArgs_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Color)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CUI_CColor* value);
    HRESULT (STDMETHODCALLTYPE* put_Color)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CUI_CColor value);
    HRESULT (STDMETHODCALLTYPE* get_AttackDuration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_AttackDuration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_SustainDuration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_SustainDuration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_DecayDuration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_DecayDuration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_RepetitionDelay)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_RepetitionDelay)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_StartDelay)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_StartDelay)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_Occurrences)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* put_Occurrences)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        INT32 value);
    HRESULT (STDMETHODCALLTYPE* get_RepetitionMode)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayRepetitionMode* value);
    HRESULT (STDMETHODCALLTYPE* put_RepetitionMode)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect* This,
        enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayRepetitionMode value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* CreateInstance)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory* This,
        __x_ABI_CWindows_CDevices_CLights_CILampArray* lampArray,
        UINT32 lampIndexesLength,
        INT32* lampIndexes,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffect** value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactoryVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactoryVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayBlinkEffectFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Color)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
        struct __x_ABI_CWindows_CUI_CColor* value);
    HRESULT (STDMETHODCALLTYPE* put_Color)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
        struct __x_ABI_CWindows_CUI_CColor value);
    HRESULT (STDMETHODCALLTYPE* get_RampDuration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_RampDuration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_StartDelay)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_StartDelay)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_CompletionBehavior)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
        enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectCompletionBehavior* value);
    HRESULT (STDMETHODCALLTYPE* put_CompletionBehavior)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect* This,
        enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectCompletionBehavior value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* CreateInstance)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory* This,
        __x_ABI_CWindows_CDevices_CLights_CILampArray* lampArray,
        UINT32 lampIndexesLength,
        INT32* lampIndexes,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffect** value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactoryVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactoryVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayColorRampEffectFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Duration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_Duration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_UpdateInterval)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_UpdateInterval)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* add_UpdateRequested)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This,
        __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayCustomEffect___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayUpdateRequestedEventArgs* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_UpdateRequested)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect* This,
        EventRegistrationToken token);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* CreateInstance)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory* This,
        __x_ABI_CWindows_CDevices_CLights_CILampArray* lampArray,
        UINT32 lampIndexesLength,
        INT32* lampIndexes,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffect** value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactoryVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactoryVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayCustomEffectFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_ZIndex)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* put_ZIndex)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect* This,
        INT32 value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* Append)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffect* effect);
    HRESULT (STDMETHODCALLTYPE* OverrideZIndex)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
        INT32 zIndex);
    HRESULT (STDMETHODCALLTYPE* Start)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This);
    HRESULT (STDMETHODCALLTYPE* Stop)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This);
    HRESULT (STDMETHODCALLTYPE* Pause)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This);
    HRESULT (STDMETHODCALLTYPE* get_EffectStartMode)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
        enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectStartMode* value);
    HRESULT (STDMETHODCALLTYPE* put_EffectStartMode)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
        enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectStartMode value);
    HRESULT (STDMETHODCALLTYPE* get_Occurrences)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* put_Occurrences)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
        INT32 value);
    HRESULT (STDMETHODCALLTYPE* get_RepetitionMode)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
        enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayRepetitionMode* value);
    HRESULT (STDMETHODCALLTYPE* put_RepetitionMode)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist* This,
        enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayRepetitionMode value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylist_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* StartAll)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics* This,
        __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* value);
    HRESULT (STDMETHODCALLTYPE* StopAll)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics* This,
        __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* value);
    HRESULT (STDMETHODCALLTYPE* PauseAll)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics* This,
        __x_ABI_C__FIIterable_1___x_ABI_CWindows__CDevices__CLights__CEffects__CLampArrayEffectPlaylist* value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStaticsVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayEffectPlaylistStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Color)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
        struct __x_ABI_CWindows_CUI_CColor* value);
    HRESULT (STDMETHODCALLTYPE* put_Color)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
        struct __x_ABI_CWindows_CUI_CColor value);
    HRESULT (STDMETHODCALLTYPE* get_Duration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_Duration)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_StartDelay)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* put_StartDelay)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan value);
    HRESULT (STDMETHODCALLTYPE* get_CompletionBehavior)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
        enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectCompletionBehavior* value);
    HRESULT (STDMETHODCALLTYPE* put_CompletionBehavior)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect* This,
        enum __x_ABI_CWindows_CDevices_CLights_CEffects_CLampArrayEffectCompletionBehavior value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactoryVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* CreateInstance)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory* This,
        __x_ABI_CWindows_CDevices_CLights_CILampArray* lampArray,
        UINT32 lampIndexesLength,
        INT32* lampIndexes,
        __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffect** value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactoryVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactoryVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArraySolidEffectFactory_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_SinceStarted)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* This,
        struct __x_ABI_CWindows_CFoundation_CTimeSpan* value);
    HRESULT (STDMETHODCALLTYPE* SetColor)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* This,
        struct __x_ABI_CWindows_CUI_CColor desiredColor);
    HRESULT (STDMETHODCALLTYPE* SetColorForIndex)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* This,
        INT32 lampIndex,
        struct __x_ABI_CWindows_CUI_CColor desiredColor);
    HRESULT (STDMETHODCALLTYPE* SetSingleColorForIndices)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* This,
        struct __x_ABI_CWindows_CUI_CColor desiredColor,
        UINT32 lampIndexesLength,
        INT32* lampIndexes);
    HRESULT (STDMETHODCALLTYPE* SetColorsForIndices)(__x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs* This,
        UINT32 desiredColorsLength,
        struct __x_ABI_CWindows_CUI_CColor* desiredColors,
        UINT32 lampIndexesLength,
        INT32* lampIndexes);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgsVtbl;

    interface __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CDevices_CLights_CEffects_CILampArrayUpdateRequestedEventArgs_INTERFACE_DEFINED__) */
    
