/* Header file automatically generated from windows.devices.smartcards.idl */
/*
 * File built with Microsoft(R) MIDLRT Compiler Engine Version 10.00.0223 
 */

#pragma warning( disable: 4049 )  /* more than 64k source lines */

/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif

/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#endif

#include <rpc.h>
#include <rpcndr.h>

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif /*COM_NO_WINDOWS_H*/
#ifndef __windows2Edevices2Esmartcards_h__
#define __windows2Edevices2Esmartcards_h__
#ifndef __windows2Edevices2Esmartcards_p_h__
#define __windows2Edevices2Esmartcards_p_h__


#pragma once

//
// Deprecated attribute support
//

#pragma push_macro("DEPRECATED")
#undef DEPRECATED

#if !defined(DISABLE_WINRT_DEPRECATION)
#if defined(__cplusplus)
#if __cplusplus >= 201402
#define DEPRECATED(x) [[deprecated(x)]]
#define DEPRECATEDENUMERATOR(x) [[deprecated(x)]]
#elif defined(_MSC_VER)
#if _MSC_VER >= 1900
#define DEPRECATED(x) [[deprecated(x)]]
#define DEPRECATEDENUMERATOR(x) [[deprecated(x)]]
#else
#define DEPRECATED(x) __declspec(deprecated(x))
#define DEPRECATEDENUMERATOR(x)
#endif // _MSC_VER >= 1900
#else // Not Standard C++ or MSVC, ignore the construct.
#define DEPRECATED(x)
#define DEPRECATEDENUMERATOR(x)
#endif  // C++ deprecation
#else // C - disable deprecation
#define DEPRECATED(x)
#define DEPRECATEDENUMERATOR(x)
#endif
#else // Deprecation is disabled
#define DEPRECATED(x)
#define DEPRECATEDENUMERATOR(x)
#endif  /* DEPRECATED */

// Disable Deprecation for this header, MIDL verifies that cross-type access is acceptable
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
#else
#pragma warning(push)
#pragma warning(disable: 4996)
#endif

// Ensure that the setting of the /ns_prefix command line switch is consistent for all headers.
// If you get an error from the compiler indicating "warning C4005: 'CHECK_NS_PREFIX_STATE': macro redefinition", this
// indicates that you have included two different headers with different settings for the /ns_prefix MIDL command line switch
#if !defined(DISABLE_NS_PREFIX_CHECKS)
#define CHECK_NS_PREFIX_STATE "always"
#endif // !defined(DISABLE_NS_PREFIX_CHECKS)


#pragma push_macro("MIDL_CONST_ID")
#undef MIDL_CONST_ID
#define MIDL_CONST_ID const __declspec(selectany)


//  API Contract Inclusion Definitions
#if !defined(SPECIFIC_API_CONTRACT_DEFINITIONS)
#if !defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATEDEVENTSCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATEDEVENTSCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATEDEVENTSCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATIONCAMERASETTINGSCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATIONCAMERASETTINGSCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATIONCAMERASETTINGSCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_CONTACTACTIVATEDEVENTSCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_ACTIVATION_CONTACTACTIVATEDEVENTSCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_CONTACTACTIVATEDEVENTSCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_WEBUISEARCHACTIVATEDEVENTSCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_ACTIVATION_WEBUISEARCHACTIVATEDEVENTSCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_WEBUISEARCHACTIVATEDEVENTSCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_BACKGROUND_BACKGROUNDALARMAPPLICATIONCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_BACKGROUND_BACKGROUNDALARMAPPLICATIONCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_BACKGROUND_BACKGROUNDALARMAPPLICATIONCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_CALLS_BACKGROUND_CALLSBACKGROUNDCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_CALLS_BACKGROUND_CALLSBACKGROUNDCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_CALLS_BACKGROUND_CALLSBACKGROUNDCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION 0x40000
#endif // defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSVOIPCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_CALLS_CALLSVOIPCONTRACT_VERSION 0x40000
#endif // defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSVOIPCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_CALLS_LOCKSCREENCALLCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_CALLS_LOCKSCREENCALLCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_CALLS_LOCKSCREENCALLCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_COMMUNICATIONBLOCKING_COMMUNICATIONBLOCKINGCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_COMMUNICATIONBLOCKING_COMMUNICATIONBLOCKINGCONTRACT_VERSION 0x20000
#endif // defined(WINDOWS_APPLICATIONMODEL_COMMUNICATIONBLOCKING_COMMUNICATIONBLOCKINGCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_FULLTRUSTAPPCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_FULLTRUSTAPPCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_FULLTRUSTAPPCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_SEARCH_SEARCHCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_SEARCH_SEARCHCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_SEARCH_SEARCHCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_STARTUPTASKCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_STARTUPTASKCONTRACT_VERSION 0x30000
#endif // defined(WINDOWS_APPLICATIONMODEL_STARTUPTASKCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_WALLET_WALLETCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_WALLET_WALLETCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_WALLET_WALLETCONTRACT_VERSION)

#if !defined(WINDOWS_DEVICES_PRINTERS_EXTENSIONS_EXTENSIONSCONTRACT_VERSION)
#define WINDOWS_DEVICES_PRINTERS_EXTENSIONS_EXTENSIONSCONTRACT_VERSION 0x20000
#endif // defined(WINDOWS_DEVICES_PRINTERS_EXTENSIONS_EXTENSIONSCONTRACT_VERSION)

#if !defined(WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION)
#define WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION 0x30000
#endif // defined(WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION)

#if !defined(WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION)
#define WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION 0x60000
#endif // defined(WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION)

#if !defined(WINDOWS_DEVICES_SMS_LEGACYSMSAPICONTRACT_VERSION)
#define WINDOWS_DEVICES_SMS_LEGACYSMSAPICONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_DEVICES_SMS_LEGACYSMSAPICONTRACT_VERSION)

#if !defined(WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION)
#define WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION 0x30000
#endif // defined(WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION)

#if !defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION)
#define WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION 0x70000
#endif // defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION)

#if !defined(WINDOWS_GAMING_INPUT_GAMINGINPUTPREVIEWCONTRACT_VERSION)
#define WINDOWS_GAMING_INPUT_GAMINGINPUTPREVIEWCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_GAMING_INPUT_GAMINGINPUTPREVIEWCONTRACT_VERSION)

#if !defined(WINDOWS_GLOBALIZATION_GLOBALIZATIONJAPANESEPHONETICANALYZERCONTRACT_VERSION)
#define WINDOWS_GLOBALIZATION_GLOBALIZATIONJAPANESEPHONETICANALYZERCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_GLOBALIZATION_GLOBALIZATIONJAPANESEPHONETICANALYZERCONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_CAPTURE_APPBROADCASTCONTRACT_VERSION)
#define WINDOWS_MEDIA_CAPTURE_APPBROADCASTCONTRACT_VERSION 0x20000
#endif // defined(WINDOWS_MEDIA_CAPTURE_APPBROADCASTCONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_CAPTURE_APPCAPTURECONTRACT_VERSION)
#define WINDOWS_MEDIA_CAPTURE_APPCAPTURECONTRACT_VERSION 0x40000
#endif // defined(WINDOWS_MEDIA_CAPTURE_APPCAPTURECONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_CAPTURE_APPCAPTUREMETADATACONTRACT_VERSION)
#define WINDOWS_MEDIA_CAPTURE_APPCAPTUREMETADATACONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_CAPTURE_APPCAPTUREMETADATACONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_CAPTURE_CAMERACAPTUREUICONTRACT_VERSION)
#define WINDOWS_MEDIA_CAPTURE_CAMERACAPTUREUICONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_CAPTURE_CAMERACAPTUREUICONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_CAPTURE_GAMEBARCONTRACT_VERSION)
#define WINDOWS_MEDIA_CAPTURE_GAMEBARCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_CAPTURE_GAMEBARCONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_DEVICES_CALLCONTROLCONTRACT_VERSION)
#define WINDOWS_MEDIA_DEVICES_CALLCONTROLCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_DEVICES_CALLCONTROLCONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_MEDIACONTROLCONTRACT_VERSION)
#define WINDOWS_MEDIA_MEDIACONTROLCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_MEDIACONTROLCONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_PROTECTION_PROTECTIONRENEWALCONTRACT_VERSION)
#define WINDOWS_MEDIA_PROTECTION_PROTECTIONRENEWALCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_PROTECTION_PROTECTIONRENEWALCONTRACT_VERSION)

#if !defined(WINDOWS_NETWORKING_CONNECTIVITY_WWANCONTRACT_VERSION)
#define WINDOWS_NETWORKING_CONNECTIVITY_WWANCONTRACT_VERSION 0x20000
#endif // defined(WINDOWS_NETWORKING_CONNECTIVITY_WWANCONTRACT_VERSION)

#if !defined(WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION)
#define WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION 0x30000
#endif // defined(WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION)

#if !defined(WINDOWS_PHONE_PHONECONTRACT_VERSION)
#define WINDOWS_PHONE_PHONECONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_PHONE_PHONECONTRACT_VERSION)

#if !defined(WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION)
#define WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION)

#if !defined(WINDOWS_SECURITY_ENTERPRISEDATA_ENTERPRISEDATACONTRACT_VERSION)
#define WINDOWS_SECURITY_ENTERPRISEDATA_ENTERPRISEDATACONTRACT_VERSION 0x50000
#endif // defined(WINDOWS_SECURITY_ENTERPRISEDATA_ENTERPRISEDATACONTRACT_VERSION)

#if !defined(WINDOWS_STORAGE_PROVIDER_CLOUDFILESCONTRACT_VERSION)
#define WINDOWS_STORAGE_PROVIDER_CLOUDFILESCONTRACT_VERSION 0x30000
#endif // defined(WINDOWS_STORAGE_PROVIDER_CLOUDFILESCONTRACT_VERSION)

#if !defined(WINDOWS_SYSTEM_ANDROMEDAPLACEHOLDERCONTRACT_VERSION)
#define WINDOWS_SYSTEM_ANDROMEDAPLACEHOLDERCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_SYSTEM_ANDROMEDAPLACEHOLDERCONTRACT_VERSION)

#if !defined(WINDOWS_SYSTEM_SYSTEMMANAGEMENTCONTRACT_VERSION)
#define WINDOWS_SYSTEM_SYSTEMMANAGEMENTCONTRACT_VERSION 0x60000
#endif // defined(WINDOWS_SYSTEM_SYSTEMMANAGEMENTCONTRACT_VERSION)

#if !defined(WINDOWS_UI_CORE_COREWINDOWDIALOGSCONTRACT_VERSION)
#define WINDOWS_UI_CORE_COREWINDOWDIALOGSCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_UI_CORE_COREWINDOWDIALOGSCONTRACT_VERSION)

#if !defined(WINDOWS_UI_VIEWMANAGEMENT_VIEWMANAGEMENTVIEWSCALINGCONTRACT_VERSION)
#define WINDOWS_UI_VIEWMANAGEMENT_VIEWMANAGEMENTVIEWSCALINGCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_UI_VIEWMANAGEMENT_VIEWMANAGEMENTVIEWSCALINGCONTRACT_VERSION)

#if !defined(WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION)
#define WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION)

#endif // defined(SPECIFIC_API_CONTRACT_DEFINITIONS)


// Header files for imported files
#include "inspectable.h"
#include "AsyncInfo.h"
#include "EventToken.h"
#include "windowscontracts.h"
#include "Windows.Foundation.h"
#include "Windows.Security.Cryptography.Core.h"
#include "Windows.Storage.Streams.h"
// Importing Collections header
#include <windows.foundation.collections.h>

#if defined(__cplusplus) && !defined(CINTERFACE)
/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardPinResetHandler;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler ABI::Windows::Devices::SmartCards::ISmartCardPinResetHandler

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ICardAddedEventArgs;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs ABI::Windows::Devices::SmartCards::ICardAddedEventArgs

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ICardRemovedEventArgs;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs ABI::Windows::Devices::SmartCards::ICardRemovedEventArgs

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface IKnownSmartCardAppletIds;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds ABI::Windows::Devices::SmartCards::IKnownSmartCardAppletIds

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCard;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard ABI::Windows::Devices::SmartCards::ISmartCard

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardAppletIdGroup;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroup

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardAppletIdGroup2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroup2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardAppletIdGroupFactory;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupFactory

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardAppletIdGroupRegistration;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardAppletIdGroupRegistration2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2 ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardAppletIdGroupStatics;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupStatics

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardAutomaticResponseApdu;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu ABI::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardAutomaticResponseApdu2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 ABI::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardAutomaticResponseApdu3;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3 ABI::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu3

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardAutomaticResponseApduFactory;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory ABI::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApduFactory

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardChallengeContext;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext ABI::Windows::Devices::SmartCards::ISmartCardChallengeContext

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardConnect;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect ABI::Windows::Devices::SmartCards::ISmartCardConnect

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardConnection;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection ABI::Windows::Devices::SmartCards::ISmartCardConnection

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramGenerator;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGenerator

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramGenerator2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGenerator2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramGeneratorStatics;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGeneratorStatics

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramGeneratorStatics2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2 ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGeneratorStatics2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramMaterialCharacteristics;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialCharacteristics

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramMaterialPackageCharacteristics;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPackageCharacteristics

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramMaterialPossessionProof;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPossessionProof

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramPlacementStep;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep ABI::Windows::Devices::SmartCards::ISmartCardCryptogramPlacementStep

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramStorageKeyCharacteristics;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyCharacteristics

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramStorageKeyInfo;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyInfo

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardCryptogramStorageKeyInfo2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2 ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyInfo2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardEmulator;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator ABI::Windows::Devices::SmartCards::ISmartCardEmulator

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardEmulator2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 ABI::Windows::Devices::SmartCards::ISmartCardEmulator2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardEmulatorApduReceivedEventArgs;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs ABI::Windows::Devices::SmartCards::ISmartCardEmulatorApduReceivedEventArgs

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardEmulatorApduReceivedEventArgs2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2 ABI::Windows::Devices::SmartCards::ISmartCardEmulatorApduReceivedEventArgs2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardEmulatorApduReceivedEventArgsWithCryptograms;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms ABI::Windows::Devices::SmartCards::ISmartCardEmulatorApduReceivedEventArgsWithCryptograms

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardEmulatorConnectionDeactivatedEventArgs;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs ABI::Windows::Devices::SmartCards::ISmartCardEmulatorConnectionDeactivatedEventArgs

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardEmulatorConnectionProperties;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties ABI::Windows::Devices::SmartCards::ISmartCardEmulatorConnectionProperties

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardEmulatorStatics;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics ABI::Windows::Devices::SmartCards::ISmartCardEmulatorStatics

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardEmulatorStatics2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 ABI::Windows::Devices::SmartCards::ISmartCardEmulatorStatics2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardEmulatorStatics3;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3 ABI::Windows::Devices::SmartCards::ISmartCardEmulatorStatics3

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardPinPolicy;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy ABI::Windows::Devices::SmartCards::ISmartCardPinPolicy

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardPinResetDeferral;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral ABI::Windows::Devices::SmartCards::ISmartCardPinResetDeferral

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardPinResetRequest;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest ABI::Windows::Devices::SmartCards::ISmartCardPinResetRequest

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardProvisioning;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning ABI::Windows::Devices::SmartCards::ISmartCardProvisioning

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardProvisioning2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2 ABI::Windows::Devices::SmartCards::ISmartCardProvisioning2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardProvisioningStatics;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics ABI::Windows::Devices::SmartCards::ISmartCardProvisioningStatics

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardProvisioningStatics2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2 ABI::Windows::Devices::SmartCards::ISmartCardProvisioningStatics2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardReader;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader ABI::Windows::Devices::SmartCards::ISmartCardReader

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardReaderStatics;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics ABI::Windows::Devices::SmartCards::ISmartCardReaderStatics

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardTriggerDetails;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails ABI::Windows::Devices::SmartCards::ISmartCardTriggerDetails

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardTriggerDetails2;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2 ABI::Windows::Devices::SmartCards::ISmartCardTriggerDetails2

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                interface ISmartCardTriggerDetails3;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3 ABI::Windows::Devices::SmartCards::ISmartCardTriggerDetails3

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_FWD_DEFINED__

// Parameterized interface forward declarations (C++)

// Collection interface definitions
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCard;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("86b29903-916e-5817-bc96-df324475e31a"))
IIterator<ABI::Windows::Devices::SmartCards::SmartCard*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCard*, ABI::Windows::Devices::SmartCards::ISmartCard*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCard>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Devices::SmartCards::SmartCard*> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCard*>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCard*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("a32c5202-d113-535f-880e-50f3e5121ef8"))
IIterable<ABI::Windows::Devices::SmartCards::SmartCard*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCard*, ABI::Windows::Devices::SmartCards::ISmartCard*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCard>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Devices::SmartCards::SmartCard*> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCard*>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCard*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardAppletIdGroupRegistration;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("d3777a61-2106-505f-bcfa-b3cc8e1412e1"))
IIterator<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*, ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("4d153aad-915c-59c9-98b9-a97bf3a570ad"))
IIterable<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*, ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardAutomaticResponseApdu;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("78eb5c52-9dd2-5e35-a868-f64919eba6b6"))
IIterator<ABI::Windows::Devices::SmartCards::SmartCardAutomaticResponseApdu*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardAutomaticResponseApdu*, ABI::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Devices::SmartCards::SmartCardAutomaticResponseApdu*> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu*>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("db52d376-027e-5270-a457-fb8b4ae8958c"))
IIterable<ABI::Windows::Devices::SmartCards::SmartCardAutomaticResponseApdu*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardAutomaticResponseApdu*, ABI::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Devices::SmartCards::SmartCardAutomaticResponseApdu*> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu*>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                enum SmartCardCryptogramAlgorithm : int;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("4f1e0492-dab2-53c3-b5fb-c4b4373b1ec2"))
IIterator<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm> : IIterator_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCardCryptogramAlgorithm>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_USE */





#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("8e0de0e9-0742-559e-9b1b-460268622c1f"))
IIterable<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm> : IIterable_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCardCryptogramAlgorithm>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_USE */



namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardCryptogramMaterialCharacteristics;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("e2a912a1-6133-571c-b0a9-2aaab283a07a"))
IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialCharacteristics*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialCharacteristics*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialCharacteristics*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialCharacteristics>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialCharacteristics*> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialCharacteristics*>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialCharacteristics*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("92058349-b443-52d8-8e46-9cf3815dd15a"))
IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialCharacteristics*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialCharacteristics*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialCharacteristics*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialCharacteristics>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialCharacteristics*> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialCharacteristics*>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialCharacteristics*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardCryptogramMaterialPackageCharacteristics;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("b78e40b2-70f0-5e34-aa8c-ca75a1b3b1bf"))
IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageCharacteristics*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageCharacteristics*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPackageCharacteristics*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageCharacteristics>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageCharacteristics*> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPackageCharacteristics*>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPackageCharacteristics*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("ab1dac61-1bd9-54a6-b407-1dc4e5b1a197"))
IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageCharacteristics*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageCharacteristics*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPackageCharacteristics*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageCharacteristics>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageCharacteristics*> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPackageCharacteristics*>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPackageCharacteristics*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                enum SmartCardCryptogramMaterialPackageConfirmationResponseFormat : int;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("9d1091ae-be37-5be7-8edf-60c5164880b6"))
IIterator<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat> : IIterator_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageConfirmationResponseFormat>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_USE */





#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("c40c4451-4ebb-5635-9c7d-33c8c5d37a09"))
IIterable<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat> : IIterable_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageConfirmationResponseFormat>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_USE */



namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                enum SmartCardCryptogramMaterialPackageFormat : int;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("7bf75a02-ee7e-513a-80f8-f7d8f004c907"))
IIterator<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat> : IIterator_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageFormat>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_USE */





#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("3e241acc-1745-57ce-9368-21ba2130c3c1"))
IIterable<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat> : IIterable_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageFormat>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_USE */



namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                enum SmartCardCryptogramMaterialType : int;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("97e1414d-439a-5dc2-81fc-d988e32c8dab"))
IIterator<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType> : IIterator_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialType>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_USE */





#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("2d379f84-389c-5809-a2c6-919b47caab88"))
IIterable<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType> : IIterable_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialType>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_USE */



namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardCryptogramPlacementStep;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("81a62a70-8acd-598c-8d0a-a27d23e6cb1e"))
IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramPlacementStep*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramPlacementStep*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramPlacementStep*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCardCryptogramPlacementStep>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramPlacementStep*> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramPlacementStep*>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramPlacementStep*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("234ab631-ed5f-51bc-8a8a-d5f3495f32de"))
IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramPlacementStep*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramPlacementStep*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramPlacementStep*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCardCryptogramPlacementStep>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramPlacementStep*> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramPlacementStep*>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramPlacementStep*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                enum SmartCardCryptogramStorageKeyCapabilities : unsigned int;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("c858d7a0-c54e-513c-a097-a42fd3d569af"))
IIterator<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities> : IIterator_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCapabilities>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_USE */





#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("983619f1-45b9-5557-9800-eaa2bca6da57"))
IIterable<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities> : IIterable_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCapabilities>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_USE */



namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardCryptogramStorageKeyCharacteristics;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_USE
#define DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("c65f0917-372c-5157-80e2-2cfbd65e8fea"))
IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCharacteristics*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCharacteristics*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyCharacteristics*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCharacteristics>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCharacteristics*> __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_t;
#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyCharacteristics*>
//#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyCharacteristics*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_USE
#define DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("16d5cc89-2f6a-5779-8ef8-2d5a20078150"))
IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCharacteristics*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCharacteristics*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyCharacteristics*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCharacteristics>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCharacteristics*> __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_t;
#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyCharacteristics*>
//#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyCharacteristics*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_USE
#define DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("4bee6991-3508-5f03-a2f4-90a5ddb26bd8"))
IVectorView<ABI::Windows::Devices::SmartCards::SmartCard*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCard*, ABI::Windows::Devices::SmartCards::ISmartCard*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCard>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Devices::SmartCards::SmartCard*> __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_t;
#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCard*>
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCard*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#define DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("b24324ba-192b-568b-81cf-9ac383406ed9"))
IVectorView<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*, ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*> __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t;
#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000



#ifndef DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_USE
#define DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("a9df831c-c22b-5d30-a86c-5a31fe192433"))
IVectorView<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm> : IVectorView_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCardCryptogramAlgorithm>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm> __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_t;
#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm>
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_USE */




#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_USE
#define DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("6e5e4447-1552-591b-afa0-387b26b7ac93"))
IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialCharacteristics*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialCharacteristics*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialCharacteristics*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialCharacteristics>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialCharacteristics*> __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_t;
#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialCharacteristics*>
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialCharacteristics*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_USE
#define DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("94d937e9-0edc-5dad-a3ad-b2eb5ab88671"))
IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageCharacteristics*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageCharacteristics*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPackageCharacteristics*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageCharacteristics>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageCharacteristics*> __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_t;
#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPackageCharacteristics*>
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPackageCharacteristics*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000



#ifndef DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_USE
#define DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("3a4176a2-d221-5a9f-a4c2-a5b8736da2d8"))
IVectorView<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat> : IVectorView_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageConfirmationResponseFormat>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat> __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_t;
#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat>
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_USE */





#ifndef DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_USE
#define DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("b7cce3f2-9889-586c-beb1-68feddb7cb15"))
IVectorView<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat> : IVectorView_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageFormat>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat> __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_t;
#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat>
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_USE */





#ifndef DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_USE
#define DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("394bc0cc-c621-5ba3-b4f0-712fcf591392"))
IVectorView<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType> : IVectorView_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialType>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType> __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_t;
#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType>
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_USE */





#ifndef DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_USE
#define DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("9c0dfca0-4b62-56a8-8af3-8376898a15bc"))
IVectorView<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities> : IVectorView_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCapabilities>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities> __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_t;
#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities>
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_USE */




#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_USE
#define DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("f14872b9-7f4c-58f8-8bfa-af767f58971a"))
IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCharacteristics*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCharacteristics*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyCharacteristics*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCharacteristics>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCharacteristics*> __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_t;
#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyCharacteristics*>
//#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyCharacteristics*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                enum SmartCardActivationPolicyChangeResult : int;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("9528f94b-047b-5e2a-8fc0-7017f5daddff"))
IAsyncOperationCompletedHandler<enum ABI::Windows::Devices::SmartCards::SmartCardActivationPolicyChangeResult> : IAsyncOperationCompletedHandler_impl<enum ABI::Windows::Devices::SmartCards::SmartCardActivationPolicyChangeResult> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardActivationPolicyChangeResult>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<enum ABI::Windows::Devices::SmartCards::SmartCardActivationPolicyChangeResult> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardActivationPolicyChangeResult>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardActivationPolicyChangeResult>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_USE */





#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("b8f15d35-2f3d-53aa-b5c6-faca4c7ff16e"))
IAsyncOperation<enum ABI::Windows::Devices::SmartCards::SmartCardActivationPolicyChangeResult> : IAsyncOperation_impl<enum ABI::Windows::Devices::SmartCards::SmartCardActivationPolicyChangeResult> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardActivationPolicyChangeResult>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<enum ABI::Windows::Devices::SmartCards::SmartCardActivationPolicyChangeResult> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardActivationPolicyChangeResult>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardActivationPolicyChangeResult>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_USE */




#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("371045fb-4994-5413-89be-ba4e97ad82a0"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*, ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("d8030032-5f3c-50e8-91b8-691c454609e8"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*, ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardChallengeContext;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("96b172f6-dedb-5f3e-af90-7b0f10219352"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardChallengeContext*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardChallengeContext*, ABI::Windows::Devices::SmartCards::ISmartCardChallengeContext*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardChallengeContext>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardChallengeContext*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardChallengeContext*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardChallengeContext*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("1c650663-3f68-599b-b9d4-c350f13ee4e4"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardChallengeContext*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardChallengeContext*, ABI::Windows::Devices::SmartCards::ISmartCardChallengeContext*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardChallengeContext>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardChallengeContext*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardChallengeContext*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardChallengeContext*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardConnection;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("c71f00e6-af26-5e5c-913d-0efeb7d08ef7"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardConnection*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardConnection*, ABI::Windows::Devices::SmartCards::ISmartCardConnection*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardConnection>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardConnection*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardConnection*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardConnection*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("779bbc5b-a75c-5988-978f-34dbc629d576"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardConnection*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardConnection*, ABI::Windows::Devices::SmartCards::ISmartCardConnection*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardConnection>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardConnection*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardConnection*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardConnection*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardCryptogramGenerator;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("25cc9462-46a1-50a6-ad14-9a9718372005"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGenerator*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGenerator*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGenerator*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardCryptogramGenerator>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGenerator*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGenerator*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGenerator*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("5dfde47d-9770-5f44-a983-f2fee430768e"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGenerator*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGenerator*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGenerator*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardCryptogramGenerator>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGenerator*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGenerator*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGenerator*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                enum SmartCardCryptogramGeneratorOperationStatus : int;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("c6c447c7-a60d-500a-9bfe-59f25c33e979"))
IAsyncOperationCompletedHandler<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus> : IAsyncOperationCompletedHandler_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardCryptogramGeneratorOperationStatus>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_USE */





