/*** Autogenerated by WIDL 11.0 from ../wine-11.0/include/windows.security.credentials.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_credentials_h__
#define __windows_security_credentials_h__

/* Forward declarations */

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential ABI::Windows::Security::Credentials::IKeyCredential
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                interface IKeyCredential;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult ABI::Windows::Security::Credentials::IKeyCredentialAttestationResult
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                interface IKeyCredentialAttestationResult;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics ABI::Windows::Security::Credentials::IKeyCredentialManagerStatics
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                interface IKeyCredentialManagerStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult ABI::Windows::Security::Credentials::IKeyCredentialOperationResult
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                interface IKeyCredentialOperationResult;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult ABI::Windows::Security::Credentials::IKeyCredentialRetrievalResult
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                interface IKeyCredentialRetrievalResult;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredential_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredential_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                class KeyCredential;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredential __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredential;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredential_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationResult_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                class KeyCredentialAttestationResult;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationResult __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationResult;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationResult_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialManager_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                class KeyCredentialManager;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialManager __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialManager;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialManager_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialOperationResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialOperationResult_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                class KeyCredentialOperationResult;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialOperationResult __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialOperationResult;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialOperationResult_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialRetrievalResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialRetrievalResult_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                class KeyCredentialRetrievalResult;
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialRetrievalResult __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialRetrievalResult;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialRetrievalResult_FWD_DEFINED__ */

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* >
#endif /* __cplusplus */
#endif

/* Headers 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>
#include <windows.system.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_CCryptography_CCore_CCryptographicPublicKeyBlobType_ENUM_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Cryptography {
                namespace Core {
                    enum CryptographicPublicKeyBlobType {
                        CryptographicPublicKeyBlobType_X509SubjectPublicKeyInfo = 0,
                        CryptographicPublicKeyBlobType_Pkcs1RsaPublicKey = 1,
                        CryptographicPublicKeyBlobType_BCryptPublicKey = 2,
                        CryptographicPublicKeyBlobType_Capi1PublicKey = 3,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
                        CryptographicPublicKeyBlobType_BCryptEccFullPublicKey = 4
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
                    };
                }
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType {
    CryptographicPublicKeyBlobType_X509SubjectPublicKeyInfo = 0,
    CryptographicPublicKeyBlobType_Pkcs1RsaPublicKey = 1,
    CryptographicPublicKeyBlobType_BCryptPublicKey = 2,
    CryptographicPublicKeyBlobType_Capi1PublicKey = 3,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
    CryptographicPublicKeyBlobType_BCryptEccFullPublicKey = 4
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
};
#ifdef WIDL_using_Windows_Security_Cryptography_Core
#define CryptographicPublicKeyBlobType __x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType
#endif /* WIDL_using_Windows_Security_Cryptography_Core */
#endif

#endif /* ____x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType __x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationStatus_ENUM_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationStatus_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                enum KeyCredentialAttestationStatus {
                    KeyCredentialAttestationStatus_Success = 0,
                    KeyCredentialAttestationStatus_UnknownError = 1,
                    KeyCredentialAttestationStatus_NotSupported = 2,
                    KeyCredentialAttestationStatus_TemporaryFailure = 3
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationStatus {
    KeyCredentialAttestationStatus_Success = 0,
    KeyCredentialAttestationStatus_UnknownError = 1,
    KeyCredentialAttestationStatus_NotSupported = 2,
    KeyCredentialAttestationStatus_TemporaryFailure = 3
};
#ifdef WIDL_using_Windows_Security_Credentials
#define KeyCredentialAttestationStatus __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationStatus
#endif /* WIDL_using_Windows_Security_Credentials */
#endif

#endif /* ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationStatus_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationStatus __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationStatus;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialCreationOption_ENUM_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialCreationOption_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                enum KeyCredentialCreationOption {
                    KeyCredentialCreationOption_ReplaceExisting = 0,
                    KeyCredentialCreationOption_FailIfExists = 1
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialCreationOption {
    KeyCredentialCreationOption_ReplaceExisting = 0,
    KeyCredentialCreationOption_FailIfExists = 1
};
#ifdef WIDL_using_Windows_Security_Credentials
#define KeyCredentialCreationOption __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialCreationOption
#endif /* WIDL_using_Windows_Security_Credentials */
#endif

