/*** Autogenerated by WIDL 10.13 from include/windows.security.enterprisedata.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __windows_security_enterprisedata_h__
#define __windows_security_enterprisedata_h__

/* Forward declarations */

#ifndef ____FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_ProtectionPolicyEvaluationResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_ProtectionPolicyEvaluationResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_ProtectionPolicyEvaluationResult __FIAsyncOperation_1_ProtectionPolicyEvaluationResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_ProtectionPolicyEvaluationResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult >
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <inspectable.h>
#include <asyncinfo.h>
#include <eventtoken.h>
#include <windowscontracts.h>
#include <windows.foundation.h>

#ifdef __cplusplus
extern "C" {
#endif

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

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CSecurity_CEnterpriseData_CProtectionPolicyEvaluationResult_ENUM_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CEnterpriseData_CProtectionPolicyEvaluationResult_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace EnterpriseData {
                enum ProtectionPolicyEvaluationResult {
                    ProtectionPolicyEvaluationResult_Allowed = 0,
                    ProtectionPolicyEvaluationResult_Blocked = 1,
                    ProtectionPolicyEvaluationResult_ConsentRequired = 2
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CSecurity_CEnterpriseData_CProtectionPolicyEvaluationResult {
    ProtectionPolicyEvaluationResult_Allowed = 0,
    ProtectionPolicyEvaluationResult_Blocked = 1,
    ProtectionPolicyEvaluationResult_ConsentRequired = 2
};
#ifdef WIDL_using_Windows_Security_EnterpriseData
#define ProtectionPolicyEvaluationResult __x_ABI_CWindows_CSecurity_CEnterpriseData_CProtectionPolicyEvaluationResult
#endif /* WIDL_using_Windows_Security_EnterpriseData */
#endif

#endif /* ____x_ABI_CWindows_CSecurity_CEnterpriseData_CProtectionPolicyEvaluationResult_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CSecurity_CEnterpriseData_CProtectionPolicyEvaluationResult __x_ABI_CWindows_CSecurity_CEnterpriseData_CProtectionPolicyEvaluationResult;
#endif /* __cplusplus */

#ifndef ____FIAsyncOperation_1_ProtectionPolicyEvaluationResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_ProtectionPolicyEvaluationResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_ProtectionPolicyEvaluationResult __FIAsyncOperation_1_ProtectionPolicyEvaluationResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_ProtectionPolicyEvaluationResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult >
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult, 0x2833ba54, 0xa4e1, 0x5c2d, 0x8a,0x7a, 0x13,0x6e,0x85,0x10,0xc7,0x8b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("2833ba54-a4e1-5c2d-8a7a-136e8510c78b")
            IAsyncOperationCompletedHandler<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult, 0x2833ba54, 0xa4e1, 0x5c2d, 0x8a,0x7a, 0x13,0x6e,0x85,0x10,0xc7,0x8b)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResultVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult *This);

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult *This,
        __FIAsyncOperation_1_ProtectionPolicyEvaluationResult *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult > methods ***/
#define __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_QueryInterface(__FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_AddRef(__FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_Release(__FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_Invoke(__FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult* This,__FIAsyncOperation_1_ProtectionPolicyEvaluationResult *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_ProtectionPolicyEvaluationResult IID___FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult
#define IAsyncOperationCompletedHandler_ProtectionPolicyEvaluationResultVtbl __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResultVtbl
#define IAsyncOperationCompletedHandler_ProtectionPolicyEvaluationResult __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult
#define IAsyncOperationCompletedHandler_ProtectionPolicyEvaluationResult_QueryInterface __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_QueryInterface
#define IAsyncOperationCompletedHandler_ProtectionPolicyEvaluationResult_AddRef __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_AddRef
#define IAsyncOperationCompletedHandler_ProtectionPolicyEvaluationResult_Release __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_Release
#define IAsyncOperationCompletedHandler_ProtectionPolicyEvaluationResult_Invoke __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult > interface
 */
#ifndef ____FIAsyncOperation_1_ProtectionPolicyEvaluationResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_ProtectionPolicyEvaluationResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_ProtectionPolicyEvaluationResult, 0xe8d81715, 0xc56c, 0x5a6b, 0xb7,0x38, 0x5d,0xf6,0xc2,0x77,0x5b,0x7b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("e8d81715-c56c-5a6b-b738-5df6c2775b7b")
            IAsyncOperation<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult > : IAsyncOperation_impl<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_ProtectionPolicyEvaluationResult, 0xe8d81715, 0xc56c, 0x5a6b, 0xb7,0x38, 0x5d,0xf6,0xc2,0x77,0x5b,0x7b)