#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("f5b0e1b0-57a7-5ab3-aeaa-d6b635257866"))
IAsyncOperation<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus> : IAsyncOperation_impl<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardCryptogramGeneratorOperationStatus>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<enum ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_USE */



namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("45cffa0a-b354-50c3-8f24-3dd4f1677fbe"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("001a0095-2adc-54c2-8594-3a36ba16fd86"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("cd50ac04-e836-5525-9edb-066d6205a2a7"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("2cab81a8-3c29-50d1-9761-5f3927c96dca"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("c960993d-b328-5e86-b0a3-25f09f7e45df"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("8110f6e1-3520-5cd2-bab5-0831185d2c2e"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardCryptogramMaterialPossessionProof;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("caf2474e-8810-5b17-95d6-81758ae51985"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPossessionProof*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPossessionProof*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPossessionProof*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialPossessionProof>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPossessionProof*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPossessionProof*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPossessionProof*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("6f2eea36-de40-55b4-90c3-255673f71b2e"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPossessionProof*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPossessionProof*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPossessionProof*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardCryptogramMaterialPossessionProof>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPossessionProof*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPossessionProof*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPossessionProof*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardCryptogramStorageKeyInfo;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("3f34e667-0a36-5414-88ab-6371d1b3b07e"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyInfo*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyInfo*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyInfo*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyInfo>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyInfo*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyInfo*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyInfo*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("2187f5a4-691c-50e1-bf4f-ddedc3e684b8"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyInfo*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyInfo*, ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyInfo*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyInfo>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyInfo*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyInfo*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyInfo*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardEmulator;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("4982e406-052c-5782-a57d-54f9f44f8412"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardEmulator*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardEmulator*, ABI::Windows::Devices::SmartCards::ISmartCardEmulator*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardEmulator>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardEmulator*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardEmulator*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardEmulator*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("1dd898f0-c825-5bf3-9564-4708932f955f"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardEmulator*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardEmulator*, ABI::Windows::Devices::SmartCards::ISmartCardEmulator*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardEmulator>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardEmulator*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardEmulator*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardEmulator*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardProvisioning;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("7a2e58dc-22ee-5cb8-83cc-a7a61b9dcd2c"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardProvisioning*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardProvisioning*, ABI::Windows::Devices::SmartCards::ISmartCardProvisioning*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardProvisioning>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardProvisioning*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardProvisioning*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardProvisioning*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("6184fc80-b752-5ce8-a136-f57174bb9309"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardProvisioning*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardProvisioning*, ABI::Windows::Devices::SmartCards::ISmartCardProvisioning*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardProvisioning>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardProvisioning*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardProvisioning*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardProvisioning*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardReader;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("20d3244d-375a-5f7d-8944-164fdfed4239"))
IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardReader*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardReader*, ABI::Windows::Devices::SmartCards::ISmartCardReader*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardReader>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardReader*> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardReader*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::ISmartCardReader*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("036a830d-bbca-5cb9-977f-b29ea3042149"))
IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardReader*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardReader*, ABI::Windows::Devices::SmartCards::ISmartCardReader*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardReader>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardReader*> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardReader*>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::ISmartCardReader*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                enum SmartCardReaderStatus : int;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("3d7e6ea9-e739-555c-9c02-07396c5321f5"))
IAsyncOperationCompletedHandler<enum ABI::Windows::Devices::SmartCards::SmartCardReaderStatus> : IAsyncOperationCompletedHandler_impl<enum ABI::Windows::Devices::SmartCards::SmartCardReaderStatus> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardReaderStatus>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<enum ABI::Windows::Devices::SmartCards::SmartCardReaderStatus> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardReaderStatus>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardReaderStatus>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_USE */





#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("5ae402fa-1f22-5570-a0c8-b2320adedb81"))
IAsyncOperation<enum ABI::Windows::Devices::SmartCards::SmartCardReaderStatus> : IAsyncOperation_impl<enum ABI::Windows::Devices::SmartCards::SmartCardReaderStatus> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardReaderStatus>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<enum ABI::Windows::Devices::SmartCards::SmartCardReaderStatus> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardReaderStatus>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardReaderStatus>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_USE */



namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                enum SmartCardStatus : int;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("bdaf4a41-3b4a-56b0-aeec-fee71cc7f328"))
IAsyncOperationCompletedHandler<enum ABI::Windows::Devices::SmartCards::SmartCardStatus> : IAsyncOperationCompletedHandler_impl<enum ABI::Windows::Devices::SmartCards::SmartCardStatus> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Devices.SmartCards.SmartCardStatus>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<enum ABI::Windows::Devices::SmartCards::SmartCardStatus> __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardStatus>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::SmartCards::SmartCardStatus>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_USE */





#ifndef DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_USE
#define DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("e2223376-8cf6-51bd-9907-1344aa665e5d"))
IAsyncOperation<enum ABI::Windows::Devices::SmartCards::SmartCardStatus> : IAsyncOperation_impl<enum ABI::Windows::Devices::SmartCards::SmartCardStatus> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Devices.SmartCards.SmartCardStatus>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<enum ABI::Windows::Devices::SmartCards::SmartCardStatus> __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_t;
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardStatus>
//#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::SmartCards::SmartCardStatus>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_USE */




#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_USE
#define DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("bfea3fad-411e-5721-88f5-92c9b9fbbe14"))
IAsyncOperationCompletedHandler<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard*> : IAsyncOperationCompletedHandler_impl<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCard>>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard*> __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_t;
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCard*>*>
//#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCard*>*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_USE
#define DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("3b2691b2-fc5e-59ff-8c6f-e6dd29a967fc"))
IAsyncOperation<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard*> : IAsyncOperation_impl<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCard>>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard*> __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_t;
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard ABI::Windows::Foundation::__FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCard*>*>
//#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCard*>*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#define DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("dddeb324-2853-5e3c-a4d9-1ca8c577c02e"))
IAsyncOperationCompletedHandler<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration*> : IAsyncOperationCompletedHandler_impl<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration>>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration*> __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t;
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>*>
//#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#define DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("045e34b9-f153-5920-99de-ed912ea38b1a"))
IAsyncOperation<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration*> : IAsyncOperation_impl<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Foundation.Collections.IVectorView`1<Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration>>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<__FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration*> __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t;
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::__FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>*>
//#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration*>*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardEmulatorApduReceivedEventArgs;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("146f9403-42f4-59a2-a85a-8294af3e3e78"))
ITypedEventHandler<ABI::Windows::Devices::SmartCards::SmartCardEmulator*,ABI::Windows::Devices::SmartCards::SmartCardEmulatorApduReceivedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardEmulator*, ABI::Windows::Devices::SmartCards::ISmartCardEmulator*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardEmulatorApduReceivedEventArgs*, ABI::Windows::Devices::SmartCards::ISmartCardEmulatorApduReceivedEventArgs*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.SmartCards.SmartCardEmulator, Windows.Devices.SmartCards.SmartCardEmulatorApduReceivedEventArgs>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef ITypedEventHandler<ABI::Windows::Devices::SmartCards::SmartCardEmulator*,ABI::Windows::Devices::SmartCards::SmartCardEmulatorApduReceivedEventArgs*> __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_t;
#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::SmartCards::ISmartCardEmulator*,ABI::Windows::Devices::SmartCards::ISmartCardEmulatorApduReceivedEventArgs*>
//#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_t ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::SmartCards::ISmartCardEmulator*,ABI::Windows::Devices::SmartCards::ISmartCardEmulatorApduReceivedEventArgs*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardEmulatorConnectionDeactivatedEventArgs;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("cb9840cb-cc46-5c37-ab00-dd23d77b263b"))
ITypedEventHandler<ABI::Windows::Devices::SmartCards::SmartCardEmulator*,ABI::Windows::Devices::SmartCards::SmartCardEmulatorConnectionDeactivatedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardEmulator*, ABI::Windows::Devices::SmartCards::ISmartCardEmulator*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardEmulatorConnectionDeactivatedEventArgs*, ABI::Windows::Devices::SmartCards::ISmartCardEmulatorConnectionDeactivatedEventArgs*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.SmartCards.SmartCardEmulator, Windows.Devices.SmartCards.SmartCardEmulatorConnectionDeactivatedEventArgs>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef ITypedEventHandler<ABI::Windows::Devices::SmartCards::SmartCardEmulator*,ABI::Windows::Devices::SmartCards::SmartCardEmulatorConnectionDeactivatedEventArgs*> __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_t;
#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::SmartCards::ISmartCardEmulator*,ABI::Windows::Devices::SmartCards::ISmartCardEmulatorConnectionDeactivatedEventArgs*>
//#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_t ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::SmartCards::ISmartCardEmulator*,ABI::Windows::Devices::SmartCards::ISmartCardEmulatorConnectionDeactivatedEventArgs*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_USE */


#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class CardAddedEventArgs;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("d36f2db9-5674-5f74-9f69-3cdc4559999f"))
ITypedEventHandler<ABI::Windows::Devices::SmartCards::SmartCardReader*,ABI::Windows::Devices::SmartCards::CardAddedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardReader*, ABI::Windows::Devices::SmartCards::ISmartCardReader*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::CardAddedEventArgs*, ABI::Windows::Devices::SmartCards::ICardAddedEventArgs*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.SmartCards.SmartCardReader, Windows.Devices.SmartCards.CardAddedEventArgs>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef ITypedEventHandler<ABI::Windows::Devices::SmartCards::SmartCardReader*,ABI::Windows::Devices::SmartCards::CardAddedEventArgs*> __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_t;
#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::SmartCards::ISmartCardReader*,ABI::Windows::Devices::SmartCards::ICardAddedEventArgs*>
//#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_t ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::SmartCards::ISmartCardReader*,ABI::Windows::Devices::SmartCards::ICardAddedEventArgs*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class CardRemovedEventArgs;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("69da07c6-b266-5a1c-937c-d82b4a8232c6"))
ITypedEventHandler<ABI::Windows::Devices::SmartCards::SmartCardReader*,ABI::Windows::Devices::SmartCards::CardRemovedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::SmartCardReader*, ABI::Windows::Devices::SmartCards::ISmartCardReader*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::SmartCards::CardRemovedEventArgs*, ABI::Windows::Devices::SmartCards::ICardRemovedEventArgs*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.TypedEventHandler`2<Windows.Devices.SmartCards.SmartCardReader, Windows.Devices.SmartCards.CardRemovedEventArgs>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef ITypedEventHandler<ABI::Windows::Devices::SmartCards::SmartCardReader*,ABI::Windows::Devices::SmartCards::CardRemovedEventArgs*> __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_t;
#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::SmartCards::ISmartCardReader*,ABI::Windows::Devices::SmartCards::ICardRemovedEventArgs*>
//#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_t ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::SmartCards::ISmartCardReader*,ABI::Windows::Devices::SmartCards::ICardRemovedEventArgs*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Storage {
            namespace Streams {
                interface IBuffer;
            } /* Windows */
        } /* Storage */
    } /* Streams */} /* ABI */
#define __x_ABI_CWindows_CStorage_CStreams_CIBuffer ABI::Windows::Storage::Streams::IBuffer

#endif // ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("51c3d2fd-b8a1-5620-b746-7ee6d533aca3"))
IAsyncOperationCompletedHandler<ABI::Windows::Storage::Streams::IBuffer*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Storage::Streams::IBuffer*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Storage.Streams.IBuffer>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Storage::Streams::IBuffer*> __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Storage::Streams::IBuffer*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Storage::Streams::IBuffer*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_USE
#define DEF___FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("3bee8834-b9a7-5a80-a746-5ef097227878"))
IAsyncOperation<ABI::Windows::Storage::Streams::IBuffer*> : IAsyncOperation_impl<ABI::Windows::Storage::Streams::IBuffer*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Storage.Streams.IBuffer>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Storage::Streams::IBuffer*> __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_t;
#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Storage::Streams::IBuffer*>
//#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Storage::Streams::IBuffer*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CStorage__CStreams__CIBuffer_USE
#define DEF___FIIterator_1_Windows__CStorage__CStreams__CIBuffer_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("afee38e0-f882-5f10-9655-1fc98cc8cce5"))
IIterator<ABI::Windows::Storage::Streams::IBuffer*> : IIterator_impl<ABI::Windows::Storage::Streams::IBuffer*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Storage.Streams.IBuffer>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Storage::Streams::IBuffer*> __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_t;
#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CStorage__CStreams__CIBuffer_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Storage::Streams::IBuffer*>
//#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Storage::Streams::IBuffer*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CStorage__CStreams__CIBuffer_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CStorage__CStreams__CIBuffer_USE
#define DEF___FIIterable_1_Windows__CStorage__CStreams__CIBuffer_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("902972bf-a984-5443-b1c5-2f04a99e1fca"))
IIterable<ABI::Windows::Storage::Streams::IBuffer*> : IIterable_impl<ABI::Windows::Storage::Streams::IBuffer*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Storage.Streams.IBuffer>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Storage::Streams::IBuffer*> __FIIterable_1_Windows__CStorage__CStreams__CIBuffer_t;
#define __FIIterable_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CStorage__CStreams__CIBuffer_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Storage::Streams::IBuffer*>
//#define __FIIterable_1_Windows__CStorage__CStreams__CIBuffer_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Storage::Streams::IBuffer*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CStorage__CStreams__CIBuffer_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_USE
#define DEF___FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("fd944562-11d6-5eab-bd72-701993b68fac"))
IVectorView<ABI::Windows::Storage::Streams::IBuffer*> : IVectorView_impl<ABI::Windows::Storage::Streams::IBuffer*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Storage.Streams.IBuffer>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Storage::Streams::IBuffer*> __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_t;
#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Storage::Streams::IBuffer*>
//#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Storage::Streams::IBuffer*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVector_1_Windows__CStorage__CStreams__CIBuffer_USE
#define DEF___FIVector_1_Windows__CStorage__CStreams__CIBuffer_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("308fe894-cc06-5007-bc85-cbe94ac1a70c"))
IVector<ABI::Windows::Storage::Streams::IBuffer*> : IVector_impl<ABI::Windows::Storage::Streams::IBuffer*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVector`1<Windows.Storage.Streams.IBuffer>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVector<ABI::Windows::Storage::Streams::IBuffer*> __FIVector_1_Windows__CStorage__CStreams__CIBuffer_t;
#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CStorage__CStreams__CIBuffer_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Storage::Streams::IBuffer*>
//#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_t ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Storage::Streams::IBuffer*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVector_1_Windows__CStorage__CStreams__CIBuffer_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000



#ifndef DEF___FIKeyValuePair_2_HSTRING_IInspectable_USE
#define DEF___FIKeyValuePair_2_HSTRING_IInspectable_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("09335560-6c6b-5a26-9348-97b781132b20"))
IKeyValuePair<HSTRING,IInspectable*> : IKeyValuePair_impl<HSTRING,IInspectable*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IKeyValuePair`2<String, Object>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IKeyValuePair<HSTRING,IInspectable*> __FIKeyValuePair_2_HSTRING_IInspectable_t;
#define __FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIKeyValuePair_2_HSTRING_IInspectable_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable*>
//#define __FIKeyValuePair_2_HSTRING_IInspectable_t ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIKeyValuePair_2_HSTRING_IInspectable_USE */





#ifndef DEF___FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_USE
#define DEF___FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("5db5fa32-707c-5849-a06b-91c8eb9d10e8"))
IIterator<__FIKeyValuePair_2_HSTRING_IInspectable*> : IIterator_impl<__FIKeyValuePair_2_HSTRING_IInspectable*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Foundation.Collections.IKeyValuePair`2<String, Object>>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<__FIKeyValuePair_2_HSTRING_IInspectable*> __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_t;
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable*>*>
//#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable*>*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_USE */





#ifndef DEF___FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_USE
#define DEF___FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("fe2f3d47-5d47-5499-8374-430c7cda0204"))
IIterable<__FIKeyValuePair_2_HSTRING_IInspectable*> : IIterable_impl<__FIKeyValuePair_2_HSTRING_IInspectable*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Collections.IKeyValuePair`2<String, Object>>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<__FIKeyValuePair_2_HSTRING_IInspectable*> __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_t;
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable*>*>
//#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,IInspectable*>*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_USE */





#ifndef DEF___FIMapView_2_HSTRING_IInspectable_USE
#define DEF___FIMapView_2_HSTRING_IInspectable_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("bb78502a-f79d-54fa-92c9-90c5039fdf7e"))
IMapView<HSTRING,IInspectable*> : IMapView_impl<HSTRING,IInspectable*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IMapView`2<String, Object>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IMapView<HSTRING,IInspectable*> __FIMapView_2_HSTRING_IInspectable_t;
#define __FIMapView_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIMapView_2_HSTRING_IInspectable_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIMapView_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IMapView<HSTRING,IInspectable*>
//#define __FIMapView_2_HSTRING_IInspectable_t ABI::Windows::Foundation::Collections::IMapView<HSTRING,IInspectable*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIMapView_2_HSTRING_IInspectable_USE */





#ifndef DEF___FIMap_2_HSTRING_IInspectable_USE
#define DEF___FIMap_2_HSTRING_IInspectable_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("1b0d3570-0877-5ec2-8a2c-3b9539506aca"))
IMap<HSTRING,IInspectable*> : IMap_impl<HSTRING,IInspectable*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IMap`2<String, Object>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IMap<HSTRING,IInspectable*> __FIMap_2_HSTRING_IInspectable_t;
#define __FIMap_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIMap_2_HSTRING_IInspectable_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIMap_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IMap<HSTRING,IInspectable*>
//#define __FIMap_2_HSTRING_IInspectable_t ABI::Windows::Foundation::Collections::IMap<HSTRING,IInspectable*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIMap_2_HSTRING_IInspectable_USE */




#ifndef DEF___FIMapChangedEventArgs_1_HSTRING_USE
#define DEF___FIMapChangedEventArgs_1_HSTRING_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("60141efb-f2f9-5377-96fd-f8c60d9558b5"))
IMapChangedEventArgs<HSTRING> : IMapChangedEventArgs_impl<HSTRING> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IMapChangedEventArgs`1<String>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IMapChangedEventArgs<HSTRING> __FIMapChangedEventArgs_1_HSTRING_t;
#define __FIMapChangedEventArgs_1_HSTRING ABI::Windows::Foundation::Collections::__FIMapChangedEventArgs_1_HSTRING_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIMapChangedEventArgs_1_HSTRING ABI::Windows::Foundation::Collections::IMapChangedEventArgs<HSTRING>
//#define __FIMapChangedEventArgs_1_HSTRING_t ABI::Windows::Foundation::Collections::IMapChangedEventArgs<HSTRING>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIMapChangedEventArgs_1_HSTRING_USE */





#ifndef DEF___FMapChangedEventHandler_2_HSTRING_IInspectable_USE
#define DEF___FMapChangedEventHandler_2_HSTRING_IInspectable_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("24f981e5-ddca-538d-aada-a59906084cf1"))
MapChangedEventHandler<HSTRING,IInspectable*> : MapChangedEventHandler_impl<HSTRING,IInspectable*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.MapChangedEventHandler`2<String, Object>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef MapChangedEventHandler<HSTRING,IInspectable*> __FMapChangedEventHandler_2_HSTRING_IInspectable_t;
#define __FMapChangedEventHandler_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FMapChangedEventHandler_2_HSTRING_IInspectable_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FMapChangedEventHandler_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::MapChangedEventHandler<HSTRING,IInspectable*>
//#define __FMapChangedEventHandler_2_HSTRING_IInspectable_t ABI::Windows::Foundation::Collections::MapChangedEventHandler<HSTRING,IInspectable*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FMapChangedEventHandler_2_HSTRING_IInspectable_USE */





#ifndef DEF___FIObservableMap_2_HSTRING_IInspectable_USE
#define DEF___FIObservableMap_2_HSTRING_IInspectable_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("236aac9d-fb12-5c4d-a41c-9e445fb4d7ec"))
IObservableMap<HSTRING,IInspectable*> : IObservableMap_impl<HSTRING,IInspectable*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IObservableMap`2<String, Object>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IObservableMap<HSTRING,IInspectable*> __FIObservableMap_2_HSTRING_IInspectable_t;
#define __FIObservableMap_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::__FIObservableMap_2_HSTRING_IInspectable_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIObservableMap_2_HSTRING_IInspectable ABI::Windows::Foundation::Collections::IObservableMap<HSTRING,IInspectable*>
//#define __FIObservableMap_2_HSTRING_IInspectable_t ABI::Windows::Foundation::Collections::IObservableMap<HSTRING,IInspectable*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIObservableMap_2_HSTRING_IInspectable_USE */




#ifndef DEF___FIReference_1_UINT32_USE
#define DEF___FIReference_1_UINT32_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("513ef3af-e784-5325-a91e-97c2b8111cf3"))
IReference<UINT32> : IReference_impl<UINT32> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IReference`1<UInt32>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IReference<UINT32> __FIReference_1_UINT32_t;
#define __FIReference_1_UINT32 ABI::Windows::Foundation::__FIReference_1_UINT32_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIReference_1_UINT32 ABI::Windows::Foundation::IReference<UINT32>
//#define __FIReference_1_UINT32_t ABI::Windows::Foundation::IReference<UINT32>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIReference_1_UINT32_USE */




#ifndef DEF___FIAsyncOperationCompletedHandler_1_boolean_USE
#define DEF___FIAsyncOperationCompletedHandler_1_boolean_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("c1d3d1a2-ae17-5a5f-b5a2-bdcc8844889a"))
IAsyncOperationCompletedHandler<bool> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<bool, boolean>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Boolean>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<bool> __FIAsyncOperationCompletedHandler_1_boolean_t;
#define __FIAsyncOperationCompletedHandler_1_boolean ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_boolean_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_boolean ABI::Windows::Foundation::IAsyncOperationCompletedHandler<boolean>
//#define __FIAsyncOperationCompletedHandler_1_boolean_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<boolean>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_boolean_USE */




#ifndef DEF___FIAsyncOperation_1_boolean_USE
#define DEF___FIAsyncOperation_1_boolean_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("cdb5efb3-5788-509d-9be1-71ccb8a3362a"))
IAsyncOperation<bool> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<bool, boolean>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Boolean>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<bool> __FIAsyncOperation_1_boolean_t;
#define __FIAsyncOperation_1_boolean ABI::Windows::Foundation::__FIAsyncOperation_1_boolean_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_boolean ABI::Windows::Foundation::IAsyncOperation<boolean>
//#define __FIAsyncOperation_1_boolean_t ABI::Windows::Foundation::IAsyncOperation<boolean>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_boolean_USE */




#ifndef DEF___FIAsyncOperationCompletedHandler_1_GUID_USE
#define DEF___FIAsyncOperationCompletedHandler_1_GUID_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("5233899b-ba7e-504f-bb83-ceebac62decf"))
IAsyncOperationCompletedHandler<GUID> : IAsyncOperationCompletedHandler_impl<GUID> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Guid>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<GUID> __FIAsyncOperationCompletedHandler_1_GUID_t;
#define __FIAsyncOperationCompletedHandler_1_GUID ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_GUID_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_GUID ABI::Windows::Foundation::IAsyncOperationCompletedHandler<GUID>
//#define __FIAsyncOperationCompletedHandler_1_GUID_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<GUID>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_GUID_USE */




#ifndef DEF___FIAsyncOperation_1_GUID_USE
#define DEF___FIAsyncOperation_1_GUID_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("6607bc41-294b-5975-9c3f-4b49836d0916"))
IAsyncOperation<GUID> : IAsyncOperation_impl<GUID> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Guid>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<GUID> __FIAsyncOperation_1_GUID_t;
#define __FIAsyncOperation_1_GUID ABI::Windows::Foundation::__FIAsyncOperation_1_GUID_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_GUID ABI::Windows::Foundation::IAsyncOperation<GUID>
//#define __FIAsyncOperation_1_GUID_t ABI::Windows::Foundation::IAsyncOperation<GUID>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_GUID_USE */




#ifndef DEF___FIAsyncOperationCompletedHandler_1_HSTRING_USE
#define DEF___FIAsyncOperationCompletedHandler_1_HSTRING_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("b79a741f-7fb5-50ae-9e99-911201ec3d41"))
IAsyncOperationCompletedHandler<HSTRING> : IAsyncOperationCompletedHandler_impl<HSTRING> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<String>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<HSTRING> __FIAsyncOperationCompletedHandler_1_HSTRING_t;
#define __FIAsyncOperationCompletedHandler_1_HSTRING ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_HSTRING_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_HSTRING ABI::Windows::Foundation::IAsyncOperationCompletedHandler<HSTRING>
//#define __FIAsyncOperationCompletedHandler_1_HSTRING_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<HSTRING>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_HSTRING_USE */




#ifndef DEF___FIAsyncOperation_1_HSTRING_USE
#define DEF___FIAsyncOperation_1_HSTRING_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("3e1fe603-f897-5263-b328-0806426b8a79"))
IAsyncOperation<HSTRING> : IAsyncOperation_impl<HSTRING> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<String>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<HSTRING> __FIAsyncOperation_1_HSTRING_t;
#define __FIAsyncOperation_1_HSTRING ABI::Windows::Foundation::__FIAsyncOperation_1_HSTRING_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_HSTRING ABI::Windows::Foundation::IAsyncOperation<HSTRING>
//#define __FIAsyncOperation_1_HSTRING_t ABI::Windows::Foundation::IAsyncOperation<HSTRING>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_HSTRING_USE */





namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                class ValueSet;
            } /* Windows */
        } /* Foundation */
    } /* Collections */} /* ABI */

#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                interface IPropertySet;
            } /* Windows */
        } /* Foundation */
    } /* Collections */} /* ABI */
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet ABI::Windows::Foundation::Collections::IPropertySet

#endif // ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__





namespace ABI {
    namespace Windows {
        namespace Foundation {
            