#endif /* ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialCreationOption_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialCreationOption __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialCreationOption;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialStatus_ENUM_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialStatus_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                enum KeyCredentialStatus {
                    KeyCredentialStatus_Success = 0,
                    KeyCredentialStatus_UnknownError = 1,
                    KeyCredentialStatus_NotFound = 2,
                    KeyCredentialStatus_UserCanceled = 3,
                    KeyCredentialStatus_UserPrefersPassword = 4,
                    KeyCredentialStatus_CredentialAlreadyExists = 5,
                    KeyCredentialStatus_SecurityDeviceLocked = 6
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialStatus {
    KeyCredentialStatus_Success = 0,
    KeyCredentialStatus_UnknownError = 1,
    KeyCredentialStatus_NotFound = 2,
    KeyCredentialStatus_UserCanceled = 3,
    KeyCredentialStatus_UserPrefersPassword = 4,
    KeyCredentialStatus_CredentialAlreadyExists = 5,
    KeyCredentialStatus_SecurityDeviceLocked = 6
};
#ifdef WIDL_using_Windows_Security_Credentials
#define KeyCredentialStatus __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialStatus
#endif /* WIDL_using_Windows_Security_Credentials */
#endif

#endif /* ____x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialStatus_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialStatus __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialStatus;
#endif /* __cplusplus */

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential ABI::Windows::Security::Credentials::IKeyCredential
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                interface IKeyCredential;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult ABI::Windows::Security::Credentials::IKeyCredentialAttestationResult
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                interface IKeyCredentialAttestationResult;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics ABI::Windows::Security::Credentials::IKeyCredentialManagerStatics
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                interface IKeyCredentialManagerStatics;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult ABI::Windows::Security::Credentials::IKeyCredentialOperationResult
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                interface IKeyCredentialOperationResult;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult ABI::Windows::Security::Credentials::IKeyCredentialRetrievalResult
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                interface IKeyCredentialRetrievalResult;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* >
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IKeyCredential interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential, 0x9585ef8d, 0x457b, 0x4847, 0xb1,0x1a, 0xfa,0x96,0x0b,0xbd,0xb1,0x38);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                MIDL_INTERFACE("9585ef8d-457b-4847-b11a-fa960bbdb138")
                IKeyCredential : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_Name(
                        HSTRING *value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE RetrievePublicKeyWithDefaultBlobType(
                        ABI::Windows::Storage::Streams::IBuffer **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE RetrievePublicKeyWithBlobType(
                        ABI::Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType blobType,
                        ABI::Windows::Storage::Streams::IBuffer **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE RequestSignAsync(
                        ABI::Windows::Storage::Streams::IBuffer *data,
                        ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* > **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE GetAttestationAsync(
                        ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* > **value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential, 0x9585ef8d, 0x457b, 0x4847, 0xb1,0x1a, 0xfa,0x96,0x0b,0xbd,0xb1,0x38)
#endif
#else
typedef struct __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IKeyCredential methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Name)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *RetrievePublicKeyWithDefaultBlobType)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);

    HRESULT (STDMETHODCALLTYPE *RetrievePublicKeyWithBlobType)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential *This,
        __x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType blobType,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);

    HRESULT (STDMETHODCALLTYPE *RequestSignAsync)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *data,
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult **value);

    HRESULT (STDMETHODCALLTYPE *GetAttestationAsync)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential *This,
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult **value);

    END_INTERFACE
} __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialVtbl;

interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential {
    CONST_VTBL __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IKeyCredential methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_get_Name(This,value) (This)->lpVtbl->get_Name(This,value)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_RetrievePublicKeyWithDefaultBlobType(This,value) (This)->lpVtbl->RetrievePublicKeyWithDefaultBlobType(This,value)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_RetrievePublicKeyWithBlobType(This,blobType,value) (This)->lpVtbl->RetrievePublicKeyWithBlobType(This,blobType,value)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_RequestSignAsync(This,data,value) (This)->lpVtbl->RequestSignAsync(This,data,value)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetAttestationAsync(This,value) (This)->lpVtbl->GetAttestationAsync(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_QueryInterface(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_AddRef(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_Release(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetIids(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetRuntimeClassName(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetTrustLevel(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IKeyCredential methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_get_Name(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential* This,HSTRING *value) {
    return This->lpVtbl->get_Name(This,value);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_RetrievePublicKeyWithDefaultBlobType(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **value) {
    return This->lpVtbl->RetrievePublicKeyWithDefaultBlobType(This,value);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_RetrievePublicKeyWithBlobType(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential* This,__x_ABI_CWindows_CSecurity_CCryptography_CCore_CCryptographicPublicKeyBlobType blobType,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **value) {
    return This->lpVtbl->RetrievePublicKeyWithBlobType(This,blobType,value);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_RequestSignAsync(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer *data,__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult **value) {
    return This->lpVtbl->RequestSignAsync(This,data,value);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetAttestationAsync(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential* This,__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult **value) {
    return This->lpVtbl->GetAttestationAsync(This,value);
}
#endif
#ifdef WIDL_using_Windows_Security_Credentials
#define IID_IKeyCredential IID___x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential
#define IKeyCredentialVtbl __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialVtbl
#define IKeyCredential __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential
#define IKeyCredential_QueryInterface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_QueryInterface
#define IKeyCredential_AddRef __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_AddRef
#define IKeyCredential_Release __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_Release
#define IKeyCredential_GetIids __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetIids
#define IKeyCredential_GetRuntimeClassName __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetRuntimeClassName
#define IKeyCredential_GetTrustLevel __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetTrustLevel
#define IKeyCredential_get_Name __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_get_Name
#define IKeyCredential_RetrievePublicKeyWithDefaultBlobType __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_RetrievePublicKeyWithDefaultBlobType
#define IKeyCredential_RetrievePublicKeyWithBlobType __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_RetrievePublicKeyWithBlobType
#define IKeyCredential_RequestSignAsync __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_RequestSignAsync
#define IKeyCredential_GetAttestationAsync __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential_GetAttestationAsync
#endif /* WIDL_using_Windows_Security_Credentials */
#endif

#endif

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

/*****************************************************************************
 * IKeyCredentialAttestationResult interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult, 0x78aab3a1, 0xa3c1, 0x4103, 0xb6,0xcc, 0x47,0x2c,0x44,0x17,0x1c,0xbb);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                MIDL_INTERFACE("78aab3a1-a3c1-4103-b6cc-472c44171cbb")
                IKeyCredentialAttestationResult : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_CertificateChainBuffer(
                        ABI::Windows::Storage::Streams::IBuffer **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_AttestationBuffer(
                        ABI::Windows::Storage::Streams::IBuffer **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Status(
                        ABI::Windows::Security::Credentials::KeyCredentialAttestationStatus *value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult, 0x78aab3a1, 0xa3c1, 0x4103, 0xb6,0xcc, 0x47,0x2c,0x44,0x17,0x1c,0xbb)
#endif
#else
typedef struct __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IKeyCredentialAttestationResult methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CertificateChainBuffer)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);

    HRESULT (STDMETHODCALLTYPE *get_AttestationBuffer)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);

    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult *This,
        __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationStatus *value);

    END_INTERFACE
} __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResultVtbl;

interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult {
    CONST_VTBL __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IKeyCredentialAttestationResult methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_get_CertificateChainBuffer(This,value) (This)->lpVtbl->get_CertificateChainBuffer(This,value)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_get_AttestationBuffer(This,value) (This)->lpVtbl->get_AttestationBuffer(This,value)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_get_Status(This,value) (This)->lpVtbl->get_Status(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_QueryInterface(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_AddRef(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_Release(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_GetIids(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_GetRuntimeClassName(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_GetTrustLevel(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IKeyCredentialAttestationResult methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_get_CertificateChainBuffer(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **value) {
    return This->lpVtbl->get_CertificateChainBuffer(This,value);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_get_AttestationBuffer(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **value) {
    return This->lpVtbl->get_AttestationBuffer(This,value);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_get_Status(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult* This,__x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialAttestationStatus *value) {
    return This->lpVtbl->get_Status(This,value);
}
#endif
#ifdef WIDL_using_Windows_Security_Credentials
#define IID_IKeyCredentialAttestationResult IID___x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult
#define IKeyCredentialAttestationResultVtbl __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResultVtbl
#define IKeyCredentialAttestationResult __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult
#define IKeyCredentialAttestationResult_QueryInterface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_QueryInterface
#define IKeyCredentialAttestationResult_AddRef __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_AddRef
#define IKeyCredentialAttestationResult_Release __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_Release
#define IKeyCredentialAttestationResult_GetIids __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_GetIids
#define IKeyCredentialAttestationResult_GetRuntimeClassName __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_GetRuntimeClassName
#define IKeyCredentialAttestationResult_GetTrustLevel __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_GetTrustLevel
#define IKeyCredentialAttestationResult_get_CertificateChainBuffer __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_get_CertificateChainBuffer
#define IKeyCredentialAttestationResult_get_AttestationBuffer __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_get_AttestationBuffer
#define IKeyCredentialAttestationResult_get_Status __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult_get_Status
#endif /* WIDL_using_Windows_Security_Credentials */
#endif

#endif

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

/*****************************************************************************
 * IKeyCredentialManagerStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics, 0x6aac468b, 0x0ef1, 0x4ce0, 0x82,0x90, 0x41,0x06,0xda,0x6a,0x63,0xb5);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                MIDL_INTERFACE("6aac468b-0ef1-4ce0-8290-4106da6a63b5")
                IKeyCredentialManagerStatics : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE IsSupportedAsync(
                        ABI::Windows::Foundation::IAsyncOperation<boolean > **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE RenewAttestationAsync(
                        ABI::Windows::Foundation::IAsyncAction **operation) = 0;

                    virtual HRESULT STDMETHODCALLTYPE RequestCreateAsync(
                        HSTRING name,
                        ABI::Windows::Security::Credentials::KeyCredentialCreationOption option,
                        ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE OpenAsync(
                        HSTRING name,
                        ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE DeleteAsync(
                        HSTRING name,
                        ABI::Windows::Foundation::IAsyncAction **operation) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics, 0x6aac468b, 0x0ef1, 0x4ce0, 0x82,0x90, 0x41,0x06,0xda,0x6a,0x63,0xb5)
#endif
#else
typedef struct __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStaticsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IKeyCredentialManagerStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *IsSupportedAsync)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics *This,
        __FIAsyncOperation_1_boolean **value);

    HRESULT (STDMETHODCALLTYPE *RenewAttestationAsync)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics *This,
        __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);

    HRESULT (STDMETHODCALLTYPE *RequestCreateAsync)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics *This,
        HSTRING name,
        __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialCreationOption option,
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult **value);

    HRESULT (STDMETHODCALLTYPE *OpenAsync)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics *This,
        HSTRING name,
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult **value);

    HRESULT (STDMETHODCALLTYPE *DeleteAsync)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics *This,
        HSTRING name,
        __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);

    END_INTERFACE
} __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStaticsVtbl;

interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics {
    CONST_VTBL __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IKeyCredentialManagerStatics methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_IsSupportedAsync(This,value) (This)->lpVtbl->IsSupportedAsync(This,value)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_RenewAttestationAsync(This,operation) (This)->lpVtbl->RenewAttestationAsync(This,operation)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_RequestCreateAsync(This,name,option,value) (This)->lpVtbl->RequestCreateAsync(This,name,option,value)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_OpenAsync(This,name,value) (This)->lpVtbl->OpenAsync(This,name,value)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_DeleteAsync(This,name,operation) (This)->lpVtbl->DeleteAsync(This,name,operation)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_QueryInterface(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_AddRef(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_Release(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_GetIids(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_GetRuntimeClassName(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_GetTrustLevel(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IKeyCredentialManagerStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_IsSupportedAsync(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics* This,__FIAsyncOperation_1_boolean **value) {
    return This->lpVtbl->IsSupportedAsync(This,value);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_RenewAttestationAsync(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics* This,__x_ABI_CWindows_CFoundation_CIAsyncAction **operation) {
    return This->lpVtbl->RenewAttestationAsync(This,operation);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_RequestCreateAsync(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics* This,HSTRING name,__x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialCreationOption option,__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult **value) {
    return This->lpVtbl->RequestCreateAsync(This,name,option,value);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_OpenAsync(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics* This,HSTRING name,__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult **value) {
    return This->lpVtbl->OpenAsync(This,name,value);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_DeleteAsync(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics* This,HSTRING name,__x_ABI_CWindows_CFoundation_CIAsyncAction **operation) {
    return This->lpVtbl->DeleteAsync(This,name,operation);
}
#endif
#ifdef WIDL_using_Windows_Security_Credentials
#define IID_IKeyCredentialManagerStatics IID___x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics
#define IKeyCredentialManagerStaticsVtbl __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStaticsVtbl
#define IKeyCredentialManagerStatics __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics
#define IKeyCredentialManagerStatics_QueryInterface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_QueryInterface
#define IKeyCredentialManagerStatics_AddRef __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_AddRef
#define IKeyCredentialManagerStatics_Release __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_Release
#define IKeyCredentialManagerStatics_GetIids __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_GetIids
#define IKeyCredentialManagerStatics_GetRuntimeClassName __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_GetRuntimeClassName
#define IKeyCredentialManagerStatics_GetTrustLevel __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_GetTrustLevel
#define IKeyCredentialManagerStatics_IsSupportedAsync __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_IsSupportedAsync
#define IKeyCredentialManagerStatics_RenewAttestationAsync __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_RenewAttestationAsync
#define IKeyCredentialManagerStatics_RequestCreateAsync __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_RequestCreateAsync
#define IKeyCredentialManagerStatics_OpenAsync __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_OpenAsync
#define IKeyCredentialManagerStatics_DeleteAsync __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialManagerStatics_DeleteAsync
#endif /* WIDL_using_Windows_Security_Credentials */
#endif

#endif

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

/*****************************************************************************
 * IKeyCredentialOperationResult interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult, 0xf53786c1, 0x5261, 0x4cdd, 0x97,0x6d, 0xcc,0x90,0x9a,0xc7,0x16,0x20);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                MIDL_INTERFACE("f53786c1-5261-4cdd-976d-cc909ac71620")
                IKeyCredentialOperationResult : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_Result(
                        ABI::Windows::Storage::Streams::IBuffer **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Status(
                        ABI::Windows::Security::Credentials::KeyCredentialStatus *value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult, 0xf53786c1, 0x5261, 0x4cdd, 0x97,0x6d, 0xcc,0x90,0x9a,0xc7,0x16,0x20)
#endif
#else
typedef struct __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IKeyCredentialOperationResult methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Result)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);

    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult *This,
        __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialStatus *value);

    END_INTERFACE
} __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResultVtbl;

interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult {
    CONST_VTBL __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IKeyCredentialOperationResult methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_get_Result(This,value) (This)->lpVtbl->get_Result(This,value)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_get_Status(This,value) (This)->lpVtbl->get_Status(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_QueryInterface(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_AddRef(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_Release(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_GetIids(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_GetRuntimeClassName(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_GetTrustLevel(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IKeyCredentialOperationResult methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_get_Result(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **value) {
    return This->lpVtbl->get_Result(This,value);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_get_Status(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult* This,__x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialStatus *value) {
    return This->lpVtbl->get_Status(This,value);
}
#endif
#ifdef WIDL_using_Windows_Security_Credentials
#define IID_IKeyCredentialOperationResult IID___x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult
#define IKeyCredentialOperationResultVtbl __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResultVtbl
#define IKeyCredentialOperationResult __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult
#define IKeyCredentialOperationResult_QueryInterface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_QueryInterface
#define IKeyCredentialOperationResult_AddRef __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_AddRef
#define IKeyCredentialOperationResult_Release __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_Release
#define IKeyCredentialOperationResult_GetIids __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_GetIids
#define IKeyCredentialOperationResult_GetRuntimeClassName __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_GetRuntimeClassName
#define IKeyCredentialOperationResult_GetTrustLevel __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_GetTrustLevel
#define IKeyCredentialOperationResult_get_Result __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_get_Result
#define IKeyCredentialOperationResult_get_Status __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult_get_Status
#endif /* WIDL_using_Windows_Security_Credentials */
#endif

#endif

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

/*****************************************************************************
 * IKeyCredentialRetrievalResult interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult, 0x58cd7703, 0x8d87, 0x4249, 0x9b,0x58, 0xf6,0x59,0x8c,0xc9,0x64,0x4e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                MIDL_INTERFACE("58cd7703-8d87-4249-9b58-f6598cc9644e")
                IKeyCredentialRetrievalResult : public IInspectable
                {
                    virtual HRESULT STDMETHODCALLTYPE get_Credential(
                        ABI::Windows::Security::Credentials::IKeyCredential **value) = 0;

                    virtual HRESULT STDMETHODCALLTYPE get_Status(
                        ABI::Windows::Security::Credentials::KeyCredentialStatus *value) = 0;

                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult, 0x58cd7703, 0x8d87, 0x4249, 0x9b,0x58, 0xf6,0x59,0x8c,0xc9,0x64,0x4e)
#endif
#else
typedef struct __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IKeyCredentialRetrievalResult methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Credential)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult *This,
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential **value);

    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult *This,
        __x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialStatus *value);

    END_INTERFACE
} __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResultVtbl;

interface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult {
    CONST_VTBL __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IKeyCredentialRetrievalResult methods ***/
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_get_Credential(This,value) (This)->lpVtbl->get_Credential(This,value)
#define __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_get_Status(This,value) (This)->lpVtbl->get_Status(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_QueryInterface(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_AddRef(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_Release(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_GetIids(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_GetRuntimeClassName(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_GetTrustLevel(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IKeyCredentialRetrievalResult methods ***/
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_get_Credential(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult* This,__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredential **value) {
    return This->lpVtbl->get_Credential(This,value);
}
static inline HRESULT __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_get_Status(__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult* This,__x_ABI_CWindows_CSecurity_CCredentials_CKeyCredentialStatus *value) {
    return This->lpVtbl->get_Status(This,value);
}
#endif
#ifdef WIDL_using_Windows_Security_Credentials
#define IID_IKeyCredentialRetrievalResult IID___x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult
#define IKeyCredentialRetrievalResultVtbl __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResultVtbl
#define IKeyCredentialRetrievalResult __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult
#define IKeyCredentialRetrievalResult_QueryInterface __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_QueryInterface
#define IKeyCredentialRetrievalResult_AddRef __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_AddRef
#define IKeyCredentialRetrievalResult_Release __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_Release
#define IKeyCredentialRetrievalResult_GetIids __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_GetIids
#define IKeyCredentialRetrievalResult_GetRuntimeClassName __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_GetRuntimeClassName
#define IKeyCredentialRetrievalResult_GetTrustLevel __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_GetTrustLevel
#define IKeyCredentialRetrievalResult_get_Credential __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_get_Credential
#define IKeyCredentialRetrievalResult_get_Status __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult_get_Status
#endif /* WIDL_using_Windows_Security_Credentials */
#endif

#endif

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

/*
 * Class Windows.Security.Credentials.KeyCredential
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Security_Credentials_KeyCredential_DEFINED
#define RUNTIMECLASS_Windows_Security_Credentials_KeyCredential_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredential[] = {'W','i','n','d','o','w','s','.','S','e','c','u','r','i','t','y','.','C','r','e','d','e','n','t','i','a','l','s','.','K','e','y','C','r','e','d','e','n','t','i','a','l',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredential[] = L"Windows.Security.Credentials.KeyCredential";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredential[] = {'W','i','n','d','o','w','s','.','S','e','c','u','r','i','t','y','.','C','r','e','d','e','n','t','i','a','l','s','.','K','e','y','C','r','e','d','e','n','t','i','a','l',0};
#endif
#endif /* RUNTIMECLASS_Windows_Security_Credentials_KeyCredential_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Security.Credentials.KeyCredentialAttestationResult
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialAttestationResult_DEFINED
#define RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialAttestationResult_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialAttestationResult[] = {'W','i','n','d','o','w','s','.','S','e','c','u','r','i','t','y','.','C','r','e','d','e','n','t','i','a','l','s','.','K','e','y','C','r','e','d','e','n','t','i','a','l','A','t','t','e','s','t','a','t','i','o','n','R','e','s','u','l','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialAttestationResult[] = L"Windows.Security.Credentials.KeyCredentialAttestationResult";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialAttestationResult[] = {'W','i','n','d','o','w','s','.','S','e','c','u','r','i','t','y','.','C','r','e','d','e','n','t','i','a','l','s','.','K','e','y','C','r','e','d','e','n','t','i','a','l','A','t','t','e','s','t','a','t','i','o','n','R','e','s','u','l','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialAttestationResult_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Security.Credentials.KeyCredentialManager
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialManager_DEFINED
#define RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialManager_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialManager[] = {'W','i','n','d','o','w','s','.','S','e','c','u','r','i','t','y','.','C','r','e','d','e','n','t','i','a','l','s','.','K','e','y','C','r','e','d','e','n','t','i','a','l','M','a','n','a','g','e','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialManager[] = L"Windows.Security.Credentials.KeyCredentialManager";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialManager[] = {'W','i','n','d','o','w','s','.','S','e','c','u','r','i','t','y','.','C','r','e','d','e','n','t','i','a','l','s','.','K','e','y','C','r','e','d','e','n','t','i','a','l','M','a','n','a','g','e','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialManager_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Security.Credentials.KeyCredentialOperationResult
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialOperationResult_DEFINED
#define RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialOperationResult_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialOperationResult[] = {'W','i','n','d','o','w','s','.','S','e','c','u','r','i','t','y','.','C','r','e','d','e','n','t','i','a','l','s','.','K','e','y','C','r','e','d','e','n','t','i','a','l','O','p','e','r','a','t','i','o','n','R','e','s','u','l','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialOperationResult[] = L"Windows.Security.Credentials.KeyCredentialOperationResult";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialOperationResult[] = {'W','i','n','d','o','w','s','.','S','e','c','u','r','i','t','y','.','C','r','e','d','e','n','t','i','a','l','s','.','K','e','y','C','r','e','d','e','n','t','i','a','l','O','p','e','r','a','t','i','o','n','R','e','s','u','l','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialOperationResult_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*
 * Class Windows.Security.Credentials.KeyCredentialRetrievalResult
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialRetrievalResult_DEFINED
#define RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialRetrievalResult_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialRetrievalResult[] = {'W','i','n','d','o','w','s','.','S','e','c','u','r','i','t','y','.','C','r','e','d','e','n','t','i','a','l','s','.','K','e','y','C','r','e','d','e','n','t','i','a','l','R','e','t','r','i','e','v','a','l','R','e','s','u','l','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialRetrievalResult[] = L"Windows.Security.Credentials.KeyCredentialRetrievalResult";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Security_Credentials_KeyCredentialRetrievalResult[] = {'W','i','n','d','o','w','s','.','S','e','c','u','r','i','t','y','.','C','r','e','d','e','n','t','i','a','l','s','.','K','e','y','C','r','e','d','e','n','t','i','a','l','R','e','t','r','i','e','v','a','l','R','e','s','u','l','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Security_Credentials_KeyCredentialRetrievalResult_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult, 0x2c16e103, 0xf783, 0x5dd9, 0xa5,0xf3, 0x33,0x62,0xbc,0xbd,0xaa,0xbd);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("2c16e103-f783-5dd9-a5f3-3362bcbdaabd")
            IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult*, ABI::Windows::Security::Credentials::IKeyCredentialAttestationResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult, 0x2c16e103, 0xf783, 0x5dd9, 0xa5,0xf3, 0x33,0x62,0xbc,0xbd,0xaa,0xbd)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResultVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult *This,
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_Release(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This,__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_KeyCredentialAttestationResult IID___FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult
#define IAsyncOperationCompletedHandler_KeyCredentialAttestationResultVtbl __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResultVtbl
#define IAsyncOperationCompletedHandler_KeyCredentialAttestationResult __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult
#define IAsyncOperationCompletedHandler_KeyCredentialAttestationResult_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_QueryInterface
#define IAsyncOperationCompletedHandler_KeyCredentialAttestationResult_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_AddRef
#define IAsyncOperationCompletedHandler_KeyCredentialAttestationResult_Release __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_Release
#define IAsyncOperationCompletedHandler_KeyCredentialAttestationResult_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult, 0x39b4609a, 0x0202, 0x55fa, 0x80,0x05, 0x6f,0x83,0x70,0x9e,0x20,0xf3);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("39b4609a-0202-55fa-8005-6f83709e20f3")
            IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Security::Credentials::KeyCredentialOperationResult*, ABI::Windows::Security::Credentials::IKeyCredentialOperationResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult, 0x39b4609a, 0x0202, 0x55fa, 0x80,0x05, 0x6f,0x83,0x70,0x9e,0x20,0xf3)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResultVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult *This,
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_Release(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This,__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_KeyCredentialOperationResult IID___FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult
#define IAsyncOperationCompletedHandler_KeyCredentialOperationResultVtbl __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResultVtbl
#define IAsyncOperationCompletedHandler_KeyCredentialOperationResult __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult
#define IAsyncOperationCompletedHandler_KeyCredentialOperationResult_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_QueryInterface
#define IAsyncOperationCompletedHandler_KeyCredentialOperationResult_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_AddRef
#define IAsyncOperationCompletedHandler_KeyCredentialOperationResult_Release __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_Release
#define IAsyncOperationCompletedHandler_KeyCredentialOperationResult_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult, 0x03ea60b1, 0xa874, 0x58ce, 0x8e,0x8e, 0xff,0xf4,0x48,0xb6,0x73,0x3e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("03ea60b1-a874-58ce-8e8e-fff448b6733e")
            IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult*, ABI::Windows::Security::Credentials::IKeyCredentialRetrievalResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult, 0x03ea60b1, 0xa874, 0x58ce, 0x8e,0x8e, 0xff,0xf4,0x48,0xb6,0x73,0x3e)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResultVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult *This,
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_Release(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This,__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_KeyCredentialRetrievalResult IID___FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult
#define IAsyncOperationCompletedHandler_KeyCredentialRetrievalResultVtbl __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResultVtbl
#define IAsyncOperationCompletedHandler_KeyCredentialRetrievalResult __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult
#define IAsyncOperationCompletedHandler_KeyCredentialRetrievalResult_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_QueryInterface
#define IAsyncOperationCompletedHandler_KeyCredentialRetrievalResult_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_AddRef
#define IAsyncOperationCompletedHandler_KeyCredentialRetrievalResult_Release __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_Release
#define IAsyncOperationCompletedHandler_KeyCredentialRetrievalResult_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult, 0xb83d29e9, 0xf4e4, 0x5aa4, 0x92,0xd5, 0xb2,0x62,0xcb,0x40,0xc6,0x22);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("b83d29e9-f4e4-5aa4-92d5-b262cb40c622")
            IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult*, ABI::Windows::Security::Credentials::IKeyCredentialAttestationResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult, 0xb83d29e9, 0xf4e4, 0x5aa4, 0x92,0xd5, 0xb2,0x62,0xcb,0x40,0xc6,0x22)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult *This,
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResultVtbl;

interface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult {
    CONST_VTBL __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* > methods ***/
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_QueryInterface(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_AddRef(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_Release(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetIids(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetTrustLevel(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialAttestationResult* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_put_Completed(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_get_Completed(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetResults(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult* This,__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialAttestationResult **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_KeyCredentialAttestationResult IID___FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult
#define IAsyncOperation_KeyCredentialAttestationResultVtbl __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResultVtbl
#define IAsyncOperation_KeyCredentialAttestationResult __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult
#define IAsyncOperation_KeyCredentialAttestationResult_QueryInterface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_QueryInterface
#define IAsyncOperation_KeyCredentialAttestationResult_AddRef __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_AddRef
#define IAsyncOperation_KeyCredentialAttestationResult_Release __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_Release
#define IAsyncOperation_KeyCredentialAttestationResult_GetIids __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetIids
#define IAsyncOperation_KeyCredentialAttestationResult_GetRuntimeClassName __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetRuntimeClassName
#define IAsyncOperation_KeyCredentialAttestationResult_GetTrustLevel __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetTrustLevel
#define IAsyncOperation_KeyCredentialAttestationResult_put_Completed __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_put_Completed
#define IAsyncOperation_KeyCredentialAttestationResult_get_Completed __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_get_Completed
#define IAsyncOperation_KeyCredentialAttestationResult_GetResults __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialAttestationResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult, 0x6576e5b3, 0x9535, 0x50d6, 0x98,0xf6, 0xc6,0x7d,0x6a,0xac,0xa2,0xc5);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("6576e5b3-9535-50d6-98f6-c67d6aaca2c5")
            IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Security::Credentials::KeyCredentialOperationResult*, ABI::Windows::Security::Credentials::IKeyCredentialOperationResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult, 0x6576e5b3, 0x9535, 0x50d6, 0x98,0xf6, 0xc6,0x7d,0x6a,0xac,0xa2,0xc5)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult *This,
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResultVtbl;

interface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult {
    CONST_VTBL __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* > methods ***/
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_QueryInterface(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_AddRef(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_Release(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetIids(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetTrustLevel(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialOperationResult* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_put_Completed(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_get_Completed(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetResults(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult* This,__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialOperationResult **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_KeyCredentialOperationResult IID___FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult
#define IAsyncOperation_KeyCredentialOperationResultVtbl __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResultVtbl
#define IAsyncOperation_KeyCredentialOperationResult __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult
#define IAsyncOperation_KeyCredentialOperationResult_QueryInterface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_QueryInterface
#define IAsyncOperation_KeyCredentialOperationResult_AddRef __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_AddRef
#define IAsyncOperation_KeyCredentialOperationResult_Release __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_Release
#define IAsyncOperation_KeyCredentialOperationResult_GetIids __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetIids
#define IAsyncOperation_KeyCredentialOperationResult_GetRuntimeClassName __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetRuntimeClassName
#define IAsyncOperation_KeyCredentialOperationResult_GetTrustLevel __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetTrustLevel
#define IAsyncOperation_KeyCredentialOperationResult_put_Completed __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_put_Completed
#define IAsyncOperation_KeyCredentialOperationResult_get_Completed __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_get_Completed
#define IAsyncOperation_KeyCredentialOperationResult_GetResults __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialOperationResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult, 0x89d0ad1e, 0xbd4c, 0x55b4, 0x81,0x0e, 0xbd,0xdd,0x4c,0xec,0x7a,0x2a);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("89d0ad1e-bd4c-55b4-810e-bddd4cec7a2a")
            IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult*, ABI::Windows::Security::Credentials::IKeyCredentialRetrievalResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult, 0x89d0ad1e, 0xbd4c, 0x55b4, 0x81,0x0e, 0xbd,0xdd,0x4c,0xec,0x7a,0x2a)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult *This,
        __x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResultVtbl;

interface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult {
    CONST_VTBL __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > methods ***/
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_QueryInterface(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_AddRef(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_Release(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetIids(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetTrustLevel(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Security::Credentials::KeyCredentialRetrievalResult* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_put_Completed(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_get_Completed(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetResults(__FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult* This,__x_ABI_CWindows_CSecurity_CCredentials_CIKeyCredentialRetrievalResult **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_KeyCredentialRetrievalResult IID___FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult
#define IAsyncOperation_KeyCredentialRetrievalResultVtbl __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResultVtbl
#define IAsyncOperation_KeyCredentialRetrievalResult __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult
#define IAsyncOperation_KeyCredentialRetrievalResult_QueryInterface __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_QueryInterface
#define IAsyncOperation_KeyCredentialRetrievalResult_AddRef __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_AddRef
#define IAsyncOperation_KeyCredentialRetrievalResult_Release __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_Release
#define IAsyncOperation_KeyCredentialRetrievalResult_GetIids __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetIids
#define IAsyncOperation_KeyCredentialRetrievalResult_GetRuntimeClassName __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetRuntimeClassName
#define IAsyncOperation_KeyCredentialRetrievalResult_GetTrustLevel __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetTrustLevel
#define IAsyncOperation_KeyCredentialRetrievalResult_put_Completed __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_put_Completed
#define IAsyncOperation_KeyCredentialRetrievalResult_get_Completed __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_get_Completed
#define IAsyncOperation_KeyCredentialRetrievalResult_GetResults __FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CSecurity__CCredentials__CKeyCredentialRetrievalResult_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */

ULONG           __RPC_USER HSTRING_UserSize     (ULONG *, ULONG, HSTRING *);
unsigned char * __RPC_USER HSTRING_UserMarshal  (ULONG *, unsigned char *, HSTRING *);
unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
void            __RPC_USER HSTRING_UserFree     (ULONG *, HSTRING *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __windows_security_credentials_h__ */