#endif
#else
typedef struct __FIAsyncOperation_1_ProtectionPolicyEvaluationResultVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __FIAsyncOperation_1_ProtectionPolicyEvaluationResult *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __FIAsyncOperation_1_ProtectionPolicyEvaluationResult *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __FIAsyncOperation_1_ProtectionPolicyEvaluationResult *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __FIAsyncOperation_1_ProtectionPolicyEvaluationResult *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __FIAsyncOperation_1_ProtectionPolicyEvaluationResult *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __FIAsyncOperation_1_ProtectionPolicyEvaluationResult *This,
        TrustLevel *trustLevel);

    /*** IAsyncOperation<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_ProtectionPolicyEvaluationResult *This,
        __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_ProtectionPolicyEvaluationResult *This,
        __FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_ProtectionPolicyEvaluationResult *This,
        __x_ABI_CWindows_CSecurity_CEnterpriseData_CProtectionPolicyEvaluationResult *results);

    END_INTERFACE
} __FIAsyncOperation_1_ProtectionPolicyEvaluationResultVtbl;

interface __FIAsyncOperation_1_ProtectionPolicyEvaluationResult {
    CONST_VTBL __FIAsyncOperation_1_ProtectionPolicyEvaluationResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult > methods ***/
#define __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_QueryInterface(__FIAsyncOperation_1_ProtectionPolicyEvaluationResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_AddRef(__FIAsyncOperation_1_ProtectionPolicyEvaluationResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_Release(__FIAsyncOperation_1_ProtectionPolicyEvaluationResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetIids(__FIAsyncOperation_1_ProtectionPolicyEvaluationResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetRuntimeClassName(__FIAsyncOperation_1_ProtectionPolicyEvaluationResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetTrustLevel(__FIAsyncOperation_1_ProtectionPolicyEvaluationResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult > methods ***/
static inline HRESULT __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_put_Completed(__FIAsyncOperation_1_ProtectionPolicyEvaluationResult* This,__FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_get_Completed(__FIAsyncOperation_1_ProtectionPolicyEvaluationResult* This,__FIAsyncOperationCompletedHandler_1_ProtectionPolicyEvaluationResult **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetResults(__FIAsyncOperation_1_ProtectionPolicyEvaluationResult* This,__x_ABI_CWindows_CSecurity_CEnterpriseData_CProtectionPolicyEvaluationResult *results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_ProtectionPolicyEvaluationResult IID___FIAsyncOperation_1_ProtectionPolicyEvaluationResult
#define IAsyncOperation_ProtectionPolicyEvaluationResultVtbl __FIAsyncOperation_1_ProtectionPolicyEvaluationResultVtbl
#define IAsyncOperation_ProtectionPolicyEvaluationResult __FIAsyncOperation_1_ProtectionPolicyEvaluationResult
#define IAsyncOperation_ProtectionPolicyEvaluationResult_QueryInterface __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_QueryInterface
#define IAsyncOperation_ProtectionPolicyEvaluationResult_AddRef __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_AddRef
#define IAsyncOperation_ProtectionPolicyEvaluationResult_Release __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_Release
#define IAsyncOperation_ProtectionPolicyEvaluationResult_GetIids __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetIids
#define IAsyncOperation_ProtectionPolicyEvaluationResult_GetRuntimeClassName __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetRuntimeClassName
#define IAsyncOperation_ProtectionPolicyEvaluationResult_GetTrustLevel __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetTrustLevel
#define IAsyncOperation_ProtectionPolicyEvaluationResult_put_Completed __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_put_Completed
#define IAsyncOperation_ProtectionPolicyEvaluationResult_get_Completed __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_get_Completed
#define IAsyncOperation_ProtectionPolicyEvaluationResult_GetResults __FIAsyncOperation_1_ProtectionPolicyEvaluationResult_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_ProtectionPolicyEvaluationResult_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __windows_security_enterprisedata_h__ */
