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

#pragma once
// Header files for imported files
#include <inspectable.h>
#include <EventToken.h>
#include <windowscontracts.h>
#include "Windows.Foundation.h"
#include "Windows.Storage.h"
#include "Windows.Storage.Streams.h"
#include "Windows.System.h"

/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgs_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgs __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgs;

#endif // ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult;

#endif // ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager;

#endif // ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics;

#endif // ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo;

#endif // ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult;

#if !defined(____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult;

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

    typedef struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResultVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResultVtbl;

    interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult;

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

    typedef struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResultVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResultVtbl;

    interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult_INTERFACE_DEFINED__
    
typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo;

#if !defined(____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo;

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

    typedef struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfoVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfoVtbl;

    interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfoVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo;

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

    typedef struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfoVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfoVtbl;

    interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfoVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataStorageItemProtectionStatus __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataStorageItemProtectionStatus;

typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus;

#if !defined(____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus;

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

    typedef struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatusVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatusVtbl;

    interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatusVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus;

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

    typedef struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatusVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatusVtbl;

    interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatusVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus_INTERFACE_DEFINED__
    
#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__

typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer;

#if !defined(____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer;

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

    typedef struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CStorage__CStreams__CIBufferVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CStorage__CStreams__CIBufferVtbl;

    interface __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CStorage__CStreams__CIBufferVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer;

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

    typedef struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CStorage__CStreams__CIBufferVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CStorage__CStreams__CIBufferVtbl;

    interface __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CStorage__CStreams__CIBufferVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationCompletedHandler_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgs_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgs __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgs;

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

    typedef struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgs* This,
        __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* sender,
        __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgs* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgsVtbl;

    interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgs
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgsVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgs_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CFoundation_CAsyncStatus __x_ABI_CWindows_CFoundation_CAsyncStatus;

#ifndef ____x_ABI_CWindows_CFoundation_CIDeferral_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIDeferral_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CFoundation_CIDeferral __x_ABI_CWindows_CFoundation_CIDeferral;

#endif // ____x_ABI_CWindows_CFoundation_CIDeferral_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CFoundation_CIAsyncInfo __x_ABI_CWindows_CFoundation_CIAsyncInfo;

#endif // ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CStorage_CIStorageItem __x_ABI_CWindows_CStorage_CIStorageItem;

#endif // ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CSystem_CIUser_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIUser_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSystem_CIUser __x_ABI_CWindows_CSystem_CIUser;

#endif // ____x_ABI_CWindows_CSystem_CIUser_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataAvailability __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataAvailability;

typedef enum __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataBufferUnprotectStatus __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataBufferUnprotectStatus;

enum __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataAvailability
    {
        __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataAvailability_Always = 0,
    __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataAvailability_AfterFirstUnlock = 1,
    __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataAvailability_WhileUnlocked = 2,
};

enum __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataBufferUnprotectStatus
    {
        __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataBufferUnprotectStatus_Succeeded = 0,
    __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataBufferUnprotectStatus_Unavailable = 1,
};

enum __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataStorageItemProtectionStatus
    {
        __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataStorageItemProtectionStatus_Succeeded = 0,
    __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataStorageItemProtectionStatus_NotProtectable = 1,
    __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataStorageItemProtectionStatus_DataUnavailable = 2,
};

#if !defined(____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgs_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgsVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgsVtbl;

    interface __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataAvailabilityStateChangedEventArgs_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Status)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult* This,
        enum __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataBufferUnprotectStatus* value);
    HRESULT (STDMETHODCALLTYPE* get_UnprotectedBuffer)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult* This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer** value);

        END_INTERFACE
    } __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResultVtbl;

    interface __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult
    {
        CONST_VTBL struct __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResultVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult;
#endif /* !defined(____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataBufferUnprotectResult_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* ProtectStorageItemAsync)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This,
        __x_ABI_CWindows_CStorage_CIStorageItem* storageItem,
        enum __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataAvailability availability,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionStatus** result);
    HRESULT (STDMETHODCALLTYPE* GetStorageItemProtectionInfoAsync)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This,
        __x_ABI_CWindows_CStorage_CIStorageItem* storageItem,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataStorageItemProtectionInfo** result);
    HRESULT (STDMETHODCALLTYPE* ProtectBufferAsync)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer* unprotectedBuffer,
        enum __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataAvailability availability,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CStorage__CStreams__CIBuffer** result);
    HRESULT (STDMETHODCALLTYPE* UnprotectBufferAsync)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer* protectedBuffer,
        __x_ABI_C__FIAsyncOperation_1___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataBufferUnprotectResult** result);
    HRESULT (STDMETHODCALLTYPE* IsContinuedDataAvailabilityExpected)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This,
        enum __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataAvailability availability,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* add_DataAvailabilityStateChanged)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This,
        __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataProtectionManager___x_ABI_CWindows__CSecurity__CDataProtection__CUserDataAvailabilityStateChangedEventArgs* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_DataAvailabilityStateChanged)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager* This,
        EventRegistrationToken token);

        END_INTERFACE
    } __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerVtbl;

    interface __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager
    {
        CONST_VTBL struct __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager;
#endif /* !defined(____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* TryGetDefault)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics* This,
        __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager** result);
    HRESULT (STDMETHODCALLTYPE* TryGetForUser)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics* This,
        __x_ABI_CWindows_CSystem_CIUser* user,
        __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManager** result);

        END_INTERFACE
    } __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStaticsVtbl;

    interface __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics;
#endif /* !defined(____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataProtectionManagerStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Availability)(__x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo* This,
        enum __x_ABI_CWindows_CSecurity_CDataProtection_CUserDataAvailability* value);

        END_INTERFACE
    } __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfoVtbl;

    interface __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo
    {
        CONST_VTBL struct __x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfoVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo;
#endif /* !defined(____x_ABI_CWindows_CSecurity_CDataProtection_CIUserDataStorageItemProtectionInfo_INTERFACE_DEFINED__) */
    