            typedef struct DateTime DateTime;
            
        } /* Windows */
    } /* Foundation */} /* ABI */

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IAsyncAction;
        } /* Windows */
    } /* Foundation */} /* ABI */
#define __x_ABI_CWindows_CFoundation_CIAsyncAction ABI::Windows::Foundation::IAsyncAction

#endif // ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__


#ifndef ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IClosable;
        } /* Windows */
    } /* Foundation */} /* ABI */
#define __x_ABI_CWindows_CFoundation_CIClosable ABI::Windows::Foundation::IClosable

#endif // ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__





namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Cryptography {
                namespace Core {
                    
                    typedef enum CryptographicPublicKeyBlobType : int CryptographicPublicKeyBlobType;
                    
                } /* Windows */
            } /* Security */
        } /* Cryptography */
    } /* Core */} /* ABI */






#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Storage {
            namespace Streams {
                interface IRandomAccessStreamReference;
            } /* Windows */
        } /* Storage */
    } /* Streams */} /* ABI */
#define __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference ABI::Windows::Storage::Streams::IRandomAccessStreamReference

#endif // ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference_FWD_DEFINED__







namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardActivationPolicyChangeResult : int SmartCardActivationPolicyChangeResult;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardAppletIdGroupActivationPolicy : int SmartCardAppletIdGroupActivationPolicy;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardAutomaticResponseStatus : int SmartCardAutomaticResponseStatus;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardCryptogramAlgorithm : int SmartCardCryptogramAlgorithm;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardCryptogramGeneratorOperationStatus : int SmartCardCryptogramGeneratorOperationStatus;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardCryptogramMaterialPackageConfirmationResponseFormat : int SmartCardCryptogramMaterialPackageConfirmationResponseFormat;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardCryptogramMaterialPackageFormat : int SmartCardCryptogramMaterialPackageFormat;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardCryptogramMaterialProtectionMethod : int SmartCardCryptogramMaterialProtectionMethod;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardCryptogramMaterialType : int SmartCardCryptogramMaterialType;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardCryptogramPlacementOptions : unsigned int SmartCardCryptogramPlacementOptions;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardCryptogramStorageKeyAlgorithm : int SmartCardCryptogramStorageKeyAlgorithm;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardCryptogramStorageKeyCapabilities : unsigned int SmartCardCryptogramStorageKeyCapabilities;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardCryptographicKeyAttestationStatus : int SmartCardCryptographicKeyAttestationStatus;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardEmulationCategory : int SmartCardEmulationCategory;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardEmulationType : int SmartCardEmulationType;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardEmulatorConnectionDeactivatedReason : int SmartCardEmulatorConnectionDeactivatedReason;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardEmulatorConnectionSource : int SmartCardEmulatorConnectionSource;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardEmulatorEnablementPolicy : int SmartCardEmulatorEnablementPolicy;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardLaunchBehavior : int SmartCardLaunchBehavior;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardPinCharacterPolicyOption : int SmartCardPinCharacterPolicyOption;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardReaderKind : int SmartCardReaderKind;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardReaderStatus : int SmartCardReaderStatus;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardStatus : int SmartCardStatus;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardTriggerType : int SmartCardTriggerType;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                
                typedef enum SmartCardUnlockPromptingBehavior : int SmartCardUnlockPromptingBehavior;
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */



























































namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardAppletIdGroup;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */



















namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardEmulatorConnectionProperties;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardPinPolicy;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardPinResetDeferral;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardPinResetRequest;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */




namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                class SmartCardTriggerDetails;
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */












