// 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.Graphics.Printing.h"
#include "Windows.Storage.h"
#include "Windows.Storage.Streams.h"
// Importing Collections header
#include "Windows.Foundation.Collections.h"

/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CDevices_CScanners_CIImageScanner_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CScanners_CIImageScanner_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CScanners_CIImageScanner __x_ABI_CWindows_CDevices_CScanners_CIImageScanner;

#endif // ____x_ABI_CWindows_CDevices_CScanners_CIImageScanner_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration;

#endif // ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration;

#endif // ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult __x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult;

#endif // ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult __x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult;

#endif // ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration __x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration;

#endif // ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics __x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics;

#endif // ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner;

#if !defined(____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner;

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

    typedef struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* put_Completed)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This,
        __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* handler);
    HRESULT (STDMETHODCALLTYPE* get_Completed)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This,
        __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner** result);
    HRESULT (STDMETHODCALLTYPE* GetResults)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This,
        __x_ABI_CWindows_CDevices_CScanners_CIImageScanner** result);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerVtbl;

    interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner;

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

    typedef struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* This,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner* asyncInfo,
        enum __x_ABI_CWindows_CFoundation_CAsyncStatus asyncStatus);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerVtbl;

    interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner_INTERFACE_DEFINED__
    
typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult;

#if !defined(____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult;

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

    typedef struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* put_Completed)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This,
        __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* handler);
    HRESULT (STDMETHODCALLTYPE* get_Completed)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This,
        __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult** result);
    HRESULT (STDMETHODCALLTYPE* GetResults)(__x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This,
        __x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult** result);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResultVtbl;

    interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult;

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

    typedef struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* This,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult* asyncInfo,
        enum __x_ABI_CWindows_CFoundation_CAsyncStatus asyncStatus);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResultVtbl;

    interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult_INTERFACE_DEFINED__
    
typedef interface __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32 __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32;

typedef interface __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32 __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32;

#if !defined(____x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32 __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32;

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

    typedef struct __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
        __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* asyncInfo,
        enum __x_ABI_CWindows_CFoundation_CAsyncStatus asyncStatus);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32Vtbl;

    interface __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32Vtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32 __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32;

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

    typedef struct __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* put_Progress)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
        __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* handler);
    HRESULT (STDMETHODCALLTYPE* get_Progress)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
        __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32** result);
    HRESULT (STDMETHODCALLTYPE* put_Completed)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
        __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* handler);
    HRESULT (STDMETHODCALLTYPE* get_Completed)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
        __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32** result);
    HRESULT (STDMETHODCALLTYPE* GetResults)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
        __x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult** result);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32Vtbl;

    interface __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32Vtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32 __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32;

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

    typedef struct __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* This,
        __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32* asyncInfo,
        UINT32 progressInfo);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32Vtbl;

    interface __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32Vtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32_INTERFACE_DEFINED__
    
#ifndef ____x_ABI_CWindows_CStorage_CIStorageFile_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIStorageFile_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CStorage_CIStorageFile __x_ABI_CWindows_CStorage_CIStorageFile;

#endif // ____x_ABI_CWindows_CStorage_CIStorageFile_FWD_DEFINED__

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CStorage__CStorageFile_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CStorage__CStorageFile_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CStorage__CStorageFile __x_ABI_C__FIIterator_1___x_ABI_CWindows__CStorage__CStorageFile;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CStorage__CStorageFileVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CStorage__CStorageFileVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CStorage__CStorageFile
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CStorage__CStorageFileVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CStorage__CStorageFile_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CStorage__CStorageFile_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CStorage__CStorageFile_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CStorage__CStorageFile __x_ABI_C__FIIterable_1___x_ABI_CWindows__CStorage__CStorageFile;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CStorage__CStorageFileVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CStorage__CStorageFileVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CStorage__CStorageFile
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CStorage__CStorageFileVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CStorage__CStorageFile_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CStorage__CStorageFile_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CStorage__CStorageFile_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CStorage__CStorageFile __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CStorage__CStorageFile;

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

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CStorage__CStorageFileVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CStorage__CStorageFileVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CStorage__CStorageFile
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CStorage__CStorageFileVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CStorage__CStorageFile_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CFoundation_CAsyncStatus __x_ABI_CWindows_CFoundation_CAsyncStatus;

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CFoundation_CIAsyncInfo __x_ABI_CWindows_CFoundation_CIAsyncInfo;

#endif // ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__

typedef struct __x_ABI_CWindows_CFoundation_CRect __x_ABI_CWindows_CFoundation_CRect;

typedef struct __x_ABI_CWindows_CFoundation_CSize __x_ABI_CWindows_CFoundation_CSize;