/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardActivationPolicyChangeResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardActivationPolicyChangeResult : int
                {
                    SmartCardActivationPolicyChangeResult_Denied = 0,
                    SmartCardActivationPolicyChangeResult_Allowed = 1,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardAppletIdGroupActivationPolicy
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardAppletIdGroupActivationPolicy : int
                {
                    SmartCardAppletIdGroupActivationPolicy_Disabled = 0,
                    SmartCardAppletIdGroupActivationPolicy_ForegroundOverride = 1,
                    SmartCardAppletIdGroupActivationPolicy_Enabled = 2,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardAutomaticResponseStatus
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardAutomaticResponseStatus : int
                {
                    SmartCardAutomaticResponseStatus_None = 0,
                    SmartCardAutomaticResponseStatus_Success = 1,
                    SmartCardAutomaticResponseStatus_UnknownError = 2,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramAlgorithm
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardCryptogramAlgorithm : int
                {
                    SmartCardCryptogramAlgorithm_None = 0,
                    SmartCardCryptogramAlgorithm_CbcMac = 1,
                    SmartCardCryptogramAlgorithm_Cvc3Umd = 2,
                    SmartCardCryptogramAlgorithm_DecimalizedMsd = 3,
                    SmartCardCryptogramAlgorithm_Cvc3MD = 4,
                    SmartCardCryptogramAlgorithm_Sha1 = 5,
                    SmartCardCryptogramAlgorithm_SignedDynamicApplicationData = 6,
                    SmartCardCryptogramAlgorithm_RsaPkcs1 = 7,
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
                    
                    SmartCardCryptogramAlgorithm_Sha256Hmac = 8,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
                    
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramGeneratorOperationStatus
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardCryptogramGeneratorOperationStatus : int
                {
                    SmartCardCryptogramGeneratorOperationStatus_Success = 0,
                    SmartCardCryptogramGeneratorOperationStatus_AuthorizationFailed = 1,
                    SmartCardCryptogramGeneratorOperationStatus_AuthorizationCanceled = 2,
                    SmartCardCryptogramGeneratorOperationStatus_AuthorizationRequired = 3,
                    SmartCardCryptogramGeneratorOperationStatus_CryptogramMaterialPackageStorageKeyExists = 4,
                    SmartCardCryptogramGeneratorOperationStatus_NoCryptogramMaterialPackageStorageKey = 5,
                    SmartCardCryptogramGeneratorOperationStatus_NoCryptogramMaterialPackage = 6,
                    SmartCardCryptogramGeneratorOperationStatus_UnsupportedCryptogramMaterialPackage = 7,
                    SmartCardCryptogramGeneratorOperationStatus_UnknownCryptogramMaterialName = 8,
                    SmartCardCryptogramGeneratorOperationStatus_InvalidCryptogramMaterialUsage = 9,
                    SmartCardCryptogramGeneratorOperationStatus_ApduResponseNotSent = 10,
                    SmartCardCryptogramGeneratorOperationStatus_OtherError = 11,
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
                    
                    SmartCardCryptogramGeneratorOperationStatus_ValidationFailed = 12,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
                    
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000
                    
                    SmartCardCryptogramGeneratorOperationStatus_NotSupported = 13,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000
                    
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageConfirmationResponseFormat
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardCryptogramMaterialPackageConfirmationResponseFormat : int
                {
                    SmartCardCryptogramMaterialPackageConfirmationResponseFormat_None = 0,
                    SmartCardCryptogramMaterialPackageConfirmationResponseFormat_VisaHmac = 1,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageFormat
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardCryptogramMaterialPackageFormat : int
                {
                    SmartCardCryptogramMaterialPackageFormat_None = 0,
                    SmartCardCryptogramMaterialPackageFormat_JweRsaPki = 1,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramMaterialProtectionMethod
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardCryptogramMaterialProtectionMethod : int
                {
                    SmartCardCryptogramMaterialProtectionMethod_None = 0,
                    SmartCardCryptogramMaterialProtectionMethod_WhiteBoxing = 1,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramMaterialType
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardCryptogramMaterialType : int
                {
                    SmartCardCryptogramMaterialType_None = 0,
                    SmartCardCryptogramMaterialType_StaticDataAuthentication = 1,
                    SmartCardCryptogramMaterialType_TripleDes112 = 2,
                    SmartCardCryptogramMaterialType_Aes = 3,
                    SmartCardCryptogramMaterialType_RsaPkcs1 = 4,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramPlacementOptions
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, flags, contract] */
                enum SmartCardCryptogramPlacementOptions : unsigned int
                {
                    SmartCardCryptogramPlacementOptions_None = 0,
                    SmartCardCryptogramPlacementOptions_UnitsAreInNibbles = 0x1,
                    SmartCardCryptogramPlacementOptions_ChainOutput = 0x2,
                };
                
                DEFINE_ENUM_FLAG_OPERATORS(SmartCardCryptogramPlacementOptions)
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyAlgorithm
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardCryptogramStorageKeyAlgorithm : int
                {
                    SmartCardCryptogramStorageKeyAlgorithm_None = 0,
                    SmartCardCryptogramStorageKeyAlgorithm_Rsa2048 = 1,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCapabilities
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, flags, contract] */
                enum SmartCardCryptogramStorageKeyCapabilities : unsigned int
                {
                    SmartCardCryptogramStorageKeyCapabilities_None = 0,
                    SmartCardCryptogramStorageKeyCapabilities_HardwareProtection = 0x1,
                    SmartCardCryptogramStorageKeyCapabilities_UnlockPrompt = 0x2,
                };
                
                DEFINE_ENUM_FLAG_OPERATORS(SmartCardCryptogramStorageKeyCapabilities)
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptographicKeyAttestationStatus
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardCryptographicKeyAttestationStatus : int
                {
                    SmartCardCryptographicKeyAttestationStatus_NoAttestation = 0,
                    SmartCardCryptographicKeyAttestationStatus_SoftwareKeyWithoutTpm = 1,
                    SmartCardCryptographicKeyAttestationStatus_SoftwareKeyWithTpm = 2,
                    SmartCardCryptographicKeyAttestationStatus_TpmKeyUnknownAttestationStatus = 3,
                    SmartCardCryptographicKeyAttestationStatus_TpmKeyWithoutAttestationCapability = 4,
                    SmartCardCryptographicKeyAttestationStatus_TpmKeyWithTemporaryAttestationFailure = 5,
                    SmartCardCryptographicKeyAttestationStatus_TpmKeyWithLongTermAttestationFailure = 6,
                    SmartCardCryptographicKeyAttestationStatus_TpmKeyWithAttestation = 7,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardEmulationCategory
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardEmulationCategory : int
                {
                    SmartCardEmulationCategory_Other = 0,
                    SmartCardEmulationCategory_Payment = 1,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardEmulationType
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardEmulationType : int
                {
                    SmartCardEmulationType_Host = 0,
                    SmartCardEmulationType_Uicc = 1,
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000
                    
                    SmartCardEmulationType_EmbeddedSE = 2,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000
                    
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardEmulatorConnectionDeactivatedReason
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardEmulatorConnectionDeactivatedReason : int
                {
                    SmartCardEmulatorConnectionDeactivatedReason_ConnectionLost = 0,
                    SmartCardEmulatorConnectionDeactivatedReason_ConnectionRedirected = 1,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardEmulatorConnectionSource
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardEmulatorConnectionSource : int
                {
                    SmartCardEmulatorConnectionSource_Unknown = 0,
                    SmartCardEmulatorConnectionSource_NfcReader = 1,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardEmulatorEnablementPolicy
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardEmulatorEnablementPolicy : int
                {
                    SmartCardEmulatorEnablementPolicy_Never = 0,
                    SmartCardEmulatorEnablementPolicy_Always = 1,
                    SmartCardEmulatorEnablementPolicy_ScreenOn = 2,
                    SmartCardEmulatorEnablementPolicy_ScreenUnlocked = 3,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardLaunchBehavior
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardLaunchBehavior : int
                {
                    SmartCardLaunchBehavior_Default = 0,
                    SmartCardLaunchBehavior_AboveLock = 1,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardPinCharacterPolicyOption
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardPinCharacterPolicyOption : int
                {
                    SmartCardPinCharacterPolicyOption_Allow = 0,
                    SmartCardPinCharacterPolicyOption_RequireAtLeastOne = 1,
                    SmartCardPinCharacterPolicyOption_Disallow = 2,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardReaderKind
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardReaderKind : int
                {
                    SmartCardReaderKind_Any = 0,
                    SmartCardReaderKind_Generic = 1,
                    SmartCardReaderKind_Tpm = 2,
                    SmartCardReaderKind_Nfc = 3,
                    SmartCardReaderKind_Uicc = 4,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    SmartCardReaderKind_EmbeddedSE = 5,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardReaderStatus
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardReaderStatus : int
                {
                    SmartCardReaderStatus_Disconnected = 0,
                    SmartCardReaderStatus_Ready = 1,
                    SmartCardReaderStatus_Exclusive = 2,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardStatus
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardStatus : int
                {
                    SmartCardStatus_Disconnected = 0,
                    SmartCardStatus_Ready = 1,
                    SmartCardStatus_Shared = 2,
                    SmartCardStatus_Exclusive = 3,
                    SmartCardStatus_Unresponsive = 4,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardTriggerType
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardTriggerType : int
                {
                    SmartCardTriggerType_EmulatorTransaction = 0,
                    SmartCardTriggerType_EmulatorNearFieldEntry = 1,
                    SmartCardTriggerType_EmulatorNearFieldExit = 2,
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
                    
                    SmartCardTriggerType_EmulatorHostApplicationActivated = 3,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
                    
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
                    
                    SmartCardTriggerType_EmulatorAppletIdGroupRegistrationChanged = 4,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
                    
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x20000
                    
                    SmartCardTriggerType_ReaderCardAdded = 5,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x20000
                    
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardUnlockPromptingBehavior
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [v1_enum, contract] */
                enum SmartCardUnlockPromptingBehavior : int
                {
                    SmartCardUnlockPromptingBehavior_AllowUnlockPrompt = 0,
                    SmartCardUnlockPromptingBehavior_RequireUnlockPrompt = 1,
                    SmartCardUnlockPromptingBehavior_PreventUnlockPrompt = 2,
                };
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Delegate Windows.Devices.SmartCards.SmartCardPinResetHandler
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_INTERFACE_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("138D5E40-F3BC-4A5C-B41D-4B4EF684E237"), contract] */
                MIDL_INTERFACE("138D5E40-F3BC-4A5C-B41D-4B4EF684E237")
                ISmartCardPinResetHandler : public IUnknown
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE Invoke(
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCardProvisioning * sender,
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCardPinResetRequest * request
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardPinResetHandler=_uuidof(ISmartCardPinResetHandler);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ICardAddedEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.CardAddedEventArgs
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ICardAddedEventArgs[] = L"Windows.Devices.SmartCards.ICardAddedEventArgs";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("18BBEF98-F18B-4DD3-B118-DFB2C8E23CC6"), exclusiveto, contract] */
                MIDL_INTERFACE("18BBEF98-F18B-4DD3-B118-DFB2C8E23CC6")
                ICardAddedEventArgs : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SmartCard(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCard * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ICardAddedEventArgs=_uuidof(ICardAddedEventArgs);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ICardRemovedEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.CardRemovedEventArgs
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ICardRemovedEventArgs[] = L"Windows.Devices.SmartCards.ICardRemovedEventArgs";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("15331AAF-22D7-4945-AFC9-03B46F42A6CD"), exclusiveto, contract] */
                MIDL_INTERFACE("15331AAF-22D7-4945-AFC9-03B46F42A6CD")
                ICardRemovedEventArgs : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SmartCard(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCard * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ICardRemovedEventArgs=_uuidof(ICardRemovedEventArgs);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.IKnownSmartCardAppletIds
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 6.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.KnownSmartCardAppletIds
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_IKnownSmartCardAppletIds[] = L"Windows.Devices.SmartCards.IKnownSmartCardAppletIds";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("7B04D8D8-95B4-4C88-8CEA-411E55511EFC"), exclusiveto, contract] */
                MIDL_INTERFACE("7B04D8D8-95B4-4C88-8CEA-411E55511EFC")
                IKnownSmartCardAppletIds : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_PaymentSystemEnvironment(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ProximityPaymentSystemEnvironment(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IKnownSmartCardAppletIds=_uuidof(IKnownSmartCardAppletIds);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCard
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCard
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCard[] = L"Windows.Devices.SmartCards.ISmartCard";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("1B718871-6434-43F4-B55A-6A29623870AA"), exclusiveto, contract] */
                MIDL_INTERFACE("1B718871-6434-43F4-B55A-6A29623870AA")
                ISmartCard : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Reader(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCardReader * * value
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetStatusAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetAnswerToResetAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCard=_uuidof(ISmartCard);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCard;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroup
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroup
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroup[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroup";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("7DB165E6-6264-56F4-5E03-C86385395EB1"), exclusiveto, contract] */
                MIDL_INTERFACE("7DB165E6-6264-56F4-5E03-C86385395EB1")
                ISmartCardAppletIdGroup : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DisplayName(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_DisplayName(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AppletIds(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CStorage__CStreams__CIBuffer * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SmartCardEmulationCategory(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardEmulationCategory * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_SmartCardEmulationCategory(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardEmulationCategory value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SmartCardEmulationType(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardEmulationType * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_SmartCardEmulationType(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardEmulationType value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AutomaticEnablement(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_AutomaticEnablement(
                        /* [in] */boolean value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardAppletIdGroup=_uuidof(ISmartCardAppletIdGroup);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroup2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 6.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroup
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroup2[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroup2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("6B0EF9DC-9956-4A62-8D4E-D37A68EBC3A6"), exclusiveto, contract] */
                MIDL_INTERFACE("6B0EF9DC-9956-4A62-8D4E-D37A68EBC3A6")
                ISmartCardAppletIdGroup2 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Logo(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IRandomAccessStreamReference * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Logo(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IRandomAccessStreamReference * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Description(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Description(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Properties(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Foundation::Collections::IPropertySet * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SecureUserAuthenticationRequired(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_SecureUserAuthenticationRequired(
                        /* [in] */boolean value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardAppletIdGroup2=_uuidof(ISmartCardAppletIdGroup2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroupFactory
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroup
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroupFactory[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroupFactory";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("9105EB4D-4A65-4E41-8061-CBE83F3695E5"), exclusiveto, contract] */
                MIDL_INTERFACE("9105EB4D-4A65-4E41-8061-CBE83F3695E5")
                ISmartCardAppletIdGroupFactory : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE Create(
                        /* [in] */__RPC__in HSTRING displayName,
                        /* [in] */__RPC__in_opt __FIVector_1_Windows__CStorage__CStreams__CIBuffer * appletIds,
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardEmulationCategory emulationCategory,
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardEmulationType emulationType,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroup * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardAppletIdGroupFactory=_uuidof(ISmartCardAppletIdGroupFactory);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroupRegistration[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("DF1208D1-31BB-5596-43B1-6D69A0257B3A"), exclusiveto, contract] */
                MIDL_INTERFACE("DF1208D1-31BB-5596-43B1-6D69A0257B3A")
                ISmartCardAppletIdGroupRegistration : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ActivationPolicy(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupActivationPolicy * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AppletIdGroup(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroup * * value
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RequestActivationPolicyChangeAsync(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardAppletIdGroupActivationPolicy policy,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * * result
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Id(
                        /* [retval, out] */__RPC__out GUID * value
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE SetAutomaticResponseApdusAsync(
                        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * apdus,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardAppletIdGroupRegistration=_uuidof(ISmartCardAppletIdGroupRegistration);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 6.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroupRegistration2[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("5F5508D8-98A7-4F2E-91D9-6CFCCEDA407F"), exclusiveto, contract] */
                MIDL_INTERFACE("5F5508D8-98A7-4F2E-91D9-6CFCCEDA407F")
                ISmartCardAppletIdGroupRegistration2 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SmartCardReaderId(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE SetPropertiesAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Foundation::Collections::IPropertySet * props,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction * * operation
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardAppletIdGroupRegistration2=_uuidof(ISmartCardAppletIdGroupRegistration2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroupStatics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroup
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroupStatics[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroupStatics";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("AB2899A9-E76C-45CF-BF1D-90EAA6205927"), exclusiveto, contract] */
                MIDL_INTERFACE("AB2899A9-E76C-45CF-BF1D-90EAA6205927")
                ISmartCardAppletIdGroupStatics : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_MaxAppletIds(
                        /* [retval, out] */__RPC__out UINT16 * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardAppletIdGroupStatics=_uuidof(ISmartCardAppletIdGroupStatics);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAutomaticResponseApdu[] = L"Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("52152BAB-C63E-4531-A857-D756D99B986A"), exclusiveto, contract] */
                MIDL_INTERFACE("52152BAB-C63E-4531-A857-D756D99B986A")
                ISmartCardAutomaticResponseApdu : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CommandApdu(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_CommandApdu(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CommandApduBitMask(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_CommandApduBitMask(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ShouldMatchLength(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_ShouldMatchLength(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AppletId(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_AppletId(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ResponseApdu(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_ResponseApdu(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardAutomaticResponseApdu=_uuidof(ISmartCardAutomaticResponseApdu);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAutomaticResponseApdu2[] = L"Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("44AEBB14-559D-4531-4E51-89DB6FA8A57A"), exclusiveto, contract] */
                MIDL_INTERFACE("44AEBB14-559D-4531-4E51-89DB6FA8A57A")
                ISmartCardAutomaticResponseApdu2 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_InputState(
                        /* [retval, out] */__RPC__deref_out_opt __FIReference_1_UINT32 * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_InputState(
                        /* [in] */__RPC__in_opt __FIReference_1_UINT32 * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_OutputState(
                        /* [retval, out] */__RPC__deref_out_opt __FIReference_1_UINT32 * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_OutputState(
                        /* [in] */__RPC__in_opt __FIReference_1_UINT32 * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardAutomaticResponseApdu2=_uuidof(ISmartCardAutomaticResponseApdu2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu3
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAutomaticResponseApdu3[] = L"Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu3";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("BF43DA74-6576-4392-9367-FE3BC9E2D496"), exclusiveto, contract] */
                MIDL_INTERFACE("BF43DA74-6576-4392-9367-FE3BC9E2D496")
                ISmartCardAutomaticResponseApdu3 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AllowWhenCryptogramGeneratorNotPrepared(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_AllowWhenCryptogramGeneratorNotPrepared(
                        /* [in] */boolean value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardAutomaticResponseApdu3=_uuidof(ISmartCardAutomaticResponseApdu3);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAutomaticResponseApduFactory
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAutomaticResponseApduFactory[] = L"Windows.Devices.SmartCards.ISmartCardAutomaticResponseApduFactory";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("E97EA2FA-D02C-4C55-B02A-8CFF7FA9F05B"), exclusiveto, contract] */
                MIDL_INTERFACE("E97EA2FA-D02C-4C55-B02A-8CFF7FA9F05B")
                ISmartCardAutomaticResponseApduFactory : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE Create(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * commandApdu,
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * responseApdu,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardAutomaticResponseApduFactory=_uuidof(ISmartCardAutomaticResponseApduFactory);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardChallengeContext
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardChallengeContext
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Foundation.IClosable
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardChallengeContext[] = L"Windows.Devices.SmartCards.ISmartCardChallengeContext";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("192A5319-C9C4-4947-81CC-44794A61EF91"), exclusiveto, contract] */
                MIDL_INTERFACE("192A5319-C9C4-4947-81CC-44794A61EF91")
                ISmartCardChallengeContext : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Challenge(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE VerifyResponseAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * response,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE ProvisionAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * response,
                        /* [in] */boolean formatCard,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction * * result
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE ProvisionAsyncWithNewCardId(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * response,
                        /* [in] */boolean formatCard,
                        /* [in] */GUID newCardId,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE ChangeAdministrativeKeyAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * response,
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * newAdministrativeKey,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardChallengeContext=_uuidof(ISmartCardChallengeContext);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardConnect
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCard
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardConnect[] = L"Windows.Devices.SmartCards.ISmartCardConnect";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("2FDF87E5-028D-491E-A058-3382C3986F40"), exclusiveto, contract] */
                MIDL_INTERFACE("2FDF87E5-028D-491E-A058-3382C3986F40")
                ISmartCardConnect : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE ConnectAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardConnect=_uuidof(ISmartCardConnect);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardConnection
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardConnection
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Foundation.IClosable
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardConnection[] = L"Windows.Devices.SmartCards.ISmartCardConnection";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("7EDB991A-A81A-47BC-A649-156BE6B7F231"), exclusiveto, contract] */
                MIDL_INTERFACE("7EDB991A-A81A-47BC-A649-156BE6B7F231")
                ISmartCardConnection : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE TransmitAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * command,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardConnection=_uuidof(ISmartCardConnection);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGenerator
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGenerator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGenerator[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGenerator";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("E39F587B-EDD3-4E49-B594-0FF5E4D0C76F"), exclusiveto, contract] */
                MIDL_INTERFACE("E39F587B-EDD3-4E49-B594-0FF5E4D0C76F")
                ISmartCardCryptogramGenerator : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SupportedCryptogramMaterialTypes(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * * result
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SupportedCryptogramAlgorithms(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * * result
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SupportedCryptogramMaterialPackageFormats(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * * result
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SupportedCryptogramMaterialPackageConfirmationResponseFormats(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * * result
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SupportedSmartCardCryptogramStorageKeyCapabilities(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE DeleteCryptogramMaterialStorageKeyAsync(
                        /* [in] */__RPC__in HSTRING storageKeyName,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE CreateCryptogramMaterialStorageKeyAsync(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior,
                        /* [in] */__RPC__in HSTRING storageKeyName,
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyAlgorithm algorithm,
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities capabilities,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RequestCryptogramMaterialStorageKeyInfoAsync(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior,
                        /* [in] */__RPC__in HSTRING storageKeyName,
                        /* [in] */ABI::Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType format,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE ImportCryptogramMaterialPackageAsync(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat format,
                        /* [in] */__RPC__in HSTRING storageKeyName,
                        /* [in] */__RPC__in HSTRING materialPackageName,
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * cryptogramMaterialPackage,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE TryProvePossessionOfCryptogramMaterialPackageAsync(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior,
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat responseFormat,
                        /* [in] */__RPC__in HSTRING materialPackageName,
                        /* [in] */__RPC__in HSTRING materialName,
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * challenge,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RequestUnlockCryptogramMaterialForUseAsync(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE DeleteCryptogramMaterialPackageAsync(
                        /* [in] */__RPC__in HSTRING materialPackageName,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramGenerator=_uuidof(ISmartCardCryptogramGenerator);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGenerator2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGenerator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGenerator2[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGenerator2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("7116AA34-5D6D-4B4A-96A3-EFA47D2A7E25"), exclusiveto, contract] */
                MIDL_INTERFACE("7116AA34-5D6D-4B4A-96A3-EFA47D2A7E25")
                ISmartCardCryptogramGenerator2 : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE ValidateRequestApduAsync(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior,
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * apduToValidate,
                        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * cryptogramPlacementSteps,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetAllCryptogramStorageKeyCharacteristicsAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * * result
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE GetAllCryptogramMaterialPackageCharacteristicsAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * * result
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE GetAllCryptogramMaterialPackageCharacteristicsWithStorageKeyAsync(
                        /* [in] */__RPC__in HSTRING storageKeyName,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetAllCryptogramMaterialCharacteristicsAsync(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior,
                        /* [in] */__RPC__in HSTRING materialPackageName,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramGenerator2=_uuidof(ISmartCardCryptogramGenerator2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGenerator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGeneratorStatics[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("09933910-CB9C-4015-967D-5234F3B02900"), exclusiveto, contract] */
                MIDL_INTERFACE("09933910-CB9C-4015-967D-5234F3B02900")
                ISmartCardCryptogramGeneratorStatics : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE GetSmartCardCryptogramGeneratorAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramGeneratorStatics=_uuidof(ISmartCardCryptogramGeneratorStatics);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 5.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGenerator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGeneratorStatics2[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("09BDF5E5-B4BD-4E23-A588-74469204C128"), exclusiveto, contract] */
                MIDL_INTERFACE("09BDF5E5-B4BD-4E23-A588-74469204C128")
                ISmartCardCryptogramGeneratorStatics2 : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE IsSupported(
                        /* [retval, out] */__RPC__out boolean * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramGeneratorStatics2=_uuidof(ISmartCardCryptogramGeneratorStatics2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("2798E029-D687-4C92-86C6-399E9A0ECB09"), exclusiveto, contract] */
                MIDL_INTERFACE("2798E029-D687-4C92-86C6-399E9A0ECB09")
                ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_OperationStatus(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Characteristics(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult=_uuidof(ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("4E6A8A5C-9773-46C4-A32F-B1E543159E04"), exclusiveto, contract] */
                MIDL_INTERFACE("4E6A8A5C-9773-46C4-A32F-B1E543159E04")
                ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_OperationStatus(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Characteristics(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult=_uuidof(ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("8C7CE857-A7E7-489D-B9D6-368061515012"), exclusiveto, contract] */
                MIDL_INTERFACE("8C7CE857-A7E7-489D-B9D6-368061515012")
                ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_OperationStatus(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Characteristics(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult=_uuidof(ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramMaterialCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramMaterialCharacteristics
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramMaterialCharacteristics[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramMaterialCharacteristics";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("FC9AC5CC-C1D7-4153-923B-A2D43C6C8D49"), exclusiveto, contract] */
                MIDL_INTERFACE("FC9AC5CC-C1D7-4153-923B-A2D43C6C8D49")
                ISmartCardCryptogramMaterialCharacteristics : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_MaterialName(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AllowedAlgorithms(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AllowedProofOfPossessionAlgorithms(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AllowedValidations(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_MaterialType(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialType * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ProtectionMethod(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialProtectionMethod * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ProtectionVersion(
                        /* [retval, out] */__RPC__out INT32 * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_MaterialLength(
                        /* [retval, out] */__RPC__out INT32 * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramMaterialCharacteristics=_uuidof(ISmartCardCryptogramMaterialCharacteristics);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPackageCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageCharacteristics
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramMaterialPackageCharacteristics[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPackageCharacteristics";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("FFB58E1F-0692-4C47-93CF-34D91F9DCD00"), exclusiveto, contract] */
                MIDL_INTERFACE("FFB58E1F-0692-4C47-93CF-34D91F9DCD00")
                ISmartCardCryptogramMaterialPackageCharacteristics : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_PackageName(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_StorageKeyName(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DateImported(
                        /* [retval, out] */__RPC__out ABI::Windows::Foundation::DateTime * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_PackageFormat(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramMaterialPackageCharacteristics=_uuidof(ISmartCardCryptogramMaterialPackageCharacteristics);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPossessionProof
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramMaterialPossessionProof
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramMaterialPossessionProof[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPossessionProof";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("E5B9AB8C-A141-4135-9ADD-B0D2E3AA1FC9"), exclusiveto, contract] */
                MIDL_INTERFACE("E5B9AB8C-A141-4135-9ADD-B0D2E3AA1FC9")
                ISmartCardCryptogramMaterialPossessionProof : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_OperationStatus(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Proof(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramMaterialPossessionProof=_uuidof(ISmartCardCryptogramMaterialPossessionProof);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramPlacementStep
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramPlacementStep
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramPlacementStep[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramPlacementStep";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("947B03EB-8342-4792-A2E5-925636378A53"), exclusiveto, contract] */
                MIDL_INTERFACE("947B03EB-8342-4792-A2E5-925636378A53")
                ISmartCardCryptogramPlacementStep : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Algorithm(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Algorithm(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SourceData(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_SourceData(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CryptogramMaterialPackageName(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_CryptogramMaterialPackageName(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CryptogramMaterialName(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_CryptogramMaterialName(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_TemplateOffset(
                        /* [retval, out] */__RPC__out INT32 * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_TemplateOffset(
                        /* [in] */INT32 value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CryptogramOffset(
                        /* [retval, out] */__RPC__out INT32 * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_CryptogramOffset(
                        /* [in] */INT32 value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CryptogramLength(
                        /* [retval, out] */__RPC__out INT32 * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_CryptogramLength(
                        /* [in] */INT32 value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CryptogramPlacementOptions(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramPlacementOptions * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_CryptogramPlacementOptions(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardCryptogramPlacementOptions value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ChainedOutputStep(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCardCryptogramPlacementStep * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_ChainedOutputStep(
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCardCryptogramPlacementStep * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramPlacementStep=_uuidof(ISmartCardCryptogramPlacementStep);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCharacteristics
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramStorageKeyCharacteristics[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyCharacteristics";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("8552546E-4457-4825-B464-635471A39F5C"), exclusiveto, contract] */
                MIDL_INTERFACE("8552546E-4457-4825-B464-635471A39F5C")
                ISmartCardCryptogramStorageKeyCharacteristics : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_StorageKeyName(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DateCreated(
                        /* [retval, out] */__RPC__out ABI::Windows::Foundation::DateTime * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Algorithm(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyAlgorithm * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Capabilities(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramStorageKeyCharacteristics=_uuidof(ISmartCardCryptogramStorageKeyCharacteristics);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyInfo
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramStorageKeyInfo[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("77B0F00D-B097-4F61-A26A-9561639C9C3A"), exclusiveto, contract] */
                MIDL_INTERFACE("77B0F00D-B097-4F61-A26A-9561639C9C3A")
                ISmartCardCryptogramStorageKeyInfo : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_OperationStatus(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_PublicKeyBlobType(
                        /* [retval, out] */__RPC__out ABI::Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_PublicKey(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AttestationStatus(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptographicKeyAttestationStatus * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Attestation(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AttestationCertificateChain(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Capabilities(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramStorageKeyInfo=_uuidof(ISmartCardCryptogramStorageKeyInfo);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyInfo
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramStorageKeyInfo2[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("000440F9-F7FD-417D-89E1-FBB0382ADC4D"), exclusiveto, contract] */
                MIDL_INTERFACE("000440F9-F7FD-417D-89E1-FBB0382ADC4D")
                ISmartCardCryptogramStorageKeyInfo2 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_OperationalRequirements(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardCryptogramStorageKeyInfo2=_uuidof(ISmartCardCryptogramStorageKeyInfo2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulator
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulator[] = L"Windows.Devices.SmartCards.ISmartCardEmulator";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("DFB906B2-875E-47E5-8077-E8BFF1B1C6FB"), exclusiveto, contract] */
                MIDL_INTERFACE("DFB906B2-875E-47E5-8077-E8BFF1B1C6FB")
                ISmartCardEmulator : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_EnablementPolicy(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardEmulatorEnablementPolicy * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardEmulator=_uuidof(ISmartCardEmulator);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulator2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulator2[] = L"Windows.Devices.SmartCards.ISmartCardEmulator2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("FE3FC0B8-8529-411A-807B-48EDC2A0AB44"), exclusiveto, contract] */
                MIDL_INTERFACE("FE3FC0B8-8529-411A-807B-48EDC2A0AB44")
                ISmartCardEmulator2 : public IInspectable
                {
                public:
                    /* [eventadd] */virtual HRESULT STDMETHODCALLTYPE add_ApduReceived(
                        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs * value,
                        /* [retval, out] */__RPC__out EventRegistrationToken * token
                        ) = 0;
                    /* [eventremove] */virtual HRESULT STDMETHODCALLTYPE remove_ApduReceived(
                        /* [in] */EventRegistrationToken value
                        ) = 0;
                    /* [eventadd] */virtual HRESULT STDMETHODCALLTYPE add_ConnectionDeactivated(
                        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs * value,
                        /* [retval, out] */__RPC__out EventRegistrationToken * token
                        ) = 0;
                    /* [eventremove] */virtual HRESULT STDMETHODCALLTYPE remove_ConnectionDeactivated(
                        /* [in] */EventRegistrationToken value
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE Start(void) = 0;
                    virtual HRESULT STDMETHODCALLTYPE IsHostCardEmulationSupported(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardEmulator2=_uuidof(ISmartCardEmulator2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulatorApduReceivedEventArgs
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorApduReceivedEventArgs[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("D55D1576-69D2-5333-5B5F-F8C0D6E9F09F"), exclusiveto, contract] */
                MIDL_INTERFACE("D55D1576-69D2-5333-5B5F-F8C0D6E9F09F")
                ISmartCardEmulatorApduReceivedEventArgs : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CommandApdu(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ConnectionProperties(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCardEmulatorConnectionProperties * * value
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE TryRespondAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * responseApdu,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AutomaticResponseStatus(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardAutomaticResponseStatus * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardEmulatorApduReceivedEventArgs=_uuidof(ISmartCardEmulatorApduReceivedEventArgs);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulatorApduReceivedEventArgs
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorApduReceivedEventArgs2[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("8BF93DF0-22E1-4238-8610-94CE4A965425"), exclusiveto, contract] */
                MIDL_INTERFACE("8BF93DF0-22E1-4238-8610-94CE4A965425")
                ISmartCardEmulatorApduReceivedEventArgs2 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_State(
                        /* [retval, out] */__RPC__out UINT32 * value
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE TryRespondWithStateAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * responseApdu,
                        /* [in] */__RPC__in_opt __FIReference_1_UINT32 * nextState,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardEmulatorApduReceivedEventArgs2=_uuidof(ISmartCardEmulatorApduReceivedEventArgs2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgsWithCryptograms
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulatorApduReceivedEventArgs
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorApduReceivedEventArgsWithCryptograms[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgsWithCryptograms";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("D550BAC7-B7BF-4E29-9294-0C4AC3C941BD"), exclusiveto, contract] */
                MIDL_INTERFACE("D550BAC7-B7BF-4E29-9294-0C4AC3C941BD")
                ISmartCardEmulatorApduReceivedEventArgsWithCryptograms : public IInspectable
                {
                public:
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE TryRespondWithCryptogramsAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * responseTemplate,
                        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * cryptogramPlacementSteps,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE TryRespondWithCryptogramsAndStateAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * responseTemplate,
                        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * cryptogramPlacementSteps,
                        /* [in] */__RPC__in_opt __FIReference_1_UINT32 * nextState,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardEmulatorApduReceivedEventArgsWithCryptograms=_uuidof(ISmartCardEmulatorApduReceivedEventArgsWithCryptograms);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorConnectionDeactivatedEventArgs
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulatorConnectionDeactivatedEventArgs
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorConnectionDeactivatedEventArgs[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorConnectionDeactivatedEventArgs";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("2186D8D3-C5EB-5262-43DF-62A0A1B55557"), exclusiveto, contract] */
                MIDL_INTERFACE("2186D8D3-C5EB-5262-43DF-62A0A1B55557")
                ISmartCardEmulatorConnectionDeactivatedEventArgs : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ConnectionProperties(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCardEmulatorConnectionProperties * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Reason(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardEmulatorConnectionDeactivatedReason * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardEmulatorConnectionDeactivatedEventArgs=_uuidof(ISmartCardEmulatorConnectionDeactivatedEventArgs);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorConnectionProperties
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulatorConnectionProperties
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorConnectionProperties[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorConnectionProperties";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("4E2CA5EE-F969-507D-6CF9-34E2D18DF311"), exclusiveto, contract] */
                MIDL_INTERFACE("4E2CA5EE-F969-507D-6CF9-34E2D18DF311")
                ISmartCardEmulatorConnectionProperties : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Id(
                        /* [retval, out] */__RPC__out GUID * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Source(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardEmulatorConnectionSource * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardEmulatorConnectionProperties=_uuidof(ISmartCardEmulatorConnectionProperties);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorStatics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorStatics[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorStatics";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("7A9BFC4B-C4D3-494F-B8A2-6215D81E85B2"), exclusiveto, contract] */
                MIDL_INTERFACE("7A9BFC4B-C4D3-494F-B8A2-6215D81E85B2")
                ISmartCardEmulatorStatics : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE GetDefaultAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardEmulatorStatics=_uuidof(ISmartCardEmulatorStatics);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorStatics2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorStatics2[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorStatics2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("69AE9F8A-B775-488B-8436-6C1E28ED731F"), exclusiveto, contract] */
                MIDL_INTERFACE("69AE9F8A-B775-488B-8436-6C1E28ED731F")
                ISmartCardEmulatorStatics2 : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE GetAppletIdGroupRegistrationsAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RegisterAppletIdGroupAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroup * appletIdGroup,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE UnregisterAppletIdGroupAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration * registration,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction * * result
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_MaxAppletIdGroupRegistrations(
                        /* [retval, out] */__RPC__out UINT16 * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardEmulatorStatics2=_uuidof(ISmartCardEmulatorStatics2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorStatics3
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 5.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorStatics3[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorStatics3";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("59EA142A-9F09-43F5-8565-CFA8148E4CB2"), exclusiveto, contract] */
                MIDL_INTERFACE("59EA142A-9F09-43F5-8565-CFA8148E4CB2")
                ISmartCardEmulatorStatics3 : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE IsSupported(
                        /* [retval, out] */__RPC__out boolean * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardEmulatorStatics3=_uuidof(ISmartCardEmulatorStatics3);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardPinPolicy
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardPinPolicy
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardPinPolicy[] = L"Windows.Devices.SmartCards.ISmartCardPinPolicy";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("183CE184-4DB6-4841-AC9E-2AC1F39B7304"), exclusiveto, contract] */
                MIDL_INTERFACE("183CE184-4DB6-4841-AC9E-2AC1F39B7304")
                ISmartCardPinPolicy : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_MinLength(
                        /* [retval, out] */__RPC__out UINT32 * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_MinLength(
                        /* [in] */UINT32 value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_MaxLength(
                        /* [retval, out] */__RPC__out UINT32 * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_MaxLength(
                        /* [in] */UINT32 value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_UppercaseLetters(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_UppercaseLetters(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_LowercaseLetters(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_LowercaseLetters(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Digits(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Digits(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SpecialCharacters(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_SpecialCharacters(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardPinPolicy=_uuidof(ISmartCardPinPolicy);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardPinResetDeferral
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardPinResetDeferral
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardPinResetDeferral[] = L"Windows.Devices.SmartCards.ISmartCardPinResetDeferral";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("18C94AAC-7805-4004-85E4-BBEFAC8F6884"), exclusiveto, contract] */
                MIDL_INTERFACE("18C94AAC-7805-4004-85E4-BBEFAC8F6884")
                ISmartCardPinResetDeferral : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE Complete(void) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardPinResetDeferral=_uuidof(ISmartCardPinResetDeferral);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardPinResetRequest
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardPinResetRequest
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardPinResetRequest[] = L"Windows.Devices.SmartCards.ISmartCardPinResetRequest";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("12FE3C4D-5FB9-4E8E-9FF6-61F475124FEF"), exclusiveto, contract] */
                MIDL_INTERFACE("12FE3C4D-5FB9-4E8E-9FF6-61F475124FEF")
                ISmartCardPinResetRequest : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Challenge(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Deadline(
                        /* [retval, out] */__RPC__out ABI::Windows::Foundation::DateTime * value
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetDeferral(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCardPinResetDeferral * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE SetResponse(
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * response
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardPinResetRequest=_uuidof(ISmartCardPinResetRequest);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardProvisioning
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardProvisioning
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardProvisioning[] = L"Windows.Devices.SmartCards.ISmartCardProvisioning";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("19EEEDBD-1FAB-477C-B712-1A2C5AF1FD6E"), exclusiveto, contract] */
                MIDL_INTERFACE("19EEEDBD-1FAB-477C-B712-1A2C5AF1FD6E")
                ISmartCardProvisioning : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SmartCard(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCard * * value
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetIdAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_GUID * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetNameAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_HSTRING * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetChallengeContextAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RequestPinChangeAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RequestPinResetAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCardPinResetHandler  * handler,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardProvisioning=_uuidof(ISmartCardProvisioning);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardProvisioning2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardProvisioning
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardProvisioning2[] = L"Windows.Devices.SmartCards.ISmartCardProvisioning2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("10FD28EB-3F79-4B66-9B7C-11C149B7D0BC"), exclusiveto, contract] */
                MIDL_INTERFACE("10FD28EB-3F79-4B66-9B7C-11C149B7D0BC")
                ISmartCardProvisioning2 : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE GetAuthorityKeyContainerNameAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_HSTRING * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardProvisioning2=_uuidof(ISmartCardProvisioning2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardProvisioningStatics
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardProvisioning
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardProvisioningStatics[] = L"Windows.Devices.SmartCards.ISmartCardProvisioningStatics";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("13882848-0D13-4E70-9735-51DAECA5254F"), exclusiveto, contract] */
                MIDL_INTERFACE("13882848-0D13-4E70-9735-51DAECA5254F")
                ISmartCardProvisioningStatics : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE FromSmartCardAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCard * card,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * * result
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE RequestVirtualSmartCardCreationAsync(
                        /* [in] */__RPC__in HSTRING friendlyName,
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * administrativeKey,
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCardPinPolicy * pinPolicy,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * * result
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE RequestVirtualSmartCardCreationAsyncWithCardId(
                        /* [in] */__RPC__in HSTRING friendlyName,
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * administrativeKey,
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCardPinPolicy * pinPolicy,
                        /* [in] */GUID cardId,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RequestVirtualSmartCardDeletionAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCard * card,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardProvisioningStatics=_uuidof(ISmartCardProvisioningStatics);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardProvisioningStatics2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardProvisioning
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardProvisioningStatics2[] = L"Windows.Devices.SmartCards.ISmartCardProvisioningStatics2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("3447C6A8-C9A0-4BD6-B50D-251F4E8D3A62"), exclusiveto, contract] */
                MIDL_INTERFACE("3447C6A8-C9A0-4BD6-B50D-251F4E8D3A62")
                ISmartCardProvisioningStatics2 : public IInspectable
                {
                public:
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE RequestAttestedVirtualSmartCardCreationAsync(
                        /* [in] */__RPC__in HSTRING friendlyName,
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * administrativeKey,
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCardPinPolicy * pinPolicy,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * * result
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE RequestAttestedVirtualSmartCardCreationAsyncWithCardId(
                        /* [in] */__RPC__in HSTRING friendlyName,
                        /* [in] */__RPC__in_opt ABI::Windows::Storage::Streams::IBuffer * administrativeKey,
                        /* [in] */__RPC__in_opt ABI::Windows::Devices::SmartCards::ISmartCardPinPolicy * pinPolicy,
                        /* [in] */GUID cardId,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardProvisioningStatics2=_uuidof(ISmartCardProvisioningStatics2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardReader
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardReader
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardReader[] = L"Windows.Devices.SmartCards.ISmartCardReader";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("1074B4E0-54C2-4DF0-817A-14C14378F06C"), exclusiveto, contract] */
                MIDL_INTERFACE("1074B4E0-54C2-4DF0-817A-14C14378F06C")
                ISmartCardReader : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DeviceId(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Name(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Kind(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardReaderKind * value
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetStatusAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * * result
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE FindAllCardsAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * * result
                        ) = 0;
                    /* [eventadd] */virtual HRESULT STDMETHODCALLTYPE add_CardAdded(
                        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs * handler,
                        /* [retval, out] */__RPC__out EventRegistrationToken * token
                        ) = 0;
                    /* [eventremove] */virtual HRESULT STDMETHODCALLTYPE remove_CardAdded(
                        /* [in] */EventRegistrationToken token
                        ) = 0;
                    /* [eventadd] */virtual HRESULT STDMETHODCALLTYPE add_CardRemoved(
                        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs * handler,
                        /* [retval, out] */__RPC__out EventRegistrationToken * token
                        ) = 0;
                    /* [eventremove] */virtual HRESULT STDMETHODCALLTYPE remove_CardRemoved(
                        /* [in] */EventRegistrationToken token
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardReader=_uuidof(ISmartCardReader);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardReaderStatics
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardReader
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardReaderStatics[] = L"Windows.Devices.SmartCards.ISmartCardReaderStatics";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("103C04E1-A1CA-48F2-A281-5B6F669AF107"), exclusiveto, contract] */
                MIDL_INTERFACE("103C04E1-A1CA-48F2-A281-5B6F669AF107")
                ISmartCardReaderStatics : public IInspectable
                {
                public:
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE GetDeviceSelector(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * selector
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE GetDeviceSelectorWithKind(
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardReaderKind kind,
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * selector
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE FromIdAsync(
                        /* [in] */__RPC__in HSTRING deviceId,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardReaderStatics=_uuidof(ISmartCardReaderStatics);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardTriggerDetails
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardTriggerDetails
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardTriggerDetails[] = L"Windows.Devices.SmartCards.ISmartCardTriggerDetails";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("5F9BF11E-39EF-4F2B-B44F-0A9155B177BC"), exclusiveto, contract] */
                MIDL_INTERFACE("5F9BF11E-39EF-4F2B-B44F-0A9155B177BC")
                ISmartCardTriggerDetails : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_TriggerType(
                        /* [retval, out] */__RPC__out ABI::Windows::Devices::SmartCards::SmartCardTriggerType * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SourceAppletId(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_TriggerData(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardTriggerDetails=_uuidof(ISmartCardTriggerDetails);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardTriggerDetails2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardTriggerDetails
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardTriggerDetails2[] = L"Windows.Devices.SmartCards.ISmartCardTriggerDetails2";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("2945C569-8975-4A51-9E1A-5F8A76EE51AF"), exclusiveto, contract] */
                MIDL_INTERFACE("2945C569-8975-4A51-9E1A-5F8A76EE51AF")
                ISmartCardTriggerDetails2 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Emulator(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCardEmulator * * value
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE TryLaunchCurrentAppAsync(
                        /* [in] */__RPC__in HSTRING arguments,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE TryLaunchCurrentAppWithBehaviorAsync(
                        /* [in] */__RPC__in HSTRING arguments,
                        /* [in] */ABI::Windows::Devices::SmartCards::SmartCardLaunchBehavior behavior,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardTriggerDetails2=_uuidof(ISmartCardTriggerDetails2);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardTriggerDetails3
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardTriggerDetails
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardTriggerDetails3[] = L"Windows.Devices.SmartCards.ISmartCardTriggerDetails3";
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace SmartCards {
                /* [object, uuid("B3E2C27D-18C6-4BA8-8376-EF03D4912666"), exclusiveto, contract] */
                MIDL_INTERFACE("B3E2C27D-18C6-4BA8-8376-EF03D4912666")
                ISmartCardTriggerDetails3 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SmartCard(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Devices::SmartCards::ISmartCard * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_ISmartCardTriggerDetails3=_uuidof(ISmartCardTriggerDetails3);
                
            } /* Windows */
        } /* Devices */
    } /* SmartCards */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x30000


/*
 *
 * Class Windows.Devices.SmartCards.CardAddedEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ICardAddedEventArgs ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_CardAddedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_CardAddedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_CardAddedEventArgs[] = L"Windows.Devices.SmartCards.CardAddedEventArgs";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.CardRemovedEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ICardRemovedEventArgs ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_CardRemovedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_CardRemovedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_CardRemovedEventArgs[] = L"Windows.Devices.SmartCards.CardRemovedEventArgs";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.KnownSmartCardAppletIds
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 6.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.IKnownSmartCardAppletIds interface starting with version 6.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000
#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_KnownSmartCardAppletIds_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_KnownSmartCardAppletIds_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_KnownSmartCardAppletIds[] = L"Windows.Devices.SmartCards.KnownSmartCardAppletIds";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCard
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCard ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardConnect
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCard_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCard_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCard[] = L"Windows.Devices.SmartCards.SmartCard";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardAppletIdGroup
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *   Type can be activated via the Windows.Devices.SmartCards.ISmartCardAppletIdGroupFactory interface starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardAppletIdGroupStatics interface starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardAppletIdGroup ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardAppletIdGroup2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAppletIdGroup_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAppletIdGroup_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardAppletIdGroup[] = L"Windows.Devices.SmartCards.SmartCardAppletIdGroup";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAppletIdGroupRegistration_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAppletIdGroupRegistration_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardAppletIdGroupRegistration[] = L"Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Devices.SmartCards.ISmartCardAutomaticResponseApduFactory interface starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu2
 *    Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu3
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAutomaticResponseApdu_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAutomaticResponseApdu_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardAutomaticResponseApdu[] = L"Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardChallengeContext
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardChallengeContext ** Default Interface **
 *    Windows.Foundation.IClosable
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardChallengeContext_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardChallengeContext_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardChallengeContext[] = L"Windows.Devices.SmartCards.SmartCardChallengeContext";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardConnection
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardConnection ** Default Interface **
 *    Windows.Foundation.IClosable
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardConnection_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardConnection_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardConnection[] = L"Windows.Devices.SmartCards.SmartCardConnection";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramGenerator
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics2 interface starting with version 5.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics interface starting with version 2.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramGenerator ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardCryptogramGenerator2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGenerator_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGenerator_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramGenerator[] = L"Windows.Devices.SmartCards.SmartCardCryptogramGenerator";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult[] = L"Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult[] = L"Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult[] = L"Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramMaterialCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramMaterialCharacteristics ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialCharacteristics_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialCharacteristics_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramMaterialCharacteristics[] = L"Windows.Devices.SmartCards.SmartCardCryptogramMaterialCharacteristics";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPackageCharacteristics ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPackageCharacteristics_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPackageCharacteristics_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPackageCharacteristics[] = L"Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageCharacteristics";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramMaterialPossessionProof
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPossessionProof ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPossessionProof_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPossessionProof_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPossessionProof[] = L"Windows.Devices.SmartCards.SmartCardCryptogramMaterialPossessionProof";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramPlacementStep
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 2.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramPlacementStep ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramPlacementStep_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramPlacementStep_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramPlacementStep[] = L"Windows.Devices.SmartCards.SmartCardCryptogramPlacementStep";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyCharacteristics ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyCharacteristics_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyCharacteristics_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyCharacteristics[] = L"Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCharacteristics";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyInfo
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyInfo_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyInfo_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyInfo[] = L"Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyInfo";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardEmulator
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardEmulatorStatics3 interface starting with version 5.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardEmulatorStatics2 interface starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardEmulatorStatics interface starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardEmulator ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardEmulator2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulator_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulator_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardEmulator[] = L"Windows.Devices.SmartCards.SmartCardEmulator";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardEmulatorApduReceivedEventArgs
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgsWithCryptograms
 *    Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorApduReceivedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorApduReceivedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardEmulatorApduReceivedEventArgs[] = L"Windows.Devices.SmartCards.SmartCardEmulatorApduReceivedEventArgs";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardEmulatorConnectionDeactivatedEventArgs
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardEmulatorConnectionDeactivatedEventArgs ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorConnectionDeactivatedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorConnectionDeactivatedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardEmulatorConnectionDeactivatedEventArgs[] = L"Windows.Devices.SmartCards.SmartCardEmulatorConnectionDeactivatedEventArgs";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardEmulatorConnectionProperties
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardEmulatorConnectionProperties ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorConnectionProperties_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorConnectionProperties_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardEmulatorConnectionProperties[] = L"Windows.Devices.SmartCards.SmartCardEmulatorConnectionProperties";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardPinPolicy
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardPinPolicy ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinPolicy_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinPolicy_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardPinPolicy[] = L"Windows.Devices.SmartCards.SmartCardPinPolicy";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardPinResetDeferral
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardPinResetDeferral ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinResetDeferral_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinResetDeferral_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardPinResetDeferral[] = L"Windows.Devices.SmartCards.SmartCardPinResetDeferral";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardPinResetRequest
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardPinResetRequest ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinResetRequest_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinResetRequest_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardPinResetRequest[] = L"Windows.Devices.SmartCards.SmartCardPinResetRequest";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardProvisioning
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardProvisioningStatics2 interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardProvisioningStatics interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardProvisioning ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardProvisioning2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardProvisioning_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardProvisioning_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardProvisioning[] = L"Windows.Devices.SmartCards.SmartCardProvisioning";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardReader
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardReaderStatics interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardReader ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardReader_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardReader_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardReader[] = L"Windows.Devices.SmartCards.SmartCardReader";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardTriggerDetails
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardTriggerDetails ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardTriggerDetails2
 *    Windows.Devices.SmartCards.ISmartCardTriggerDetails3
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardTriggerDetails_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardTriggerDetails_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardTriggerDetails[] = L"Windows.Devices.SmartCards.SmartCardTriggerDetails";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000




#else // !defined(__cplusplus)
/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3 __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3;

#endif // ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCard **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApduVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApduVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApduVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApduVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApduVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApduVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramAlgorithm;
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithmVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This, /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramAlgorithm *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramAlgorithm *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithmVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithmVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_INTERFACE_DEFINED__



#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithmVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithmVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithmVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_INTERFACE_DEFINED__



#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristicsVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristicsVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristicsVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristicsVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristicsVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristicsVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristicsVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristicsVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristicsVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristicsVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristicsVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristicsVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageConfirmationResponseFormat;
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormatVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This, /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageConfirmationResponseFormat *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageConfirmationResponseFormat *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormatVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormatVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_INTERFACE_DEFINED__



#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormatVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormatVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormatVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_INTERFACE_DEFINED__


enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageFormat;
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormatVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This, /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageFormat *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageFormat *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormatVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormatVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_INTERFACE_DEFINED__



#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormatVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormatVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormatVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_INTERFACE_DEFINED__


enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialType;
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialTypeVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This, /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialType *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialType *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialTypeVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialTypeVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_INTERFACE_DEFINED__



#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialTypeVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialTypeVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialTypeVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_INTERFACE_DEFINED__



#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStepVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStepVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStepVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStepVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStepVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStepVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities;
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilitiesVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This, /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilitiesVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilitiesVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_INTERFACE_DEFINED__



#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilitiesVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilitiesVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilitiesVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_INTERFACE_DEFINED__



#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics;

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

typedef struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristicsVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristicsVtbl;

interface __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics
{
    CONST_VTBL struct __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristicsVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics;

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

typedef  struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristicsVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics **first);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristicsVtbl;

interface __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics
{
    CONST_VTBL struct __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristicsVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard;

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

typedef struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardVtbl;

interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard
{
    CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration;

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

typedef struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl;

interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration
{
    CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if !defined(____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm;

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

typedef struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithmVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramAlgorithm *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
            /* [in] */ enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramAlgorithm item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramAlgorithm *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithmVtbl;

interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm
{
    CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithmVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm_INTERFACE_DEFINED__



#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics;

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

typedef struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristicsVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristicsVtbl;

interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics
{
    CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristicsVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics;

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

typedef struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristicsVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristicsVtbl;

interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics
{
    CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristicsVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if !defined(____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat;

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

typedef struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormatVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageConfirmationResponseFormat *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
            /* [in] */ enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageConfirmationResponseFormat item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageConfirmationResponseFormat *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormatVtbl;

interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat
{
    CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormatVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat_INTERFACE_DEFINED__



#if !defined(____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat;

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

typedef struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormatVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageFormat *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
            /* [in] */ enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageFormat item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageFormat *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormatVtbl;

interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat
{
    CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormatVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat_INTERFACE_DEFINED__



#if !defined(____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType;

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

typedef struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialTypeVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialType *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
            /* [in] */ enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialType item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialType *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialTypeVtbl;

interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType
{
    CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialTypeVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType_INTERFACE_DEFINED__



#if !defined(____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities;

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

typedef struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilitiesVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
            /* [in] */ enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilitiesVtbl;

interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities
{
    CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilitiesVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities_INTERFACE_DEFINED__



#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics;

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

typedef struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristicsVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
            /* [in] */ __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristicsVtbl;

interface __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics
{
    CONST_VTBL struct __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristicsVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardActivationPolicyChangeResult;
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResultVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResultVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_INTERFACE_DEFINED__



#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResultVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * This, /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardActivationPolicyChangeResult *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResultVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResultVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult_INTERFACE_DEFINED__



#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContextVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContextVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContextVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContextVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContextVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContextVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnectionVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnectionVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnectionVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnectionVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardConnection **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnectionVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnectionVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramGeneratorOperationStatus;
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatusVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatusVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatusVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_INTERFACE_DEFINED__



#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatusVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * This, /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramGeneratorOperationStatus *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatusVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatusVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus_INTERFACE_DEFINED__



#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResultVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResultVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResultVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResultVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResultVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResultVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResultVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResultVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResultVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResultVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResultVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResultVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResultVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResultVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResultVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProofVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProofVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProofVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProofVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProofVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProofVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfoVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfoVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfoVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfoVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfoVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfoVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulatorVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulatorVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulatorVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulatorVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardEmulator **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulatorVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulatorVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioningVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioningVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioningVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioningVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioningVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioningVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReader **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardReaderStatus;
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatusVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatusVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatusVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_INTERFACE_DEFINED__



#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatusVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * This, /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardReaderStatus *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatusVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatusVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus_INTERFACE_DEFINED__


enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardStatus;
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatusVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatusVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatusVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus_INTERFACE_DEFINED__



#if !defined(____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus;

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

typedef struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatusVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CSmartCards__CSmartCardStatus **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus * This, /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardStatus *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatusVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatusVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus_INTERFACE_DEFINED__



#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard;

typedef struct __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardVtbl;

interface __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard;

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

typedef struct __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * This, /* [retval][out] */ __RPC__out __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * *results);
    END_INTERFACE
} __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardVtbl;

interface __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard
{
    CONST_VTBL struct __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration;

typedef struct __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl;

interface __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration;

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

typedef struct __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * This, /* [retval][out] */ __RPC__out __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * *results);
    END_INTERFACE
} __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl;

interface __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration
{
    CONST_VTBL struct __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistrationVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000



#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_INTERFACE_DEFINED__)
#define ____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_INTERFACE_DEFINED__

typedef interface __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs;

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

typedef struct __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs * This,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator * sender,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs * *e);
    END_INTERFACE
} __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs
{
    CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 
#endif /* COBJMACROS */



#endif // ____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000



#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_INTERFACE_DEFINED__)
#define ____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_INTERFACE_DEFINED__

typedef interface __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs;

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

typedef struct __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs * This,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator * sender,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs * *e);
    END_INTERFACE
} __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs
{
    CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 
#endif /* COBJMACROS */



#endif // ____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs_INTERFACE_DEFINED__

#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000



#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_INTERFACE_DEFINED__)
#define ____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_INTERFACE_DEFINED__

typedef interface __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs;

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

typedef struct __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs * This,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * sender,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs * *e);
    END_INTERFACE
} __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs
{
    CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 
#endif /* COBJMACROS */



#endif // ____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000



#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_INTERFACE_DEFINED__)
#define ____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_INTERFACE_DEFINED__

typedef interface __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs;

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

typedef struct __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs * This,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * sender,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs * *e);
    END_INTERFACE
} __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs
{
    CONST_VTBL struct __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 
#endif /* COBJMACROS */



#endif // ____FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CStreams_CIBuffer __x_ABI_CWindows_CStorage_CStreams_CIBuffer;

#endif // ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBufferVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBufferVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBufferVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer;

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

typedef struct __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBufferVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIBuffer **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CStorage_CStreams_CIBuffer * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBufferVtbl;

interface __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBufferVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CStorage__CStreams__CIBuffer __FIIterator_1_Windows__CStorage__CStreams__CIBuffer;

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

typedef struct __FIIterator_1_Windows__CStorage__CStreams__CIBufferVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CStorage__CStreams__CIBuffer * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CStorage__CStreams__CIBuffer * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CStorage__CStreams__CIBuffer * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CStorage__CStreams__CIBuffer * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CStorage__CStreams__CIBuffer * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CStorage_CStreams_CIBuffer * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CStorage__CStreams__CIBuffer * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CStorage__CStreams__CIBuffer * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CStorage_CStreams_CIBuffer * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CStorage__CStreams__CIBufferVtbl;

interface __FIIterator_1_Windows__CStorage__CStreams__CIBuffer
{
    CONST_VTBL struct __FIIterator_1_Windows__CStorage__CStreams__CIBufferVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CStorage__CStreams__CIBuffer_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CStorage__CStreams__CIBuffer __FIIterable_1_Windows__CStorage__CStreams__CIBuffer;

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

typedef  struct __FIIterable_1_Windows__CStorage__CStreams__CIBufferVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CStorage__CStreams__CIBuffer * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CStorage__CStreams__CIBuffer * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CStorage__CStreams__CIBuffer * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CStorage__CStreams__CIBuffer * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CStorage__CStreams__CIBuffer * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CStorage__CStreams__CIBuffer * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CStorage__CStreams__CIBuffer **first);

    END_INTERFACE
} __FIIterable_1_Windows__CStorage__CStreams__CIBufferVtbl;

interface __FIIterable_1_Windows__CStorage__CStreams__CIBuffer
{
    CONST_VTBL struct __FIIterable_1_Windows__CStorage__CStreams__CIBufferVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CStorage__CStreams__CIBuffer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CStorage__CStreams__CIBuffer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CStorage__CStreams__CIBuffer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CStorage__CStreams__CIBuffer_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CStorage__CStreams__CIBuffer_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CStorage__CStreams__CIBuffer_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CStorage__CStreams__CIBuffer_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer;

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

typedef struct __FIVectorView_1_Windows__CStorage__CStreams__CIBufferVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CStorage_CStreams_CIBuffer * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer * This,
            /* [in] */ __x_ABI_CWindows_CStorage_CStreams_CIBuffer * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CStorage_CStreams_CIBuffer * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CStorage__CStreams__CIBufferVtbl;

interface __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer
{
    CONST_VTBL struct __FIVectorView_1_Windows__CStorage__CStreams__CIBufferVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVector_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__)
#define ____FIVector_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

typedef interface __FIVector_1_Windows__CStorage__CStreams__CIBuffer __FIVector_1_Windows__CStorage__CStreams__CIBuffer;

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

typedef struct __FIVector_1_Windows__CStorage__CStreams__CIBufferVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This, /* [out] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ unsigned int index,
        /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * *item);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
        __RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [retval][out] */ __RPC__out unsigned int *size);

    HRESULT ( STDMETHODCALLTYPE *GetView )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This, /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CStorage__CStreams__CIBuffer **view);

    HRESULT ( STDMETHODCALLTYPE *IndexOf )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ __RPC__in __x_ABI_CWindows_CStorage_CStreams_CIBuffer * item,
        /* [out] */ __RPC__out unsigned int *index,
        /* [retval][out] */ __RPC__out boolean *found);

    HRESULT ( STDMETHODCALLTYPE *SetAt )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CStorage_CStreams_CIBuffer * item);

    HRESULT ( STDMETHODCALLTYPE *InsertAt )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CStorage_CStreams_CIBuffer * item);

    HRESULT ( STDMETHODCALLTYPE *RemoveAt )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This, /* [in] */ unsigned int index);
    HRESULT ( STDMETHODCALLTYPE *Append )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This, /* [in] */ __RPC__in __x_ABI_CWindows_CStorage_CStreams_CIBuffer * item);
    HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This);
    HRESULT ( STDMETHODCALLTYPE *Clear )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ unsigned int startIndex,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CStorage_CStreams_CIBuffer * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    HRESULT ( STDMETHODCALLTYPE *ReplaceAll )(__RPC__in __FIVector_1_Windows__CStorage__CStreams__CIBuffer * This,
        /* [in] */ unsigned int count,
        /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CStorage_CStreams_CIBuffer * *value);

    END_INTERFACE
} __FIVector_1_Windows__CStorage__CStreams__CIBufferVtbl;

interface __FIVector_1_Windows__CStorage__CStreams__CIBuffer
{
    CONST_VTBL struct __FIVector_1_Windows__CStorage__CStreams__CIBufferVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#define __FIVector_1_Windows__CStorage__CStreams__CIBuffer_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */



#endif // ____FIVector_1_Windows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if !defined(____FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__)
#define ____FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__

typedef interface __FIKeyValuePair_2_HSTRING_IInspectable __FIKeyValuePair_2_HSTRING_IInspectable;

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

typedef struct __FIKeyValuePair_2_HSTRING_IInspectableVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIKeyValuePair_2_HSTRING_IInspectable * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIKeyValuePair_2_HSTRING_IInspectable * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIKeyValuePair_2_HSTRING_IInspectable * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIKeyValuePair_2_HSTRING_IInspectable * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIKeyValuePair_2_HSTRING_IInspectable * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIKeyValuePair_2_HSTRING_IInspectable * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Key )(__RPC__in __FIKeyValuePair_2_HSTRING_IInspectable * This, /* [retval][out] */ __RPC__out HSTRING *key);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )(__RPC__in __FIKeyValuePair_2_HSTRING_IInspectable * This, /* [retval][out] */ __RPC__deref_out_opt IInspectable * *value);
    END_INTERFACE
} __FIKeyValuePair_2_HSTRING_IInspectableVtbl;

interface __FIKeyValuePair_2_HSTRING_IInspectable
{
    CONST_VTBL struct __FIKeyValuePair_2_HSTRING_IInspectableVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIKeyValuePair_2_HSTRING_IInspectable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIKeyValuePair_2_HSTRING_IInspectable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIKeyValuePair_2_HSTRING_IInspectable_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIKeyValuePair_2_HSTRING_IInspectable_get_Key(This,key)	\
    ( (This)->lpVtbl -> get_Key(This,key) ) 

#define __FIKeyValuePair_2_HSTRING_IInspectable_get_Value(This,value)	\
    ( (This)->lpVtbl -> get_Value(This,value) ) 
#endif /* COBJMACROS */


#endif // ____FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__



#if !defined(____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__)
#define ____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__

typedef interface __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable;

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

typedef struct __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable * This, /* [retval][out] */ __RPC__out __FIKeyValuePair_2_HSTRING_IInspectable * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __FIKeyValuePair_2_HSTRING_IInspectable * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl;

interface __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable
{
    CONST_VTBL struct __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__



#if !defined(____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__)
#define ____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__

typedef interface __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable;

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

typedef  struct __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1___FIKeyValuePair_2_HSTRING_IInspectable **first);

    END_INTERFACE
} __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl;

interface __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable
{
    CONST_VTBL struct __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectableVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1___FIKeyValuePair_2_HSTRING_IInspectable_INTERFACE_DEFINED__



#if !defined(____FIMapView_2_HSTRING_IInspectable_INTERFACE_DEFINED__)
#define ____FIMapView_2_HSTRING_IInspectable_INTERFACE_DEFINED__

typedef interface __FIMapView_2_HSTRING_IInspectable __FIMapView_2_HSTRING_IInspectable;

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

typedef struct __FIMapView_2_HSTRING_IInspectableVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIMapView_2_HSTRING_IInspectable * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIMapView_2_HSTRING_IInspectable * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIMapView_2_HSTRING_IInspectable * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIMapView_2_HSTRING_IInspectable * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIMapView_2_HSTRING_IInspectable * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIMapView_2_HSTRING_IInspectable * This,/* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *Lookup )(__RPC__in __FIMapView_2_HSTRING_IInspectable * This,
        /* [in] */ __RPC__in HSTRING key,
        /* [retval][out] */ __RPC__deref_out_opt IInspectable * *value);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )(__RPC__in __FIMapView_2_HSTRING_IInspectable * This, /* [retval][out] */ __RPC__out unsigned int *size);
    HRESULT ( STDMETHODCALLTYPE *HasKey )(__RPC__in __FIMapView_2_HSTRING_IInspectable * This, /* [in] */ __RPC__in HSTRING key, /* [retval][out] */ __RPC__out boolean *found);
    HRESULT ( STDMETHODCALLTYPE *Split )(__RPC__in __FIMapView_2_HSTRING_IInspectable * This,/* [out] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_IInspectable **firstPartition,
        /* [out] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_IInspectable **secondPartition);
    END_INTERFACE
} __FIMapView_2_HSTRING_IInspectableVtbl;

interface __FIMapView_2_HSTRING_IInspectable
{
    CONST_VTBL struct __FIMapView_2_HSTRING_IInspectableVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIMapView_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIMapView_2_HSTRING_IInspectable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIMapView_2_HSTRING_IInspectable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIMapView_2_HSTRING_IInspectable_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIMapView_2_HSTRING_IInspectable_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIMapView_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIMapView_2_HSTRING_IInspectable_Lookup(This,key,value)	\
    ( (This)->lpVtbl -> Lookup(This,key,value) ) 
#define __FIMapView_2_HSTRING_IInspectable_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 
#define __FIMapView_2_HSTRING_IInspectable_HasKey(This,key,found)	\
    ( (This)->lpVtbl -> HasKey(This,key,found) ) 
#define __FIMapView_2_HSTRING_IInspectable_Split(This,firstPartition,secondPartition)	\
    ( (This)->lpVtbl -> Split(This,firstPartition,secondPartition) ) 
#endif /* COBJMACROS */


#endif // ____FIMapView_2_HSTRING_IInspectable_INTERFACE_DEFINED__



#if !defined(____FIMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__)
#define ____FIMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__

typedef interface __FIMap_2_HSTRING_IInspectable __FIMap_2_HSTRING_IInspectable;

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

typedef struct __FIMap_2_HSTRING_IInspectableVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIMap_2_HSTRING_IInspectable * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIMap_2_HSTRING_IInspectable * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIMap_2_HSTRING_IInspectable * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIMap_2_HSTRING_IInspectable * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIMap_2_HSTRING_IInspectable * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIMap_2_HSTRING_IInspectable * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *Lookup )(__RPC__in __FIMap_2_HSTRING_IInspectable * This,
        /* [in] */ HSTRING key,
        /* [retval][out] */ __RPC__deref_out_opt IInspectable * **value);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )(__RPC__in __FIMap_2_HSTRING_IInspectable * This, /* [retval][out] */ __RPC__out unsigned int *size);
    HRESULT ( STDMETHODCALLTYPE *HasKey )(__RPC__in __FIMap_2_HSTRING_IInspectable * This, /* [in] */ HSTRING key, /* [retval][out] */ __RPC__out boolean *found);
    HRESULT ( STDMETHODCALLTYPE *GetView )(__RPC__in __FIMap_2_HSTRING_IInspectable * This, /* [retval][out] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_IInspectable **view);
    HRESULT ( STDMETHODCALLTYPE *Insert )(__RPC__in __FIMap_2_HSTRING_IInspectable * This,
        /* [in] */ HSTRING key,
        /* [in] */ __RPC__in_opt IInspectable * *value,
        /* [retval][out] */ __RPC__out boolean *replaced);
    HRESULT ( STDMETHODCALLTYPE *Remove )(__RPC__in __FIMap_2_HSTRING_IInspectable * This,/* [in] */ HSTRING key);
    HRESULT ( STDMETHODCALLTYPE *Clear )(__RPC__in __FIMap_2_HSTRING_IInspectable * This);
    END_INTERFACE
} __FIMap_2_HSTRING_IInspectableVtbl;

interface __FIMap_2_HSTRING_IInspectable
{
    CONST_VTBL struct __FIMap_2_HSTRING_IInspectableVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIMap_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIMap_2_HSTRING_IInspectable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIMap_2_HSTRING_IInspectable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIMap_2_HSTRING_IInspectable_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIMap_2_HSTRING_IInspectable_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIMap_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIMap_2_HSTRING_IInspectable_Lookup(This,key,value)	\
    ( (This)->lpVtbl -> Lookup(This,key,value) ) 

#define __FIMap_2_HSTRING_IInspectable_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIMap_2_HSTRING_IInspectable_HasKey(This,key,found)	\
    ( (This)->lpVtbl -> HasKey(This,key,found) ) 

#define __FIMap_2_HSTRING_IInspectable_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIMap_2_HSTRING_IInspectable_Insert(This,key,value,replaced)	\
    ( (This)->lpVtbl -> Insert(This,key,value,replaced) ) 

#define __FIMap_2_HSTRING_IInspectable_Remove(This,key)	\
    ( (This)->lpVtbl -> Remove(This,key) ) 

#define __FIMap_2_HSTRING_IInspectable_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 
#endif /* COBJMACROS */



#endif // ____FIMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__


#if !defined(____FIMapChangedEventArgs_1_HSTRING_INTERFACE_DEFINED__)
#define ____FIMapChangedEventArgs_1_HSTRING_INTERFACE_DEFINED__

typedef interface __FIMapChangedEventArgs_1_HSTRING __FIMapChangedEventArgs_1_HSTRING;

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

typedef struct __FIMapChangedEventArgs_1_HSTRINGVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIMapChangedEventArgs_1_HSTRING * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIMapChangedEventArgs_1_HSTRING * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIMapChangedEventArgs_1_HSTRING * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIMapChangedEventArgs_1_HSTRING * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIMapChangedEventArgs_1_HSTRING * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIMapChangedEventArgs_1_HSTRING * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CollectionChange )(__RPC__in __FIMapChangedEventArgs_1_HSTRING * This, /* [out] */ __RPC__out __x_ABI_CWindows_CFoundation_CCollections_CCollectionChange *value);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Key )(__RPC__in __FIMapChangedEventArgs_1_HSTRING * This, /* [out] */ __RPC__deref_out_opt HSTRING *value);
    END_INTERFACE
} __FIMapChangedEventArgs_1_HSTRINGVtbl;

interface __FIMapChangedEventArgs_1_HSTRING
{
    CONST_VTBL struct __FIMapChangedEventArgs_1_HSTRINGVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIMapChangedEventArgs_1_HSTRING_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIMapChangedEventArgs_1_HSTRING_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIMapChangedEventArgs_1_HSTRING_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIMapChangedEventArgs_1_HSTRING_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIMapChangedEventArgs_1_HSTRING_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIMapChangedEventArgs_1_HSTRING_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIMapChangedEventArgs_1_HSTRING_get_CollectionChange(This,value)	\
    ( (This)->lpVtbl -> get_CollectionChange(This,value) ) 
#define __FIMapChangedEventArgs_1_HSTRING_get_Key(This,value)	\
    ( (This)->lpVtbl -> get_Key(This,value) ) 
#endif /* COBJMACROS */


#endif // ____FIMapChangedEventArgs_1_HSTRING_INTERFACE_DEFINED__



#if !defined(____FMapChangedEventHandler_2_HSTRING_IInspectable_INTERFACE_DEFINED__)
#define ____FMapChangedEventHandler_2_HSTRING_IInspectable_INTERFACE_DEFINED__

typedef interface __FMapChangedEventHandler_2_HSTRING_IInspectable __FMapChangedEventHandler_2_HSTRING_IInspectable;

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

//Forward declare IObservableMap and IMapChangedEventArgs
typedef interface __FIObservableMap_2_HSTRING_IInspectable __FIObservableMap_2_HSTRING_IInspectable;
typedef interface __FIMapChangedEventArgs_1_HSTRING __FIMapChangedEventArgs_1_HSTRING;

typedef struct __FMapChangedEventHandler_2_HSTRING_IInspectableVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FMapChangedEventHandler_2_HSTRING_IInspectable * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FMapChangedEventHandler_2_HSTRING_IInspectable * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FMapChangedEventHandler_2_HSTRING_IInspectable * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FMapChangedEventHandler_2_HSTRING_IInspectable * This, 
        /* [in] */ __RPC__in_opt __FIObservableMap_2_HSTRING_IInspectable *sender, 
        /* [in] */ __RPC__in_opt __FIMapChangedEventArgs_1_HSTRING *e);
    END_INTERFACE
} __FMapChangedEventHandler_2_HSTRING_IInspectableVtbl;

interface __FMapChangedEventHandler_2_HSTRING_IInspectable
{
    CONST_VTBL struct __FMapChangedEventHandler_2_HSTRING_IInspectableVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FMapChangedEventHandler_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FMapChangedEventHandler_2_HSTRING_IInspectable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FMapChangedEventHandler_2_HSTRING_IInspectable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FMapChangedEventHandler_2_HSTRING_IInspectable_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 
#endif /* COBJMACROS */


#endif // ____FMapChangedEventHandler_2_HSTRING_IInspectable_INTERFACE_DEFINED__



#if !defined(____FIObservableMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__)
#define ____FIObservableMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__

typedef interface __FIObservableMap_2_HSTRING_IInspectable __FIObservableMap_2_HSTRING_IInspectable;

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

typedef struct __FIObservableMap_2_HSTRING_IInspectableVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIObservableMap_2_HSTRING_IInspectable * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIObservableMap_2_HSTRING_IInspectable * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIObservableMap_2_HSTRING_IInspectable * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIObservableMap_2_HSTRING_IInspectable * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIObservableMap_2_HSTRING_IInspectable * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIObservableMap_2_HSTRING_IInspectable * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *add_MapChanged )(__RPC__in __FIObservableMap_2_HSTRING_IInspectable * This,
        /* [in] */ __RPC__in_opt __FMapChangedEventHandler_2_HSTRING_IInspectable *handler,
        /* [retval][out] */ __RPC__out EventRegistrationToken *token);
    HRESULT ( STDMETHODCALLTYPE *remove_MapChanged )(__RPC__in __FIObservableMap_2_HSTRING_IInspectable * This,
        /* [in] */ EventRegistrationToken token);
    END_INTERFACE
} __FIObservableMap_2_HSTRING_IInspectableVtbl;

interface __FIObservableMap_2_HSTRING_IInspectable
{
    CONST_VTBL struct __FIObservableMap_2_HSTRING_IInspectableVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIObservableMap_2_HSTRING_IInspectable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIObservableMap_2_HSTRING_IInspectable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIObservableMap_2_HSTRING_IInspectable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIObservableMap_2_HSTRING_IInspectable_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIObservableMap_2_HSTRING_IInspectable_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIObservableMap_2_HSTRING_IInspectable_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIObservableMap_2_HSTRING_IInspectable_add_MapChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_MapChanged(This,handler,token) ) 
#define __FIObservableMap_2_HSTRING_IInspectable_remove_MapChanged(This,token)	\
    ( (This)->lpVtbl -> remove_MapChanged(This,token) ) 
#endif /* COBJMACROS */



#endif // ____FIObservableMap_2_HSTRING_IInspectable_INTERFACE_DEFINED__


#if !defined(____FIReference_1_UINT32_INTERFACE_DEFINED__)
#define ____FIReference_1_UINT32_INTERFACE_DEFINED__

typedef interface __FIReference_1_UINT32 __FIReference_1_UINT32;

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

typedef struct __FIReference_1_UINT32Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIReference_1_UINT32 * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIReference_1_UINT32 * This );
    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIReference_1_UINT32 * This );

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIReference_1_UINT32 * This, 
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( __RPC__in __FIReference_1_UINT32 * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( __RPC__in __FIReference_1_UINT32 * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )(__RPC__in __FIReference_1_UINT32 * This, /* [retval][out] */ __RPC__out int *value);
    END_INTERFACE
} __FIReference_1_UINT32Vtbl;

interface __FIReference_1_UINT32
{
    CONST_VTBL struct __FIReference_1_UINT32Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIReference_1_UINT32_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIReference_1_UINT32_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIReference_1_UINT32_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIReference_1_UINT32_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIReference_1_UINT32_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIReference_1_UINT32_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIReference_1_UINT32_get_Value(This,value)	\
    ( (This)->lpVtbl -> get_Value(This,value) ) 
#endif /* COBJMACROS */


#endif // ____FIReference_1_UINT32_INTERFACE_DEFINED__


#if !defined(____FIAsyncOperationCompletedHandler_1_boolean_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_boolean_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_boolean __FIAsyncOperationCompletedHandler_1_boolean;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_boolean __FIAsyncOperation_1_boolean;

typedef struct __FIAsyncOperationCompletedHandler_1_booleanVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_boolean * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_boolean * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_boolean * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_boolean * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_boolean *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_booleanVtbl;

interface __FIAsyncOperationCompletedHandler_1_boolean
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_booleanVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_boolean_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_boolean_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_boolean_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_boolean_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_boolean_INTERFACE_DEFINED__


#if !defined(____FIAsyncOperation_1_boolean_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_boolean_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_boolean __FIAsyncOperation_1_boolean;

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

typedef struct __FIAsyncOperation_1_booleanVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_boolean * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_boolean * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_boolean * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_boolean * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_boolean * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_boolean * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_boolean * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_boolean *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_boolean * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_boolean **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_boolean * This, /* [retval][out] */ __RPC__out boolean *results);
    END_INTERFACE
} __FIAsyncOperation_1_booleanVtbl;

interface __FIAsyncOperation_1_boolean
{
    CONST_VTBL struct __FIAsyncOperation_1_booleanVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_boolean_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_boolean_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_boolean_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_boolean_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_boolean_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_boolean_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_boolean_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_boolean_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_boolean_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_boolean_INTERFACE_DEFINED__


#if !defined(____FIAsyncOperationCompletedHandler_1_GUID_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_GUID_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_GUID __FIAsyncOperationCompletedHandler_1_GUID;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_GUID __FIAsyncOperation_1_GUID;

typedef struct __FIAsyncOperationCompletedHandler_1_GUIDVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_GUID * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_GUID * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_GUID * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_GUID * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_GUID *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_GUIDVtbl;

interface __FIAsyncOperationCompletedHandler_1_GUID
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_GUIDVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_GUID_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_GUID_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_GUID_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_GUID_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_GUID_INTERFACE_DEFINED__


#if !defined(____FIAsyncOperation_1_GUID_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_GUID_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_GUID __FIAsyncOperation_1_GUID;

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

typedef struct __FIAsyncOperation_1_GUIDVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_GUID * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_GUID * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_GUID * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_GUID * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_GUID * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_GUID * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_GUID * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_GUID *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_GUID * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_GUID **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_GUID * This, /* [retval][out] */ __RPC__out GUID *results);
    END_INTERFACE
} __FIAsyncOperation_1_GUIDVtbl;

interface __FIAsyncOperation_1_GUID
{
    CONST_VTBL struct __FIAsyncOperation_1_GUIDVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_GUID_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_GUID_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_GUID_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_GUID_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_GUID_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_GUID_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_GUID_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_GUID_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_GUID_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_GUID_INTERFACE_DEFINED__


#if !defined(____FIAsyncOperationCompletedHandler_1_HSTRING_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_HSTRING_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_HSTRING __FIAsyncOperationCompletedHandler_1_HSTRING;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_HSTRING __FIAsyncOperation_1_HSTRING;

typedef struct __FIAsyncOperationCompletedHandler_1_HSTRINGVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_HSTRING * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_HSTRING * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_HSTRING * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_HSTRING * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_HSTRING *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_HSTRINGVtbl;

interface __FIAsyncOperationCompletedHandler_1_HSTRING
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_HSTRINGVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_HSTRING_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_HSTRING_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_HSTRING_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_HSTRING_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_HSTRING_INTERFACE_DEFINED__


#if !defined(____FIAsyncOperation_1_HSTRING_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_HSTRING_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_HSTRING __FIAsyncOperation_1_HSTRING;

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

typedef struct __FIAsyncOperation_1_HSTRINGVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_HSTRING * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_HSTRING * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_HSTRING * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_HSTRING * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_HSTRING * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_HSTRING * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_HSTRING * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_HSTRING *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_HSTRING * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_HSTRING **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_HSTRING * This, /* [retval][out] */ __RPC__out HSTRING *results);
    END_INTERFACE
} __FIAsyncOperation_1_HSTRINGVtbl;

interface __FIAsyncOperation_1_HSTRING
{
    CONST_VTBL struct __FIAsyncOperation_1_HSTRINGVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_HSTRING_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_HSTRING_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_HSTRING_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_HSTRING_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_HSTRING_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_HSTRING_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_HSTRING_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_HSTRING_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_HSTRING_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_HSTRING_INTERFACE_DEFINED__



#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet;

#endif // ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__






typedef struct __x_ABI_CWindows_CFoundation_CDateTime __x_ABI_CWindows_CFoundation_CDateTime;

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIAsyncAction __x_ABI_CWindows_CFoundation_CIAsyncAction;

#endif // ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__


#ifndef ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIClosable __x_ABI_CWindows_CFoundation_CIClosable;

#endif // ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__






typedef enum __x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType __x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType;






#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference;

#endif // ____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference_FWD_DEFINED__








typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardActivationPolicyChangeResult __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardActivationPolicyChangeResult;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardAppletIdGroupActivationPolicy __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardAppletIdGroupActivationPolicy;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardAutomaticResponseStatus __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardAutomaticResponseStatus;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramAlgorithm __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramAlgorithm;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramGeneratorOperationStatus __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramGeneratorOperationStatus;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageConfirmationResponseFormat __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageConfirmationResponseFormat;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageFormat __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageFormat;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialProtectionMethod __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialProtectionMethod;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialType __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialType;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramPlacementOptions __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramPlacementOptions;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyAlgorithm __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyAlgorithm;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptographicKeyAttestationStatus __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptographicKeyAttestationStatus;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationCategory __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationCategory;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationType __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationType;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorConnectionDeactivatedReason __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorConnectionDeactivatedReason;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorConnectionSource __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorConnectionSource;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorEnablementPolicy __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorEnablementPolicy;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardLaunchBehavior __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardLaunchBehavior;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardPinCharacterPolicyOption __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardPinCharacterPolicyOption;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardReaderKind __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardReaderKind;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardReaderStatus __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardReaderStatus;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardStatus __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardStatus;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardTriggerType __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardTriggerType;


typedef enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardUnlockPromptingBehavior __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardUnlockPromptingBehavior;






























































































/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardActivationPolicyChangeResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardActivationPolicyChangeResult
{
    SmartCardActivationPolicyChangeResult_Denied = 0,
    SmartCardActivationPolicyChangeResult_Allowed = 1,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardAppletIdGroupActivationPolicy
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardAppletIdGroupActivationPolicy
{
    SmartCardAppletIdGroupActivationPolicy_Disabled = 0,
    SmartCardAppletIdGroupActivationPolicy_ForegroundOverride = 1,
    SmartCardAppletIdGroupActivationPolicy_Enabled = 2,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardAutomaticResponseStatus
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardAutomaticResponseStatus
{
    SmartCardAutomaticResponseStatus_None = 0,
    SmartCardAutomaticResponseStatus_Success = 1,
    SmartCardAutomaticResponseStatus_UnknownError = 2,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramAlgorithm
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramAlgorithm
{
    SmartCardCryptogramAlgorithm_None = 0,
    SmartCardCryptogramAlgorithm_CbcMac = 1,
    SmartCardCryptogramAlgorithm_Cvc3Umd = 2,
    SmartCardCryptogramAlgorithm_DecimalizedMsd = 3,
    SmartCardCryptogramAlgorithm_Cvc3MD = 4,
    SmartCardCryptogramAlgorithm_Sha1 = 5,
    SmartCardCryptogramAlgorithm_SignedDynamicApplicationData = 6,
    SmartCardCryptogramAlgorithm_RsaPkcs1 = 7,
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
    
    SmartCardCryptogramAlgorithm_Sha256Hmac = 8,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
    
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramGeneratorOperationStatus
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramGeneratorOperationStatus
{
    SmartCardCryptogramGeneratorOperationStatus_Success = 0,
    SmartCardCryptogramGeneratorOperationStatus_AuthorizationFailed = 1,
    SmartCardCryptogramGeneratorOperationStatus_AuthorizationCanceled = 2,
    SmartCardCryptogramGeneratorOperationStatus_AuthorizationRequired = 3,
    SmartCardCryptogramGeneratorOperationStatus_CryptogramMaterialPackageStorageKeyExists = 4,
    SmartCardCryptogramGeneratorOperationStatus_NoCryptogramMaterialPackageStorageKey = 5,
    SmartCardCryptogramGeneratorOperationStatus_NoCryptogramMaterialPackage = 6,
    SmartCardCryptogramGeneratorOperationStatus_UnsupportedCryptogramMaterialPackage = 7,
    SmartCardCryptogramGeneratorOperationStatus_UnknownCryptogramMaterialName = 8,
    SmartCardCryptogramGeneratorOperationStatus_InvalidCryptogramMaterialUsage = 9,
    SmartCardCryptogramGeneratorOperationStatus_ApduResponseNotSent = 10,
    SmartCardCryptogramGeneratorOperationStatus_OtherError = 11,
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
    
    SmartCardCryptogramGeneratorOperationStatus_ValidationFailed = 12,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
    
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000
    
    SmartCardCryptogramGeneratorOperationStatus_NotSupported = 13,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000
    
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageConfirmationResponseFormat
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageConfirmationResponseFormat
{
    SmartCardCryptogramMaterialPackageConfirmationResponseFormat_None = 0,
    SmartCardCryptogramMaterialPackageConfirmationResponseFormat_VisaHmac = 1,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageFormat
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageFormat
{
    SmartCardCryptogramMaterialPackageFormat_None = 0,
    SmartCardCryptogramMaterialPackageFormat_JweRsaPki = 1,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramMaterialProtectionMethod
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialProtectionMethod
{
    SmartCardCryptogramMaterialProtectionMethod_None = 0,
    SmartCardCryptogramMaterialProtectionMethod_WhiteBoxing = 1,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramMaterialType
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialType
{
    SmartCardCryptogramMaterialType_None = 0,
    SmartCardCryptogramMaterialType_StaticDataAuthentication = 1,
    SmartCardCryptogramMaterialType_TripleDes112 = 2,
    SmartCardCryptogramMaterialType_Aes = 3,
    SmartCardCryptogramMaterialType_RsaPkcs1 = 4,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramPlacementOptions
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
/* [v1_enum, flags, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramPlacementOptions
{
    SmartCardCryptogramPlacementOptions_None = 0,
    SmartCardCryptogramPlacementOptions_UnitsAreInNibbles = 0x1,
    SmartCardCryptogramPlacementOptions_ChainOutput = 0x2,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyAlgorithm
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyAlgorithm
{
    SmartCardCryptogramStorageKeyAlgorithm_None = 0,
    SmartCardCryptogramStorageKeyAlgorithm_Rsa2048 = 1,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCapabilities
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
/* [v1_enum, flags, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities
{
    SmartCardCryptogramStorageKeyCapabilities_None = 0,
    SmartCardCryptogramStorageKeyCapabilities_HardwareProtection = 0x1,
    SmartCardCryptogramStorageKeyCapabilities_UnlockPrompt = 0x2,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardCryptographicKeyAttestationStatus
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptographicKeyAttestationStatus
{
    SmartCardCryptographicKeyAttestationStatus_NoAttestation = 0,
    SmartCardCryptographicKeyAttestationStatus_SoftwareKeyWithoutTpm = 1,
    SmartCardCryptographicKeyAttestationStatus_SoftwareKeyWithTpm = 2,
    SmartCardCryptographicKeyAttestationStatus_TpmKeyUnknownAttestationStatus = 3,
    SmartCardCryptographicKeyAttestationStatus_TpmKeyWithoutAttestationCapability = 4,
    SmartCardCryptographicKeyAttestationStatus_TpmKeyWithTemporaryAttestationFailure = 5,
    SmartCardCryptographicKeyAttestationStatus_TpmKeyWithLongTermAttestationFailure = 6,
    SmartCardCryptographicKeyAttestationStatus_TpmKeyWithAttestation = 7,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardEmulationCategory
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationCategory
{
    SmartCardEmulationCategory_Other = 0,
    SmartCardEmulationCategory_Payment = 1,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardEmulationType
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationType
{
    SmartCardEmulationType_Host = 0,
    SmartCardEmulationType_Uicc = 1,
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000
    
    SmartCardEmulationType_EmbeddedSE = 2,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000
    
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardEmulatorConnectionDeactivatedReason
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorConnectionDeactivatedReason
{
    SmartCardEmulatorConnectionDeactivatedReason_ConnectionLost = 0,
    SmartCardEmulatorConnectionDeactivatedReason_ConnectionRedirected = 1,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardEmulatorConnectionSource
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorConnectionSource
{
    SmartCardEmulatorConnectionSource_Unknown = 0,
    SmartCardEmulatorConnectionSource_NfcReader = 1,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardEmulatorEnablementPolicy
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorEnablementPolicy
{
    SmartCardEmulatorEnablementPolicy_Never = 0,
    SmartCardEmulatorEnablementPolicy_Always = 1,
    SmartCardEmulatorEnablementPolicy_ScreenOn = 2,
    SmartCardEmulatorEnablementPolicy_ScreenUnlocked = 3,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardLaunchBehavior
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardLaunchBehavior
{
    SmartCardLaunchBehavior_Default = 0,
    SmartCardLaunchBehavior_AboveLock = 1,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardPinCharacterPolicyOption
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardPinCharacterPolicyOption
{
    SmartCardPinCharacterPolicyOption_Allow = 0,
    SmartCardPinCharacterPolicyOption_RequireAtLeastOne = 1,
    SmartCardPinCharacterPolicyOption_Disallow = 2,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardReaderKind
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardReaderKind
{
    SmartCardReaderKind_Any = 0,
    SmartCardReaderKind_Generic = 1,
    SmartCardReaderKind_Tpm = 2,
    SmartCardReaderKind_Nfc = 3,
    SmartCardReaderKind_Uicc = 4,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    SmartCardReaderKind_EmbeddedSE = 5,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardReaderStatus
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardReaderStatus
{
    SmartCardReaderStatus_Disconnected = 0,
    SmartCardReaderStatus_Ready = 1,
    SmartCardReaderStatus_Exclusive = 2,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardStatus
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardStatus
{
    SmartCardStatus_Disconnected = 0,
    SmartCardStatus_Ready = 1,
    SmartCardStatus_Shared = 2,
    SmartCardStatus_Exclusive = 3,
    SmartCardStatus_Unresponsive = 4,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardTriggerType
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 1.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardTriggerType
{
    SmartCardTriggerType_EmulatorTransaction = 0,
    SmartCardTriggerType_EmulatorNearFieldEntry = 1,
    SmartCardTriggerType_EmulatorNearFieldExit = 2,
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
    
    SmartCardTriggerType_EmulatorHostApplicationActivated = 3,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
    
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
    
    SmartCardTriggerType_EmulatorAppletIdGroupRegistrationChanged = 4,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
    
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x20000
    
    SmartCardTriggerType_ReaderCardAdded = 5,
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x20000
    
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Devices.SmartCards.SmartCardUnlockPromptingBehavior
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 */

#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardUnlockPromptingBehavior
{
    SmartCardUnlockPromptingBehavior_AllowUnlockPrompt = 0,
    SmartCardUnlockPromptingBehavior_RequireUnlockPrompt = 1,
    SmartCardUnlockPromptingBehavior_PreventUnlockPrompt = 2,
};
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Delegate Windows.Devices.SmartCards.SmartCardPinResetHandler
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_INTERFACE_DEFINED__
/* [object, uuid("138D5E40-F3BC-4A5C-B41D-4B4EF684E237"), contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandlerVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject);

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler * This);

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler * This);
HRESULT ( STDMETHODCALLTYPE *Invoke )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * sender,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest * request
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandlerVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandlerVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_Invoke(This,sender,request) \
    ( (This)->lpVtbl->Invoke(This,sender,request) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ICardAddedEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.CardAddedEventArgs
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ICardAddedEventArgs[] = L"Windows.Devices.SmartCards.ICardAddedEventArgs";
/* [object, uuid("18BBEF98-F18B-4DD3-B118-DFB2C8E23CC6"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SmartCard )(
        __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_get_SmartCard(This,value) \
    ( (This)->lpVtbl->get_SmartCard(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CICardAddedEventArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ICardRemovedEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.CardRemovedEventArgs
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ICardRemovedEventArgs[] = L"Windows.Devices.SmartCards.ICardRemovedEventArgs";
/* [object, uuid("15331AAF-22D7-4945-AFC9-03B46F42A6CD"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SmartCard )(
        __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_get_SmartCard(This,value) \
    ( (This)->lpVtbl->get_SmartCard(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CICardRemovedEventArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.IKnownSmartCardAppletIds
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 6.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.KnownSmartCardAppletIds
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_IKnownSmartCardAppletIds[] = L"Windows.Devices.SmartCards.IKnownSmartCardAppletIds";
/* [object, uuid("7B04D8D8-95B4-4C88-8CEA-411E55511EFC"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIdsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_PaymentSystemEnvironment )(
        __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ProximityPaymentSystemEnvironment )(
        __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIdsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIdsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_get_PaymentSystemEnvironment(This,value) \
    ( (This)->lpVtbl->get_PaymentSystemEnvironment(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_get_ProximityPaymentSystemEnvironment(This,value) \
    ( (This)->lpVtbl->get_ProximityPaymentSystemEnvironment(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CIKnownSmartCardAppletIds_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCard
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCard
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCard[] = L"Windows.Devices.SmartCards.ISmartCard";
/* [object, uuid("1B718871-6434-43F4-B55A-6A29623870AA"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Reader )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * * value
        );
    HRESULT ( STDMETHODCALLTYPE *GetStatusAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardStatus * * result
        );
    HRESULT ( STDMETHODCALLTYPE *GetAnswerToResetAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_get_Reader(This,value) \
    ( (This)->lpVtbl->get_Reader(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_GetStatusAsync(This,result) \
    ( (This)->lpVtbl->GetStatusAsync(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_GetAnswerToResetAsync(This,result) \
    ( (This)->lpVtbl->GetAnswerToResetAsync(This,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCard;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCard_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroup
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroup
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroup[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroup";
/* [object, uuid("7DB165E6-6264-56F4-5E03-C86385395EB1"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DisplayName )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_DisplayName )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AppletIds )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CStorage__CStreams__CIBuffer * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SmartCardEmulationCategory )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationCategory * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_SmartCardEmulationCategory )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationCategory value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SmartCardEmulationType )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationType * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_SmartCardEmulationType )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationType value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AutomaticEnablement )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_AutomaticEnablement )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * This,
        /* [in] */boolean value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_get_DisplayName(This,value) \
    ( (This)->lpVtbl->get_DisplayName(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_put_DisplayName(This,value) \
    ( (This)->lpVtbl->put_DisplayName(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_get_AppletIds(This,value) \
    ( (This)->lpVtbl->get_AppletIds(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_get_SmartCardEmulationCategory(This,value) \
    ( (This)->lpVtbl->get_SmartCardEmulationCategory(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_put_SmartCardEmulationCategory(This,value) \
    ( (This)->lpVtbl->put_SmartCardEmulationCategory(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_get_SmartCardEmulationType(This,value) \
    ( (This)->lpVtbl->get_SmartCardEmulationType(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_put_SmartCardEmulationType(This,value) \
    ( (This)->lpVtbl->put_SmartCardEmulationType(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_get_AutomaticEnablement(This,value) \
    ( (This)->lpVtbl->get_AutomaticEnablement(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_put_AutomaticEnablement(This,value) \
    ( (This)->lpVtbl->put_AutomaticEnablement(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroup2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 6.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroup
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroup2[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroup2";
/* [object, uuid("6B0EF9DC-9956-4A62-8D4E-D37A68EBC3A6"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Logo )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Logo )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Description )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Description )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Properties )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SecureUserAuthenticationRequired )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_SecureUserAuthenticationRequired )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2 * This,
        /* [in] */boolean value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_get_Logo(This,value) \
    ( (This)->lpVtbl->get_Logo(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_put_Logo(This,value) \
    ( (This)->lpVtbl->put_Logo(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_get_Description(This,value) \
    ( (This)->lpVtbl->get_Description(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_put_Description(This,value) \
    ( (This)->lpVtbl->put_Description(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_get_Properties(This,value) \
    ( (This)->lpVtbl->get_Properties(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_get_SecureUserAuthenticationRequired(This,value) \
    ( (This)->lpVtbl->get_SecureUserAuthenticationRequired(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_put_SecureUserAuthenticationRequired(This,value) \
    ( (This)->lpVtbl->put_SecureUserAuthenticationRequired(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroupFactory
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroup
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroupFactory[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroupFactory";
/* [object, uuid("9105EB4D-4A65-4E41-8061-CBE83F3695E5"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactoryVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *Create )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory * This,
        /* [in] */__RPC__in HSTRING displayName,
        /* [in] */__RPC__in_opt __FIVector_1_Windows__CStorage__CStreams__CIBuffer * appletIds,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationCategory emulationCategory,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulationType emulationType,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactoryVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactoryVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_Create(This,displayName,appletIds,emulationCategory,emulationType,result) \
    ( (This)->lpVtbl->Create(This,displayName,appletIds,emulationCategory,emulationType,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroupRegistration[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration";
/* [object, uuid("DF1208D1-31BB-5596-43B1-6D69A0257B3A"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistrationVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ActivationPolicy )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardAppletIdGroupActivationPolicy * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AppletIdGroup )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * * value
        );
    HRESULT ( STDMETHODCALLTYPE *RequestActivationPolicyChangeAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardAppletIdGroupActivationPolicy policy,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardActivationPolicyChangeResult * * result
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Id )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * This,
        /* [retval, out] */__RPC__out GUID * value
        );
    HRESULT ( STDMETHODCALLTYPE *SetAutomaticResponseApdusAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * This,
        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardAutomaticResponseApdu * apdus,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistrationVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistrationVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_get_ActivationPolicy(This,value) \
    ( (This)->lpVtbl->get_ActivationPolicy(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_get_AppletIdGroup(This,value) \
    ( (This)->lpVtbl->get_AppletIdGroup(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_RequestActivationPolicyChangeAsync(This,policy,result) \
    ( (This)->lpVtbl->RequestActivationPolicyChangeAsync(This,policy,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_get_Id(This,value) \
    ( (This)->lpVtbl->get_Id(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_SetAutomaticResponseApdusAsync(This,apdus,result) \
    ( (This)->lpVtbl->SetAutomaticResponseApdusAsync(This,apdus,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 6.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroupRegistration2[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration2";
/* [object, uuid("5F5508D8-98A7-4F2E-91D9-6CFCCEDA407F"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SmartCardReaderId )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2 * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    HRESULT ( STDMETHODCALLTYPE *SetPropertiesAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2 * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet * props,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction * * operation
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_get_SmartCardReaderId(This,value) \
    ( (This)->lpVtbl->get_SmartCardReaderId(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_SetPropertiesAsync(This,props,operation) \
    ( (This)->lpVtbl->SetPropertiesAsync(This,props,operation) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAppletIdGroupStatics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAppletIdGroup
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAppletIdGroupStatics[] = L"Windows.Devices.SmartCards.ISmartCardAppletIdGroupStatics";
/* [object, uuid("AB2899A9-E76C-45CF-BF1D-90EAA6205927"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStaticsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_MaxAppletIds )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics * This,
        /* [retval, out] */__RPC__out UINT16 * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStaticsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStaticsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_get_MaxAppletIds(This,value) \
    ( (This)->lpVtbl->get_MaxAppletIds(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAutomaticResponseApdu[] = L"Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu";
/* [object, uuid("52152BAB-C63E-4531-A857-D756D99B986A"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CommandApdu )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_CommandApdu )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CommandApduBitMask )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_CommandApduBitMask )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ShouldMatchLength )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_ShouldMatchLength )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AppletId )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_AppletId )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ResponseApdu )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_ResponseApdu )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_get_CommandApdu(This,value) \
    ( (This)->lpVtbl->get_CommandApdu(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_put_CommandApdu(This,value) \
    ( (This)->lpVtbl->put_CommandApdu(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_get_CommandApduBitMask(This,value) \
    ( (This)->lpVtbl->get_CommandApduBitMask(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_put_CommandApduBitMask(This,value) \
    ( (This)->lpVtbl->put_CommandApduBitMask(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_get_ShouldMatchLength(This,value) \
    ( (This)->lpVtbl->get_ShouldMatchLength(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_put_ShouldMatchLength(This,value) \
    ( (This)->lpVtbl->put_ShouldMatchLength(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_get_AppletId(This,value) \
    ( (This)->lpVtbl->get_AppletId(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_put_AppletId(This,value) \
    ( (This)->lpVtbl->put_AppletId(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_get_ResponseApdu(This,value) \
    ( (This)->lpVtbl->get_ResponseApdu(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_put_ResponseApdu(This,value) \
    ( (This)->lpVtbl->put_ResponseApdu(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAutomaticResponseApdu2[] = L"Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu2";
/* [object, uuid("44AEBB14-559D-4531-4E51-89DB6FA8A57A"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_InputState )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 * This,
        /* [retval, out] */__RPC__deref_out_opt __FIReference_1_UINT32 * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_InputState )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 * This,
        /* [in] */__RPC__in_opt __FIReference_1_UINT32 * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_OutputState )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 * This,
        /* [retval, out] */__RPC__deref_out_opt __FIReference_1_UINT32 * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_OutputState )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2 * This,
        /* [in] */__RPC__in_opt __FIReference_1_UINT32 * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_get_InputState(This,value) \
    ( (This)->lpVtbl->get_InputState(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_put_InputState(This,value) \
    ( (This)->lpVtbl->put_InputState(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_get_OutputState(This,value) \
    ( (This)->lpVtbl->get_OutputState(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_put_OutputState(This,value) \
    ( (This)->lpVtbl->put_OutputState(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu3
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAutomaticResponseApdu3[] = L"Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu3";
/* [object, uuid("BF43DA74-6576-4392-9367-FE3BC9E2D496"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AllowWhenCryptogramGeneratorNotPrepared )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3 * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_AllowWhenCryptogramGeneratorNotPrepared )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3 * This,
        /* [in] */boolean value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_get_AllowWhenCryptogramGeneratorNotPrepared(This,value) \
    ( (This)->lpVtbl->get_AllowWhenCryptogramGeneratorNotPrepared(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_put_AllowWhenCryptogramGeneratorNotPrepared(This,value) \
    ( (This)->lpVtbl->put_AllowWhenCryptogramGeneratorNotPrepared(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu3_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardAutomaticResponseApduFactory
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardAutomaticResponseApduFactory[] = L"Windows.Devices.SmartCards.ISmartCardAutomaticResponseApduFactory";
/* [object, uuid("E97EA2FA-D02C-4C55-B02A-8CFF7FA9F05B"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactoryVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *Create )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * commandApdu,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * responseApdu,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApdu * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactoryVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactoryVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_Create(This,commandApdu,responseApdu,result) \
    ( (This)->lpVtbl->Create(This,commandApdu,responseApdu,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAutomaticResponseApduFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardChallengeContext
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardChallengeContext
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Foundation.IClosable
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardChallengeContext[] = L"Windows.Devices.SmartCards.ISmartCardChallengeContext";
/* [object, uuid("192A5319-C9C4-4947-81CC-44794A61EF91"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContextVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Challenge )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    HRESULT ( STDMETHODCALLTYPE *VerifyResponseAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * response,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *ProvisionAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * response,
        /* [in] */boolean formatCard,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction * * result
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *ProvisionAsyncWithNewCardId )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * response,
        /* [in] */boolean formatCard,
        /* [in] */GUID newCardId,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction * * result
        );
    HRESULT ( STDMETHODCALLTYPE *ChangeAdministrativeKeyAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * response,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * newAdministrativeKey,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContextVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContextVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_get_Challenge(This,value) \
    ( (This)->lpVtbl->get_Challenge(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_VerifyResponseAsync(This,response,result) \
    ( (This)->lpVtbl->VerifyResponseAsync(This,response,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_ProvisionAsync(This,response,formatCard,result) \
    ( (This)->lpVtbl->ProvisionAsync(This,response,formatCard,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_ProvisionAsyncWithNewCardId(This,response,formatCard,newCardId,result) \
    ( (This)->lpVtbl->ProvisionAsyncWithNewCardId(This,response,formatCard,newCardId,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_ChangeAdministrativeKeyAsync(This,response,newAdministrativeKey,result) \
    ( (This)->lpVtbl->ChangeAdministrativeKeyAsync(This,response,newAdministrativeKey,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardChallengeContext_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardConnect
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCard
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardConnect[] = L"Windows.Devices.SmartCards.ISmartCardConnect";
/* [object, uuid("2FDF87E5-028D-491E-A058-3382C3986F40"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnectVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *ConnectAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardConnection * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnectVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnectVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_ConnectAsync(This,result) \
    ( (This)->lpVtbl->ConnectAsync(This,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnect_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardConnection
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardConnection
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Foundation.IClosable
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardConnection[] = L"Windows.Devices.SmartCards.ISmartCardConnection";
/* [object, uuid("7EDB991A-A81A-47BC-A649-156BE6B7F231"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnectionVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *TransmitAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * command,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CStorage__CStreams__CIBuffer * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnectionVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnectionVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_TransmitAsync(This,command,result) \
    ( (This)->lpVtbl->TransmitAsync(This,command,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardConnection_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGenerator
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGenerator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGenerator[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGenerator";
/* [object, uuid("E39F587B-EDD3-4E49-B594-0FF5E4D0C76F"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SupportedCryptogramMaterialTypes )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialType * * result
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SupportedCryptogramAlgorithms )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * * result
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SupportedCryptogramMaterialPackageFormats )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageFormat * * result
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SupportedCryptogramMaterialPackageConfirmationResponseFormats )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * * result
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SupportedSmartCardCryptogramStorageKeyCapabilities )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCapabilities * * result
        );
    HRESULT ( STDMETHODCALLTYPE *DeleteCryptogramMaterialStorageKeyAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [in] */__RPC__in HSTRING storageKeyName,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
        );
    HRESULT ( STDMETHODCALLTYPE *CreateCryptogramMaterialStorageKeyAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardUnlockPromptingBehavior promptingBehavior,
        /* [in] */__RPC__in HSTRING storageKeyName,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyAlgorithm algorithm,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities capabilities,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
        );
    HRESULT ( STDMETHODCALLTYPE *RequestCryptogramMaterialStorageKeyInfoAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardUnlockPromptingBehavior promptingBehavior,
        /* [in] */__RPC__in HSTRING storageKeyName,
        /* [in] */__x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType format,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyInfo * * result
        );
    HRESULT ( STDMETHODCALLTYPE *ImportCryptogramMaterialPackageAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageFormat format,
        /* [in] */__RPC__in HSTRING storageKeyName,
        /* [in] */__RPC__in HSTRING materialPackageName,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * cryptogramMaterialPackage,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
        );
    HRESULT ( STDMETHODCALLTYPE *TryProvePossessionOfCryptogramMaterialPackageAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardUnlockPromptingBehavior promptingBehavior,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageConfirmationResponseFormat responseFormat,
        /* [in] */__RPC__in HSTRING materialPackageName,
        /* [in] */__RPC__in HSTRING materialName,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * challenge,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPossessionProof * * result
        );
    HRESULT ( STDMETHODCALLTYPE *RequestUnlockCryptogramMaterialForUseAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardUnlockPromptingBehavior promptingBehavior,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
        );
    HRESULT ( STDMETHODCALLTYPE *DeleteCryptogramMaterialPackageAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator * This,
        /* [in] */__RPC__in HSTRING materialPackageName,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_get_SupportedCryptogramMaterialTypes(This,result) \
    ( (This)->lpVtbl->get_SupportedCryptogramMaterialTypes(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_get_SupportedCryptogramAlgorithms(This,result) \
    ( (This)->lpVtbl->get_SupportedCryptogramAlgorithms(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_get_SupportedCryptogramMaterialPackageFormats(This,result) \
    ( (This)->lpVtbl->get_SupportedCryptogramMaterialPackageFormats(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_get_SupportedCryptogramMaterialPackageConfirmationResponseFormats(This,result) \
    ( (This)->lpVtbl->get_SupportedCryptogramMaterialPackageConfirmationResponseFormats(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_get_SupportedSmartCardCryptogramStorageKeyCapabilities(This,result) \
    ( (This)->lpVtbl->get_SupportedSmartCardCryptogramStorageKeyCapabilities(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_DeleteCryptogramMaterialStorageKeyAsync(This,storageKeyName,result) \
    ( (This)->lpVtbl->DeleteCryptogramMaterialStorageKeyAsync(This,storageKeyName,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_CreateCryptogramMaterialStorageKeyAsync(This,promptingBehavior,storageKeyName,algorithm,capabilities,result) \
    ( (This)->lpVtbl->CreateCryptogramMaterialStorageKeyAsync(This,promptingBehavior,storageKeyName,algorithm,capabilities,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_RequestCryptogramMaterialStorageKeyInfoAsync(This,promptingBehavior,storageKeyName,format,result) \
    ( (This)->lpVtbl->RequestCryptogramMaterialStorageKeyInfoAsync(This,promptingBehavior,storageKeyName,format,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_ImportCryptogramMaterialPackageAsync(This,format,storageKeyName,materialPackageName,cryptogramMaterialPackage,result) \
    ( (This)->lpVtbl->ImportCryptogramMaterialPackageAsync(This,format,storageKeyName,materialPackageName,cryptogramMaterialPackage,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_TryProvePossessionOfCryptogramMaterialPackageAsync(This,promptingBehavior,responseFormat,materialPackageName,materialName,challenge,result) \
    ( (This)->lpVtbl->TryProvePossessionOfCryptogramMaterialPackageAsync(This,promptingBehavior,responseFormat,materialPackageName,materialName,challenge,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_RequestUnlockCryptogramMaterialForUseAsync(This,promptingBehavior,result) \
    ( (This)->lpVtbl->RequestUnlockCryptogramMaterialForUseAsync(This,promptingBehavior,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_DeleteCryptogramMaterialPackageAsync(This,materialPackageName,result) \
    ( (This)->lpVtbl->DeleteCryptogramMaterialPackageAsync(This,materialPackageName,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGenerator2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGenerator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGenerator2[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGenerator2";
/* [object, uuid("7116AA34-5D6D-4B4A-96A3-EFA47D2A7E25"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *ValidateRequestApduAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardUnlockPromptingBehavior promptingBehavior,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * apduToValidate,
        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * cryptogramPlacementSteps,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
        );
    HRESULT ( STDMETHODCALLTYPE *GetAllCryptogramStorageKeyCharacteristicsAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * * result
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *GetAllCryptogramMaterialPackageCharacteristicsAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * * result
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *GetAllCryptogramMaterialPackageCharacteristicsWithStorageKeyAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 * This,
        /* [in] */__RPC__in HSTRING storageKeyName,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * * result
        );
    HRESULT ( STDMETHODCALLTYPE *GetAllCryptogramMaterialCharacteristicsAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2 * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardUnlockPromptingBehavior promptingBehavior,
        /* [in] */__RPC__in HSTRING materialPackageName,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_ValidateRequestApduAsync(This,promptingBehavior,apduToValidate,cryptogramPlacementSteps,result) \
    ( (This)->lpVtbl->ValidateRequestApduAsync(This,promptingBehavior,apduToValidate,cryptogramPlacementSteps,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_GetAllCryptogramStorageKeyCharacteristicsAsync(This,result) \
    ( (This)->lpVtbl->GetAllCryptogramStorageKeyCharacteristicsAsync(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_GetAllCryptogramMaterialPackageCharacteristicsAsync(This,result) \
    ( (This)->lpVtbl->GetAllCryptogramMaterialPackageCharacteristicsAsync(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_GetAllCryptogramMaterialPackageCharacteristicsWithStorageKeyAsync(This,storageKeyName,result) \
    ( (This)->lpVtbl->GetAllCryptogramMaterialPackageCharacteristicsWithStorageKeyAsync(This,storageKeyName,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_GetAllCryptogramMaterialCharacteristicsAsync(This,promptingBehavior,materialPackageName,result) \
    ( (This)->lpVtbl->GetAllCryptogramMaterialCharacteristicsAsync(This,promptingBehavior,materialPackageName,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGenerator2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGenerator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGeneratorStatics[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics";
/* [object, uuid("09933910-CB9C-4015-967D-5234F3B02900"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStaticsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *GetSmartCardCryptogramGeneratorAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGenerator * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStaticsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStaticsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_GetSmartCardCryptogramGeneratorAsync(This,result) \
    ( (This)->lpVtbl->GetSmartCardCryptogramGeneratorAsync(This,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 5.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGenerator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGeneratorStatics2[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics2";
/* [object, uuid("09BDF5E5-B4BD-4E23-A588-74469204C128"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *IsSupported )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2 * This,
        /* [retval, out] */__RPC__out boolean * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_IsSupported(This,result) \
    ( (This)->lpVtbl->IsSupported(This,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGeneratorStatics2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult";
/* [object, uuid("2798E029-D687-4C92-86C6-399E9A0ECB09"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResultVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_OperationStatus )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramGeneratorOperationStatus * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Characteristics )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialCharacteristics * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResultVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResultVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_get_OperationStatus(This,value) \
    ( (This)->lpVtbl->get_OperationStatus(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_get_Characteristics(This,value) \
    ( (This)->lpVtbl->get_Characteristics(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult";
/* [object, uuid("4E6A8A5C-9773-46C4-A32F-B1E543159E04"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResultVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_OperationStatus )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramGeneratorOperationStatus * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Characteristics )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageCharacteristics * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResultVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResultVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_get_OperationStatus(This,value) \
    ( (This)->lpVtbl->get_OperationStatus(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_get_Characteristics(This,value) \
    ( (This)->lpVtbl->get_Characteristics(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult";
/* [object, uuid("8C7CE857-A7E7-489D-B9D6-368061515012"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResultVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_OperationStatus )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramGeneratorOperationStatus * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Characteristics )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramStorageKeyCharacteristics * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResultVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResultVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_get_OperationStatus(This,value) \
    ( (This)->lpVtbl->get_OperationStatus(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_get_Characteristics(This,value) \
    ( (This)->lpVtbl->get_Characteristics(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramMaterialCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramMaterialCharacteristics
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramMaterialCharacteristics[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramMaterialCharacteristics";
/* [object, uuid("FC9AC5CC-C1D7-4153-923B-A2D43C6C8D49"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristicsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_MaterialName )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AllowedAlgorithms )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AllowedProofOfPossessionAlgorithms )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramMaterialPackageConfirmationResponseFormat * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AllowedValidations )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramAlgorithm * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_MaterialType )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialType * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ProtectionMethod )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialProtectionMethod * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ProtectionVersion )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
        /* [retval, out] */__RPC__out INT32 * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_MaterialLength )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics * This,
        /* [retval, out] */__RPC__out INT32 * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristicsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristicsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_get_MaterialName(This,value) \
    ( (This)->lpVtbl->get_MaterialName(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_get_AllowedAlgorithms(This,value) \
    ( (This)->lpVtbl->get_AllowedAlgorithms(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_get_AllowedProofOfPossessionAlgorithms(This,value) \
    ( (This)->lpVtbl->get_AllowedProofOfPossessionAlgorithms(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_get_AllowedValidations(This,value) \
    ( (This)->lpVtbl->get_AllowedValidations(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_get_MaterialType(This,value) \
    ( (This)->lpVtbl->get_MaterialType(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_get_ProtectionMethod(This,value) \
    ( (This)->lpVtbl->get_ProtectionMethod(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_get_ProtectionVersion(This,value) \
    ( (This)->lpVtbl->get_ProtectionVersion(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_get_MaterialLength(This,value) \
    ( (This)->lpVtbl->get_MaterialLength(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialCharacteristics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPackageCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageCharacteristics
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramMaterialPackageCharacteristics[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPackageCharacteristics";
/* [object, uuid("FFB58E1F-0692-4C47-93CF-34D91F9DCD00"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristicsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_PackageName )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_StorageKeyName )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DateImported )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CFoundation_CDateTime * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_PackageFormat )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramMaterialPackageFormat * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristicsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristicsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_get_PackageName(This,value) \
    ( (This)->lpVtbl->get_PackageName(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_get_StorageKeyName(This,value) \
    ( (This)->lpVtbl->get_StorageKeyName(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_get_DateImported(This,value) \
    ( (This)->lpVtbl->get_DateImported(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_get_PackageFormat(This,value) \
    ( (This)->lpVtbl->get_PackageFormat(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPackageCharacteristics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPossessionProof
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramMaterialPossessionProof
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramMaterialPossessionProof[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPossessionProof";
/* [object, uuid("E5B9AB8C-A141-4135-9ADD-B0D2E3AA1FC9"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProofVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_OperationStatus )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramGeneratorOperationStatus * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Proof )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProofVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProofVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_get_OperationStatus(This,value) \
    ( (This)->lpVtbl->get_OperationStatus(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_get_Proof(This,value) \
    ( (This)->lpVtbl->get_Proof(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramMaterialPossessionProof_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramPlacementStep
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramPlacementStep
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramPlacementStep[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramPlacementStep";
/* [object, uuid("947B03EB-8342-4792-A2E5-925636378A53"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStepVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Algorithm )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramAlgorithm * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Algorithm )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramAlgorithm value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SourceData )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_SourceData )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CryptogramMaterialPackageName )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_CryptogramMaterialPackageName )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CryptogramMaterialName )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_CryptogramMaterialName )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_TemplateOffset )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [retval, out] */__RPC__out INT32 * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_TemplateOffset )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [in] */INT32 value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CryptogramOffset )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [retval, out] */__RPC__out INT32 * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_CryptogramOffset )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [in] */INT32 value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CryptogramLength )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [retval, out] */__RPC__out INT32 * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_CryptogramLength )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [in] */INT32 value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CryptogramPlacementOptions )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramPlacementOptions * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_CryptogramPlacementOptions )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramPlacementOptions value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ChainedOutputStep )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_ChainedOutputStep )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStepVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStepVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_get_Algorithm(This,value) \
    ( (This)->lpVtbl->get_Algorithm(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_put_Algorithm(This,value) \
    ( (This)->lpVtbl->put_Algorithm(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_get_SourceData(This,value) \
    ( (This)->lpVtbl->get_SourceData(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_put_SourceData(This,value) \
    ( (This)->lpVtbl->put_SourceData(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_get_CryptogramMaterialPackageName(This,value) \
    ( (This)->lpVtbl->get_CryptogramMaterialPackageName(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_put_CryptogramMaterialPackageName(This,value) \
    ( (This)->lpVtbl->put_CryptogramMaterialPackageName(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_get_CryptogramMaterialName(This,value) \
    ( (This)->lpVtbl->get_CryptogramMaterialName(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_put_CryptogramMaterialName(This,value) \
    ( (This)->lpVtbl->put_CryptogramMaterialName(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_get_TemplateOffset(This,value) \
    ( (This)->lpVtbl->get_TemplateOffset(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_put_TemplateOffset(This,value) \
    ( (This)->lpVtbl->put_TemplateOffset(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_get_CryptogramOffset(This,value) \
    ( (This)->lpVtbl->get_CryptogramOffset(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_put_CryptogramOffset(This,value) \
    ( (This)->lpVtbl->put_CryptogramOffset(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_get_CryptogramLength(This,value) \
    ( (This)->lpVtbl->get_CryptogramLength(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_put_CryptogramLength(This,value) \
    ( (This)->lpVtbl->put_CryptogramLength(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_get_CryptogramPlacementOptions(This,value) \
    ( (This)->lpVtbl->get_CryptogramPlacementOptions(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_put_CryptogramPlacementOptions(This,value) \
    ( (This)->lpVtbl->put_CryptogramPlacementOptions(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_get_ChainedOutputStep(This,value) \
    ( (This)->lpVtbl->get_ChainedOutputStep(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_put_ChainedOutputStep(This,value) \
    ( (This)->lpVtbl->put_ChainedOutputStep(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramPlacementStep_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCharacteristics
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramStorageKeyCharacteristics[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyCharacteristics";
/* [object, uuid("8552546E-4457-4825-B464-635471A39F5C"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristicsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_StorageKeyName )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DateCreated )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CFoundation_CDateTime * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Algorithm )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyAlgorithm * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Capabilities )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristicsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristicsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_get_StorageKeyName(This,value) \
    ( (This)->lpVtbl->get_StorageKeyName(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_get_DateCreated(This,value) \
    ( (This)->lpVtbl->get_DateCreated(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_get_Algorithm(This,value) \
    ( (This)->lpVtbl->get_Algorithm(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_get_Capabilities(This,value) \
    ( (This)->lpVtbl->get_Capabilities(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyCharacteristics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyInfo
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramStorageKeyInfo[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo";
/* [object, uuid("77B0F00D-B097-4F61-A26A-9561639C9C3A"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfoVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_OperationStatus )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramGeneratorOperationStatus * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_PublicKeyBlobType )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_PublicKey )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AttestationStatus )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptographicKeyAttestationStatus * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Attestation )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AttestationCertificateChain )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Capabilities )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardCryptogramStorageKeyCapabilities * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfoVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfoVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_get_OperationStatus(This,value) \
    ( (This)->lpVtbl->get_OperationStatus(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_get_PublicKeyBlobType(This,value) \
    ( (This)->lpVtbl->get_PublicKeyBlobType(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_get_PublicKey(This,value) \
    ( (This)->lpVtbl->get_PublicKey(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_get_AttestationStatus(This,value) \
    ( (This)->lpVtbl->get_AttestationStatus(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_get_Attestation(This,value) \
    ( (This)->lpVtbl->get_Attestation(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_get_AttestationCertificateChain(This,value) \
    ( (This)->lpVtbl->get_AttestationCertificateChain(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_get_Capabilities(This,value) \
    ( (This)->lpVtbl->get_Capabilities(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyInfo
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardCryptogramStorageKeyInfo2[] = L"Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo2";
/* [object, uuid("000440F9-F7FD-417D-89E1-FBB0382ADC4D"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_OperationalRequirements )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2 * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_get_OperationalRequirements(This,value) \
    ( (This)->lpVtbl->get_OperationalRequirements(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardCryptogramStorageKeyInfo2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x30000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulator
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulator[] = L"Windows.Devices.SmartCards.ISmartCardEmulator";
/* [object, uuid("DFB906B2-875E-47E5-8077-E8BFF1B1C6FB"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_EnablementPolicy )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorEnablementPolicy * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_get_EnablementPolicy(This,value) \
    ( (This)->lpVtbl->get_EnablementPolicy(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulator2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulator2[] = L"Windows.Devices.SmartCards.ISmartCardEmulator2";
/* [object, uuid("FE3FC0B8-8529-411A-807B-48EDC2A0AB44"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [eventadd] */HRESULT ( STDMETHODCALLTYPE *add_ApduReceived )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This,
        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorApduReceivedEventArgs * value,
        /* [retval, out] */__RPC__out EventRegistrationToken * token
        );
    /* [eventremove] */HRESULT ( STDMETHODCALLTYPE *remove_ApduReceived )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This,
        /* [in] */EventRegistrationToken value
        );
    /* [eventadd] */HRESULT ( STDMETHODCALLTYPE *add_ConnectionDeactivated )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This,
        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardEmulator_Windows__CDevices__CSmartCards__CSmartCardEmulatorConnectionDeactivatedEventArgs * value,
        /* [retval, out] */__RPC__out EventRegistrationToken * token
        );
    /* [eventremove] */HRESULT ( STDMETHODCALLTYPE *remove_ConnectionDeactivated )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This,
        /* [in] */EventRegistrationToken value
        );
    HRESULT ( STDMETHODCALLTYPE *Start )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This
        );
    HRESULT ( STDMETHODCALLTYPE *IsHostCardEmulationSupported )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2 * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_add_ApduReceived(This,value,token) \
    ( (This)->lpVtbl->add_ApduReceived(This,value,token) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_remove_ApduReceived(This,value) \
    ( (This)->lpVtbl->remove_ApduReceived(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_add_ConnectionDeactivated(This,value,token) \
    ( (This)->lpVtbl->add_ConnectionDeactivated(This,value,token) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_remove_ConnectionDeactivated(This,value) \
    ( (This)->lpVtbl->remove_ConnectionDeactivated(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_Start(This) \
    ( (This)->lpVtbl->Start(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_IsHostCardEmulationSupported(This,value) \
    ( (This)->lpVtbl->IsHostCardEmulationSupported(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulatorApduReceivedEventArgs
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorApduReceivedEventArgs[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs";
/* [object, uuid("D55D1576-69D2-5333-5B5F-F8C0D6E9F09F"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CommandApdu )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ConnectionProperties )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties * * value
        );
    HRESULT ( STDMETHODCALLTYPE *TryRespondAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * responseApdu,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AutomaticResponseStatus )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardAutomaticResponseStatus * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_get_CommandApdu(This,value) \
    ( (This)->lpVtbl->get_CommandApdu(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_get_ConnectionProperties(This,value) \
    ( (This)->lpVtbl->get_ConnectionProperties(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_TryRespondAsync(This,responseApdu,result) \
    ( (This)->lpVtbl->TryRespondAsync(This,responseApdu,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_get_AutomaticResponseStatus(This,value) \
    ( (This)->lpVtbl->get_AutomaticResponseStatus(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulatorApduReceivedEventArgs
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorApduReceivedEventArgs2[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs2";
/* [object, uuid("8BF93DF0-22E1-4238-8610-94CE4A965425"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_State )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2 * This,
        /* [retval, out] */__RPC__out UINT32 * value
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *TryRespondWithStateAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2 * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * responseApdu,
        /* [in] */__RPC__in_opt __FIReference_1_UINT32 * nextState,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_get_State(This,value) \
    ( (This)->lpVtbl->get_State(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_TryRespondWithStateAsync(This,responseApdu,nextState,result) \
    ( (This)->lpVtbl->TryRespondWithStateAsync(This,responseApdu,nextState,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgs2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgsWithCryptograms
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulatorApduReceivedEventArgs
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorApduReceivedEventArgsWithCryptograms[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgsWithCryptograms";
/* [object, uuid("D550BAC7-B7BF-4E29-9294-0C4AC3C941BD"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptogramsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [overload] */HRESULT ( STDMETHODCALLTYPE *TryRespondWithCryptogramsAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * responseTemplate,
        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * cryptogramPlacementSteps,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *TryRespondWithCryptogramsAndStateAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * responseTemplate,
        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramPlacementStep * cryptogramPlacementSteps,
        /* [in] */__RPC__in_opt __FIReference_1_UINT32 * nextState,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardCryptogramGeneratorOperationStatus * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptogramsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptogramsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_TryRespondWithCryptogramsAsync(This,responseTemplate,cryptogramPlacementSteps,result) \
    ( (This)->lpVtbl->TryRespondWithCryptogramsAsync(This,responseTemplate,cryptogramPlacementSteps,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_TryRespondWithCryptogramsAndStateAsync(This,responseTemplate,cryptogramPlacementSteps,nextState,result) \
    ( (This)->lpVtbl->TryRespondWithCryptogramsAndStateAsync(This,responseTemplate,cryptogramPlacementSteps,nextState,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorApduReceivedEventArgsWithCryptograms_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorConnectionDeactivatedEventArgs
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulatorConnectionDeactivatedEventArgs
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorConnectionDeactivatedEventArgs[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorConnectionDeactivatedEventArgs";
/* [object, uuid("2186D8D3-C5EB-5262-43DF-62A0A1B55557"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ConnectionProperties )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Reason )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorConnectionDeactivatedReason * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_get_ConnectionProperties(This,value) \
    ( (This)->lpVtbl->get_ConnectionProperties(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_get_Reason(This,value) \
    ( (This)->lpVtbl->get_Reason(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionDeactivatedEventArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorConnectionProperties
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulatorConnectionProperties
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorConnectionProperties[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorConnectionProperties";
/* [object, uuid("4E2CA5EE-F969-507D-6CF9-34E2D18DF311"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionPropertiesVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Id )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties * This,
        /* [retval, out] */__RPC__out GUID * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Source )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardEmulatorConnectionSource * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionPropertiesVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionPropertiesVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_get_Id(This,value) \
    ( (This)->lpVtbl->get_Id(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_get_Source(This,value) \
    ( (This)->lpVtbl->get_Source(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorConnectionProperties_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorStatics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorStatics[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorStatics";
/* [object, uuid("7A9BFC4B-C4D3-494F-B8A2-6215D81E85B2"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStaticsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *GetDefaultAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardEmulator * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStaticsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStaticsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_GetDefaultAsync(This,result) \
    ( (This)->lpVtbl->GetDefaultAsync(This,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorStatics2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorStatics2[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorStatics2";
/* [object, uuid("69AE9F8A-B775-488B-8436-6C1E28ED731F"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *GetAppletIdGroupRegistrationsAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * * result
        );
    HRESULT ( STDMETHODCALLTYPE *RegisterAppletIdGroupAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroup * appletIdGroup,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardAppletIdGroupRegistration * * result
        );
    HRESULT ( STDMETHODCALLTYPE *UnregisterAppletIdGroupAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardAppletIdGroupRegistration * registration,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction * * result
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_MaxAppletIdGroupRegistrations )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2 * This,
        /* [retval, out] */__RPC__out UINT16 * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_GetAppletIdGroupRegistrationsAsync(This,result) \
    ( (This)->lpVtbl->GetAppletIdGroupRegistrationsAsync(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_RegisterAppletIdGroupAsync(This,appletIdGroup,result) \
    ( (This)->lpVtbl->RegisterAppletIdGroupAsync(This,appletIdGroup,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_UnregisterAppletIdGroupAsync(This,registration,result) \
    ( (This)->lpVtbl->UnregisterAppletIdGroupAsync(This,registration,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_get_MaxAppletIdGroupRegistrations(This,value) \
    ( (This)->lpVtbl->get_MaxAppletIdGroupRegistrations(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardEmulatorStatics3
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 5.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardEmulator
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardEmulatorStatics3[] = L"Windows.Devices.SmartCards.ISmartCardEmulatorStatics3";
/* [object, uuid("59EA142A-9F09-43F5-8565-CFA8148E4CB2"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *IsSupported )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3 * This,
        /* [retval, out] */__RPC__out boolean * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_IsSupported(This,result) \
    ( (This)->lpVtbl->IsSupported(This,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulatorStatics3_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x50000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardPinPolicy
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardPinPolicy
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardPinPolicy[] = L"Windows.Devices.SmartCards.ISmartCardPinPolicy";
/* [object, uuid("183CE184-4DB6-4841-AC9E-2AC1F39B7304"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicyVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_MinLength )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [retval, out] */__RPC__out UINT32 * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_MinLength )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [in] */UINT32 value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_MaxLength )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [retval, out] */__RPC__out UINT32 * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_MaxLength )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [in] */UINT32 value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_UppercaseLetters )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardPinCharacterPolicyOption * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_UppercaseLetters )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardPinCharacterPolicyOption value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_LowercaseLetters )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardPinCharacterPolicyOption * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_LowercaseLetters )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardPinCharacterPolicyOption value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Digits )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardPinCharacterPolicyOption * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Digits )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardPinCharacterPolicyOption value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SpecialCharacters )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardPinCharacterPolicyOption * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_SpecialCharacters )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardPinCharacterPolicyOption value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicyVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicyVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_get_MinLength(This,value) \
    ( (This)->lpVtbl->get_MinLength(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_put_MinLength(This,value) \
    ( (This)->lpVtbl->put_MinLength(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_get_MaxLength(This,value) \
    ( (This)->lpVtbl->get_MaxLength(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_put_MaxLength(This,value) \
    ( (This)->lpVtbl->put_MaxLength(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_get_UppercaseLetters(This,value) \
    ( (This)->lpVtbl->get_UppercaseLetters(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_put_UppercaseLetters(This,value) \
    ( (This)->lpVtbl->put_UppercaseLetters(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_get_LowercaseLetters(This,value) \
    ( (This)->lpVtbl->get_LowercaseLetters(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_put_LowercaseLetters(This,value) \
    ( (This)->lpVtbl->put_LowercaseLetters(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_get_Digits(This,value) \
    ( (This)->lpVtbl->get_Digits(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_put_Digits(This,value) \
    ( (This)->lpVtbl->put_Digits(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_get_SpecialCharacters(This,value) \
    ( (This)->lpVtbl->get_SpecialCharacters(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_put_SpecialCharacters(This,value) \
    ( (This)->lpVtbl->put_SpecialCharacters(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardPinResetDeferral
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardPinResetDeferral
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardPinResetDeferral[] = L"Windows.Devices.SmartCards.ISmartCardPinResetDeferral";
/* [object, uuid("18C94AAC-7805-4004-85E4-BBEFAC8F6884"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferralVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *Complete )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral * This
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferralVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferralVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_Complete(This) \
    ( (This)->lpVtbl->Complete(This) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardPinResetRequest
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardPinResetRequest
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardPinResetRequest[] = L"Windows.Devices.SmartCards.ISmartCardPinResetRequest";
/* [object, uuid("12FE3C4D-5FB9-4E8E-9FF6-61F475124FEF"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequestVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Challenge )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Deadline )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CFoundation_CDateTime * value
        );
    HRESULT ( STDMETHODCALLTYPE *GetDeferral )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetDeferral * * result
        );
    HRESULT ( STDMETHODCALLTYPE *SetResponse )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * response
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequestVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequestVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_get_Challenge(This,value) \
    ( (This)->lpVtbl->get_Challenge(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_get_Deadline(This,value) \
    ( (This)->lpVtbl->get_Deadline(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_GetDeferral(This,result) \
    ( (This)->lpVtbl->GetDeferral(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_SetResponse(This,response) \
    ( (This)->lpVtbl->SetResponse(This,response) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetRequest_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardProvisioning
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardProvisioning
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardProvisioning[] = L"Windows.Devices.SmartCards.ISmartCardProvisioning";
/* [object, uuid("19EEEDBD-1FAB-477C-B712-1A2C5AF1FD6E"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SmartCard )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * * value
        );
    HRESULT ( STDMETHODCALLTYPE *GetIdAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_GUID * * result
        );
    HRESULT ( STDMETHODCALLTYPE *GetNameAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_HSTRING * * result
        );
    HRESULT ( STDMETHODCALLTYPE *GetChallengeContextAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardChallengeContext * * result
        );
    HRESULT ( STDMETHODCALLTYPE *RequestPinChangeAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
        );
    HRESULT ( STDMETHODCALLTYPE *RequestPinResetAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinResetHandler  * handler,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_get_SmartCard(This,value) \
    ( (This)->lpVtbl->get_SmartCard(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_GetIdAsync(This,result) \
    ( (This)->lpVtbl->GetIdAsync(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_GetNameAsync(This,result) \
    ( (This)->lpVtbl->GetNameAsync(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_GetChallengeContextAsync(This,result) \
    ( (This)->lpVtbl->GetChallengeContextAsync(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_RequestPinChangeAsync(This,result) \
    ( (This)->lpVtbl->RequestPinChangeAsync(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_RequestPinResetAsync(This,handler,result) \
    ( (This)->lpVtbl->RequestPinResetAsync(This,handler,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardProvisioning2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardProvisioning
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardProvisioning2[] = L"Windows.Devices.SmartCards.ISmartCardProvisioning2";
/* [object, uuid("10FD28EB-3F79-4B66-9B7C-11C149B7D0BC"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *GetAuthorityKeyContainerNameAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2 * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_HSTRING * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_GetAuthorityKeyContainerNameAsync(This,result) \
    ( (This)->lpVtbl->GetAuthorityKeyContainerNameAsync(This,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioning2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardProvisioningStatics
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardProvisioning
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardProvisioningStatics[] = L"Windows.Devices.SmartCards.ISmartCardProvisioningStatics";
/* [object, uuid("13882848-0D13-4E70-9735-51DAECA5254F"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStaticsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *FromSmartCardAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * card,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * * result
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *RequestVirtualSmartCardCreationAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics * This,
        /* [in] */__RPC__in HSTRING friendlyName,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * administrativeKey,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * pinPolicy,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * * result
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *RequestVirtualSmartCardCreationAsyncWithCardId )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics * This,
        /* [in] */__RPC__in HSTRING friendlyName,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * administrativeKey,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * pinPolicy,
        /* [in] */GUID cardId,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * * result
        );
    HRESULT ( STDMETHODCALLTYPE *RequestVirtualSmartCardDeletionAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * card,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStaticsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStaticsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_FromSmartCardAsync(This,card,result) \
    ( (This)->lpVtbl->FromSmartCardAsync(This,card,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_RequestVirtualSmartCardCreationAsync(This,friendlyName,administrativeKey,pinPolicy,result) \
    ( (This)->lpVtbl->RequestVirtualSmartCardCreationAsync(This,friendlyName,administrativeKey,pinPolicy,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_RequestVirtualSmartCardCreationAsyncWithCardId(This,friendlyName,administrativeKey,pinPolicy,cardId,result) \
    ( (This)->lpVtbl->RequestVirtualSmartCardCreationAsyncWithCardId(This,friendlyName,administrativeKey,pinPolicy,cardId,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_RequestVirtualSmartCardDeletionAsync(This,card,result) \
    ( (This)->lpVtbl->RequestVirtualSmartCardDeletionAsync(This,card,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardProvisioningStatics2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardProvisioning
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardProvisioningStatics2[] = L"Windows.Devices.SmartCards.ISmartCardProvisioningStatics2";
/* [object, uuid("3447C6A8-C9A0-4BD6-B50D-251F4E8D3A62"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [overload] */HRESULT ( STDMETHODCALLTYPE *RequestAttestedVirtualSmartCardCreationAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2 * This,
        /* [in] */__RPC__in HSTRING friendlyName,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * administrativeKey,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * pinPolicy,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * * result
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *RequestAttestedVirtualSmartCardCreationAsyncWithCardId )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2 * This,
        /* [in] */__RPC__in HSTRING friendlyName,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * administrativeKey,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardPinPolicy * pinPolicy,
        /* [in] */GUID cardId,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardProvisioning * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_RequestAttestedVirtualSmartCardCreationAsync(This,friendlyName,administrativeKey,pinPolicy,result) \
    ( (This)->lpVtbl->RequestAttestedVirtualSmartCardCreationAsync(This,friendlyName,administrativeKey,pinPolicy,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_RequestAttestedVirtualSmartCardCreationAsyncWithCardId(This,friendlyName,administrativeKey,pinPolicy,cardId,result) \
    ( (This)->lpVtbl->RequestAttestedVirtualSmartCardCreationAsyncWithCardId(This,friendlyName,administrativeKey,pinPolicy,cardId,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardProvisioningStatics2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardReader
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardReader
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardReader[] = L"Windows.Devices.SmartCards.ISmartCardReader";
/* [object, uuid("1074B4E0-54C2-4DF0-817A-14C14378F06C"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DeviceId )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Name )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Kind )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardReaderKind * value
        );
    HRESULT ( STDMETHODCALLTYPE *GetStatusAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReaderStatus * * result
        );
    HRESULT ( STDMETHODCALLTYPE *FindAllCardsAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CDevices__CSmartCards__CSmartCard * * result
        );
    /* [eventadd] */HRESULT ( STDMETHODCALLTYPE *add_CardAdded )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardAddedEventArgs * handler,
        /* [retval, out] */__RPC__out EventRegistrationToken * token
        );
    /* [eventremove] */HRESULT ( STDMETHODCALLTYPE *remove_CardAdded )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
        /* [in] */EventRegistrationToken token
        );
    /* [eventadd] */HRESULT ( STDMETHODCALLTYPE *add_CardRemoved )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CDevices__CSmartCards__CSmartCardReader_Windows__CDevices__CSmartCards__CCardRemovedEventArgs * handler,
        /* [retval, out] */__RPC__out EventRegistrationToken * token
        );
    /* [eventremove] */HRESULT ( STDMETHODCALLTYPE *remove_CardRemoved )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader * This,
        /* [in] */EventRegistrationToken token
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_get_DeviceId(This,value) \
    ( (This)->lpVtbl->get_DeviceId(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_get_Name(This,value) \
    ( (This)->lpVtbl->get_Name(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_get_Kind(This,value) \
    ( (This)->lpVtbl->get_Kind(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_GetStatusAsync(This,result) \
    ( (This)->lpVtbl->GetStatusAsync(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_FindAllCardsAsync(This,result) \
    ( (This)->lpVtbl->FindAllCardsAsync(This,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_add_CardAdded(This,handler,token) \
    ( (This)->lpVtbl->add_CardAdded(This,handler,token) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_remove_CardAdded(This,token) \
    ( (This)->lpVtbl->remove_CardAdded(This,token) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_add_CardRemoved(This,handler,token) \
    ( (This)->lpVtbl->add_CardRemoved(This,handler,token) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_remove_CardRemoved(This,token) \
    ( (This)->lpVtbl->remove_CardRemoved(This,token) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReader_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardReaderStatics
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardReader
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardReaderStatics[] = L"Windows.Devices.SmartCards.ISmartCardReaderStatics";
/* [object, uuid("103C04E1-A1CA-48F2-A281-5B6F669AF107"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStaticsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [overload] */HRESULT ( STDMETHODCALLTYPE *GetDeviceSelector )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * selector
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *GetDeviceSelectorWithKind )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics * This,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardReaderKind kind,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * selector
        );
    HRESULT ( STDMETHODCALLTYPE *FromIdAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics * This,
        /* [in] */__RPC__in HSTRING deviceId,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CDevices__CSmartCards__CSmartCardReader * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStaticsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStaticsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_GetDeviceSelector(This,selector) \
    ( (This)->lpVtbl->GetDeviceSelector(This,selector) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_GetDeviceSelectorWithKind(This,kind,selector) \
    ( (This)->lpVtbl->GetDeviceSelectorWithKind(This,kind,selector) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_FromIdAsync(This,deviceId,result) \
    ( (This)->lpVtbl->FromIdAsync(This,deviceId,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardReaderStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardTriggerDetails
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardTriggerDetails
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardTriggerDetails[] = L"Windows.Devices.SmartCards.ISmartCardTriggerDetails";
/* [object, uuid("5F9BF11E-39EF-4F2B-B44F-0A9155B177BC"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetailsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_TriggerType )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CDevices_CSmartCards_CSmartCardTriggerType * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SourceAppletId )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_TriggerData )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetailsVtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetailsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_get_TriggerType(This,value) \
    ( (This)->lpVtbl->get_TriggerType(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_get_SourceAppletId(This,value) \
    ( (This)->lpVtbl->get_SourceAppletId(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_get_TriggerData(This,value) \
    ( (This)->lpVtbl->get_TriggerData(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardTriggerDetails2
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardTriggerDetails
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardTriggerDetails2[] = L"Windows.Devices.SmartCards.ISmartCardTriggerDetails2";
/* [object, uuid("2945C569-8975-4A51-9E1A-5F8A76EE51AF"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Emulator )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2 * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardEmulator * * value
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *TryLaunchCurrentAppAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2 * This,
        /* [in] */__RPC__in HSTRING arguments,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *TryLaunchCurrentAppWithBehaviorAsync )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2 * This,
        /* [in] */__RPC__in HSTRING arguments,
        /* [in] */__x_ABI_CWindows_CDevices_CSmartCards_CSmartCardLaunchBehavior behavior,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_boolean * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_get_Emulator(This,value) \
    ( (This)->lpVtbl->get_Emulator(This,value) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_TryLaunchCurrentAppAsync(This,arguments,result) \
    ( (This)->lpVtbl->TryLaunchCurrentAppAsync(This,arguments,result) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_TryLaunchCurrentAppWithBehaviorAsync(This,arguments,behavior,result) \
    ( (This)->lpVtbl->TryLaunchCurrentAppWithBehaviorAsync(This,arguments,behavior,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails2_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Devices.SmartCards.ISmartCardTriggerDetails3
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Devices.SmartCards.SmartCardTriggerDetails
 *
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Devices_SmartCards_ISmartCardTriggerDetails3[] = L"Windows.Devices.SmartCards.ISmartCardTriggerDetails3";
/* [object, uuid("B3E2C27D-18C6-4BA8-8376-EF03D4912666"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SmartCard )(
        __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3 * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CDevices_CSmartCards_CISmartCard * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3Vtbl;

interface __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3
{
    CONST_VTBL struct __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_get_SmartCard(This,value) \
    ( (This)->lpVtbl->get_SmartCard(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3;
#endif /* !defined(____x_ABI_CWindows_CDevices_CSmartCards_CISmartCardTriggerDetails3_INTERFACE_DEFINED__) */
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x30000


/*
 *
 * Class Windows.Devices.SmartCards.CardAddedEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ICardAddedEventArgs ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_CardAddedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_CardAddedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_CardAddedEventArgs[] = L"Windows.Devices.SmartCards.CardAddedEventArgs";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.CardRemovedEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ICardRemovedEventArgs ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_CardRemovedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_CardRemovedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_CardRemovedEventArgs[] = L"Windows.Devices.SmartCards.CardRemovedEventArgs";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.KnownSmartCardAppletIds
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 6.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.IKnownSmartCardAppletIds interface starting with version 6.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000
#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_KnownSmartCardAppletIds_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_KnownSmartCardAppletIds_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_KnownSmartCardAppletIds[] = L"Windows.Devices.SmartCards.KnownSmartCardAppletIds";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x60000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCard
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCard ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardConnect
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCard_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCard_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCard[] = L"Windows.Devices.SmartCards.SmartCard";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardAppletIdGroup
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *   Type can be activated via the Windows.Devices.SmartCards.ISmartCardAppletIdGroupFactory interface starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardAppletIdGroupStatics interface starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardAppletIdGroup ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardAppletIdGroup2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAppletIdGroup_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAppletIdGroup_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardAppletIdGroup[] = L"Windows.Devices.SmartCards.SmartCardAppletIdGroup";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardAppletIdGroupRegistration2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAppletIdGroupRegistration_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAppletIdGroupRegistration_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardAppletIdGroupRegistration[] = L"Windows.Devices.SmartCards.SmartCardAppletIdGroupRegistration";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Devices.SmartCards.ISmartCardAutomaticResponseApduFactory interface starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu2
 *    Windows.Devices.SmartCards.ISmartCardAutomaticResponseApdu3
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAutomaticResponseApdu_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardAutomaticResponseApdu_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardAutomaticResponseApdu[] = L"Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardChallengeContext
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardChallengeContext ** Default Interface **
 *    Windows.Foundation.IClosable
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardChallengeContext_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardChallengeContext_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardChallengeContext[] = L"Windows.Devices.SmartCards.SmartCardChallengeContext";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardConnection
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardConnection ** Default Interface **
 *    Windows.Foundation.IClosable
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardConnection_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardConnection_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardConnection[] = L"Windows.Devices.SmartCards.SmartCardConnection";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramGenerator
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics2 interface starting with version 5.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardCryptogramGeneratorStatics interface starting with version 2.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramGenerator ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardCryptogramGenerator2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGenerator_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGenerator_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramGenerator[] = L"Windows.Devices.SmartCards.SmartCardCryptogramGenerator";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult[] = L"Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult[] = L"Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult[] = L"Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramMaterialCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramMaterialCharacteristics ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialCharacteristics_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialCharacteristics_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramMaterialCharacteristics[] = L"Windows.Devices.SmartCards.SmartCardCryptogramMaterialCharacteristics";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPackageCharacteristics ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPackageCharacteristics_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPackageCharacteristics_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPackageCharacteristics[] = L"Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageCharacteristics";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramMaterialPossessionProof
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramMaterialPossessionProof ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPossessionProof_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPossessionProof_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramMaterialPossessionProof[] = L"Windows.Devices.SmartCards.SmartCardCryptogramMaterialPossessionProof";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramPlacementStep
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 2.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramPlacementStep ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramPlacementStep_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramPlacementStep_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramPlacementStep[] = L"Windows.Devices.SmartCards.SmartCardCryptogramPlacementStep";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCharacteristics
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 4.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 4.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyCharacteristics ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyCharacteristics_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyCharacteristics_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyCharacteristics[] = L"Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCharacteristics";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x40000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyInfo
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 2.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardCryptogramStorageKeyInfo2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyInfo_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyInfo_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardCryptogramStorageKeyInfo[] = L"Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyInfo";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x20000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardEmulator
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardEmulatorStatics3 interface starting with version 5.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardEmulatorStatics2 interface starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardEmulatorStatics interface starting with version 1.0 of the Windows.Devices.SmartCards.SmartCardEmulatorContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardEmulator ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardEmulator2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulator_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulator_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardEmulator[] = L"Windows.Devices.SmartCards.SmartCardEmulator";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardEmulatorApduReceivedEventArgs
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgsWithCryptograms
 *    Windows.Devices.SmartCards.ISmartCardEmulatorApduReceivedEventArgs2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorApduReceivedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorApduReceivedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardEmulatorApduReceivedEventArgs[] = L"Windows.Devices.SmartCards.SmartCardEmulatorApduReceivedEventArgs";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardEmulatorConnectionDeactivatedEventArgs
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardEmulatorConnectionDeactivatedEventArgs ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorConnectionDeactivatedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorConnectionDeactivatedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardEmulatorConnectionDeactivatedEventArgs[] = L"Windows.Devices.SmartCards.SmartCardEmulatorConnectionDeactivatedEventArgs";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardEmulatorConnectionProperties
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardEmulatorContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardEmulatorConnectionProperties ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorConnectionProperties_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardEmulatorConnectionProperties_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardEmulatorConnectionProperties[] = L"Windows.Devices.SmartCards.SmartCardEmulatorConnectionProperties";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardPinPolicy
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardPinPolicy ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinPolicy_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinPolicy_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardPinPolicy[] = L"Windows.Devices.SmartCards.SmartCardPinPolicy";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardPinResetDeferral
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardPinResetDeferral ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinResetDeferral_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinResetDeferral_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardPinResetDeferral[] = L"Windows.Devices.SmartCards.SmartCardPinResetDeferral";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardPinResetRequest
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardPinResetRequest ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinResetRequest_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardPinResetRequest_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardPinResetRequest[] = L"Windows.Devices.SmartCards.SmartCardPinResetRequest";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardProvisioning
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardProvisioningStatics2 interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardProvisioningStatics interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardProvisioning ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardProvisioning2
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardProvisioning_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardProvisioning_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardProvisioning[] = L"Windows.Devices.SmartCards.SmartCardProvisioning";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardReader
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Devices.SmartCards.ISmartCardReaderStatics interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardReader ** Default Interface **
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardReader_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardReader_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardReader[] = L"Windows.Devices.SmartCards.SmartCardReader";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Devices.SmartCards.SmartCardTriggerDetails
 *
 * Introduced to Windows.Devices.SmartCards.SmartCardBackgroundTriggerContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Devices.SmartCards.ISmartCardTriggerDetails ** Default Interface **
 *    Windows.Devices.SmartCards.ISmartCardTriggerDetails2
 *    Windows.Devices.SmartCards.ISmartCardTriggerDetails3
 *
 * Class Threading Model:  Both Single and Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardTriggerDetails_DEFINED
#define RUNTIMECLASS_Windows_Devices_SmartCards_SmartCardTriggerDetails_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Devices_SmartCards_SmartCardTriggerDetails[] = L"Windows.Devices.SmartCards.SmartCardTriggerDetails";
#endif
#endif // WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION >= 0x10000




#endif // defined(__cplusplus)
#pragma pop_macro("MIDL_CONST_ID")
// Restore the original value of the 'DEPRECATED' macro
#pragma pop_macro("DEPRECATED")

#ifdef __clang__
#pragma clang diagnostic pop // deprecated-declarations
#else
#pragma warning(pop)
#endif
#endif // __windows2Edevices2Esmartcards_p_h__

#endif // __windows2Edevices2Esmartcards_h__