typedef enum __x_ABI_CWindows_CGraphics_CPrinting_CPrintMediaSize __x_ABI_CWindows_CGraphics_CPrinting_CPrintMediaSize;

typedef enum __x_ABI_CWindows_CGraphics_CPrinting_CPrintOrientation __x_ABI_CWindows_CGraphics_CPrinting_CPrintOrientation;

#ifndef ____x_ABI_CWindows_CStorage_CIStorageFolder_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIStorageFolder_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CStorage_CIStorageFolder __x_ABI_CWindows_CStorage_CIStorageFolder;

#endif // ____x_ABI_CWindows_CStorage_CIStorageFolder_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream;

#endif // ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerAutoCroppingMode __x_ABI_CWindows_CDevices_CScanners_CImageScannerAutoCroppingMode;

typedef enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerColorMode __x_ABI_CWindows_CDevices_CScanners_CImageScannerColorMode;

typedef enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat;

typedef enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource;

typedef struct __x_ABI_CWindows_CDevices_CScanners_CImageScannerResolution __x_ABI_CWindows_CDevices_CScanners_CImageScannerResolution;

enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerAutoCroppingMode
    {
        __x_ABI_CWindows_CDevices_CScanners_CImageScannerAutoCroppingMode_Disabled = 0,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerAutoCroppingMode_SingleRegion = 1,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerAutoCroppingMode_MultipleRegion = 2,
};

enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerColorMode
    {
        __x_ABI_CWindows_CDevices_CScanners_CImageScannerColorMode_Color = 0,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerColorMode_Grayscale = 1,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerColorMode_Monochrome = 2,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerColorMode_AutoColor = 3,
};

enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat
    {
        __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat_Jpeg = 0,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat_Png = 1,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat_DeviceIndependentBitmap = 2,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat_Tiff = 3,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat_Xps = 4,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat_OpenXps = 5,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat_Pdf = 6,
};

enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource
    {
        __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource_Default = 0,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource_Flatbed = 1,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource_Feeder = 2,
    __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource_AutoConfigured = 3,
};

struct __x_ABI_CWindows_CDevices_CScanners_CImageScannerResolution
    {
        FLOAT DpiX;
    FLOAT DpiY;
};

#if !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScanner_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CScanners_CIImageScanner_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_DeviceId)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
        HSTRING* value);
    HRESULT (STDMETHODCALLTYPE* get_DefaultScanSource)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource* value);
    HRESULT (STDMETHODCALLTYPE* IsScanSourceSupported)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource value,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* get_FlatbedConfiguration)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
        __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration** value);
    HRESULT (STDMETHODCALLTYPE* get_FeederConfiguration)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
        __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration** value);
    HRESULT (STDMETHODCALLTYPE* get_AutoConfiguration)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
        __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration** value);
    HRESULT (STDMETHODCALLTYPE* IsPreviewSupported)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource scanSource,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* ScanPreviewToStreamAsync)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource scanSource,
        __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream* targetStream,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScannerPreviewResult** operation);
    HRESULT (STDMETHODCALLTYPE* ScanFilesToFolderAsync)(__x_ABI_CWindows_CDevices_CScanners_CIImageScanner* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerScanSource scanSource,
        __x_ABI_CWindows_CStorage_CIStorageFolder* storageFolder,
        __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CDevices__CScanners__CImageScannerScanResult_UINT32** operation);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CScanners_CIImageScannerVtbl;

    interface __x_ABI_CWindows_CDevices_CScanners_CIImageScanner
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CScanners_CIImageScanner;
#endif /* !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScanner_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfigurationVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_CanAutoDetectPageSize)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_AutoDetectPageSize)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_AutoDetectPageSize)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_PageSize)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        enum __x_ABI_CWindows_CGraphics_CPrinting_CPrintMediaSize* value);
    HRESULT (STDMETHODCALLTYPE* put_PageSize)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        enum __x_ABI_CWindows_CGraphics_CPrinting_CPrintMediaSize value);
    HRESULT (STDMETHODCALLTYPE* get_PageOrientation)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        enum __x_ABI_CWindows_CGraphics_CPrinting_CPrintOrientation* value);
    HRESULT (STDMETHODCALLTYPE* put_PageOrientation)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        enum __x_ABI_CWindows_CGraphics_CPrinting_CPrintOrientation value);
    HRESULT (STDMETHODCALLTYPE* get_PageSizeDimensions)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        struct __x_ABI_CWindows_CFoundation_CSize* value);
    HRESULT (STDMETHODCALLTYPE* IsPageSizeSupported)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        enum __x_ABI_CWindows_CGraphics_CPrinting_CPrintMediaSize pageSize,
        enum __x_ABI_CWindows_CGraphics_CPrinting_CPrintOrientation pageOrientation,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* get_MaxNumberOfPages)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* put_MaxNumberOfPages)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        UINT32 value);
    HRESULT (STDMETHODCALLTYPE* get_CanScanDuplex)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_Duplex)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_Duplex)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_CanScanAhead)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_ScanAhead)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_ScanAhead)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration* This,
        boolean value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfigurationVtbl;

    interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfigurationVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration;
#endif /* !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFeederConfiguration_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfigurationVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_DefaultFormat)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat* value);
    HRESULT (STDMETHODCALLTYPE* get_Format)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat* value);
    HRESULT (STDMETHODCALLTYPE* put_Format)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat value);
    HRESULT (STDMETHODCALLTYPE* IsFormatSupported)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat value,
        boolean* result);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfigurationVtbl;

    interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfigurationVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration;
#endif /* !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerFormatConfiguration_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Succeeded)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_Format)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerFormat* value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResultVtbl;

    interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResultVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult;
#endif /* !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerPreviewResult_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_ScannedFiles)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CStorage__CStorageFile** value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResultVtbl;

    interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResultVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult;
#endif /* !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerScanResult_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfigurationVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_MinScanArea)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        struct __x_ABI_CWindows_CFoundation_CSize* value);
    HRESULT (STDMETHODCALLTYPE* get_MaxScanArea)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        struct __x_ABI_CWindows_CFoundation_CSize* value);
    HRESULT (STDMETHODCALLTYPE* get_SelectedScanRegion)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        struct __x_ABI_CWindows_CFoundation_CRect* value);
    HRESULT (STDMETHODCALLTYPE* put_SelectedScanRegion)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        struct __x_ABI_CWindows_CFoundation_CRect value);
    HRESULT (STDMETHODCALLTYPE* get_AutoCroppingMode)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerAutoCroppingMode* value);
    HRESULT (STDMETHODCALLTYPE* put_AutoCroppingMode)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerAutoCroppingMode value);
    HRESULT (STDMETHODCALLTYPE* IsAutoCroppingModeSupported)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerAutoCroppingMode value,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* get_MinResolution)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        struct __x_ABI_CWindows_CDevices_CScanners_CImageScannerResolution* value);
    HRESULT (STDMETHODCALLTYPE* get_MaxResolution)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        struct __x_ABI_CWindows_CDevices_CScanners_CImageScannerResolution* value);
    HRESULT (STDMETHODCALLTYPE* get_OpticalResolution)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        struct __x_ABI_CWindows_CDevices_CScanners_CImageScannerResolution* value);
    HRESULT (STDMETHODCALLTYPE* get_DesiredResolution)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        struct __x_ABI_CWindows_CDevices_CScanners_CImageScannerResolution* value);
    HRESULT (STDMETHODCALLTYPE* put_DesiredResolution)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        struct __x_ABI_CWindows_CDevices_CScanners_CImageScannerResolution value);
    HRESULT (STDMETHODCALLTYPE* get_ActualResolution)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        struct __x_ABI_CWindows_CDevices_CScanners_CImageScannerResolution* value);
    HRESULT (STDMETHODCALLTYPE* get_DefaultColorMode)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerColorMode* value);
    HRESULT (STDMETHODCALLTYPE* get_ColorMode)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerColorMode* value);
    HRESULT (STDMETHODCALLTYPE* put_ColorMode)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerColorMode value);
    HRESULT (STDMETHODCALLTYPE* IsColorModeSupported)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        enum __x_ABI_CWindows_CDevices_CScanners_CImageScannerColorMode value,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* get_MinBrightness)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_MaxBrightness)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_BrightnessStep)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_DefaultBrightness)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Brightness)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* put_Brightness)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        INT32 value);
    HRESULT (STDMETHODCALLTYPE* get_MinContrast)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_MaxContrast)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_ContrastStep)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* get_DefaultContrast)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* get_Contrast)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        INT32* value);
    HRESULT (STDMETHODCALLTYPE* put_Contrast)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration* This,
        INT32 value);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfigurationVtbl;

    interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfigurationVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration;
#endif /* !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerSourceConfiguration_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* FromIdAsync)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics* This,
        HSTRING deviceId,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CDevices__CScanners__CImageScanner** asyncInfo);
    HRESULT (STDMETHODCALLTYPE* GetDeviceSelector)(__x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics* This,
        HSTRING* selector);

        END_INTERFACE
    } __x_ABI_CWindows_CDevices_CScanners_CIImageScannerStaticsVtbl;

    interface __x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CDevices_CScanners_CIImageScannerStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CScanners_CIImageScannerStatics_INTERFACE_DEFINED__) */
    
