/*** Autogenerated by WIDL 11.6 from include/windows.devices.bluetooth.genericattributeprofile.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_devices_bluetooth_genericattributeprofile_h__
#define __windows_devices_bluetooth_genericattributeprofile_h__

/* Forward declarations */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceService;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceService2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService3
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceService3;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceServiceStatics
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceServiceStatics;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceServiceStatics2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceServiceStatics2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDeviceService_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDeviceService_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattDeviceService;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDeviceService __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDeviceService;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDeviceService_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceServicesResult
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceServicesResult;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDeviceServicesResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDeviceServicesResult_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattDeviceServicesResult;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDeviceServicesResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDeviceServicesResult;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDeviceServicesResult_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSession
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattSession;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSessionStatics
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattSessionStatics;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSession_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSession_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattSession;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSession __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSession;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSession_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSessionStatusChangedEventArgs
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattSessionStatusChangedEventArgs;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatusChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatusChangedEventArgs_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattSessionStatusChangedEventArgs;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatusChangedEventArgs __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatusChangedEventArgs;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatusChangedEventArgs_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattCharacteristic;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattCharacteristic2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic3
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattCharacteristic3;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristicStatics
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattCharacteristicStatics;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristic_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristic_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattCharacteristic;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristic __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristic;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristic_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristicsResult
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattCharacteristicsResult;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicsResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicsResult_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattCharacteristicsResult;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicsResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicsResult;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicsResult_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptor
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDescriptor;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptor2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDescriptor2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptorStatics
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDescriptorStatics;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDescriptor_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDescriptor_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattDescriptor;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDescriptor __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDescriptor;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDescriptor_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptorsResult
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDescriptorsResult;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDescriptorsResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDescriptorsResult_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattDescriptorsResult;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDescriptorsResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDescriptorsResult;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattDescriptorsResult_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattValueChangedEventArgs
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattValueChangedEventArgs;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattValueChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattValueChangedEventArgs_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattValueChangedEventArgs;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattValueChangedEventArgs __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattValueChangedEventArgs;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattValueChangedEventArgs_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadResult
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattReadResult;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattReadResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattReadResult_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattReadResult;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattReadResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattReadResult;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattReadResult_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattWriteResult
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattWriteResult;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteResult_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattWriteResult;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteResult;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteResult_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadClientCharacteristicConfigurationDescriptorResult
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattReadClientCharacteristicConfigurationDescriptorResult;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadClientCharacteristicConfigurationDescriptorResult2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattReadClientCharacteristicConfigurationDescriptorResult2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattReadClientCharacteristicConfigurationDescriptorResult;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattReadClientCharacteristicConfigurationDescriptorResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattReadClientCharacteristicConfigurationDescriptorResult;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__ */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattPresentationFormat
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattPresentationFormat;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattPresentationFormat_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattPresentationFormat_FWD_DEFINED__
#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    class GattPresentationFormat;
                }
            }
        }
    }
}
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattPresentationFormat __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattPresentationFormat;
#endif /* defined __cplusplus */
#endif /* defined ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattPresentationFormat_FWD_DEFINED__ */

#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_GattCommunicationStatus_FWD_DEFINED__
#define ____FIAsyncOperation_1_GattCommunicationStatus_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_GattCommunicationStatus __FIAsyncOperation_1_GattCommunicationStatus;
#ifdef __cplusplus
#define __FIAsyncOperation_1_GattCommunicationStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceAccessStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_DeviceAccessStatus_FWD_DEFINED__
#define ____FIAsyncOperation_1_DeviceAccessStatus_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_DeviceAccessStatus __FIAsyncOperation_1_DeviceAccessStatus;
#ifdef __cplusplus
#define __FIAsyncOperation_1_DeviceAccessStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceAccessStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_GattOpenStatus_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_GattOpenStatus_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_GattOpenStatus __FIAsyncOperationCompletedHandler_1_GattOpenStatus;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_GattOpenStatus ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_GattOpenStatus_FWD_DEFINED__
#define ____FIAsyncOperation_1_GattOpenStatus_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_GattOpenStatus __FIAsyncOperation_1_GattOpenStatus;
#ifdef __cplusplus
#define __FIAsyncOperation_1_GattOpenStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult;
#ifdef __cplusplus
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattValueChangedEventArgs* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatusChangedEventArgs* >
#endif /* __cplusplus */
#endif

#ifndef ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable;
#ifdef __cplusplus
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,IInspectable* >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_BYTE_FWD_DEFINED__
#define ____FIReference_1_BYTE_FWD_DEFINED__
typedef interface __FIReference_1_BYTE __FIReference_1_BYTE;
#ifdef __cplusplus
#define __FIReference_1_BYTE ABI::Windows::Foundation::IReference<BYTE >
#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.storage.streams.h>
#include <windows.devices.bluetooth.h>
#include <windows.devices.enumeration.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_CDevices_CBluetooth_CBluetoothCacheMode_ENUM_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                enum BluetoothCacheMode {
                    BluetoothCacheMode_Cached = 0,
                    BluetoothCacheMode_Uncached = 1
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode {
    BluetoothCacheMode_Cached = 0,
    BluetoothCacheMode_Uncached = 1
};
#ifdef WIDL_using_Windows_Devices_Bluetooth
#define BluetoothCacheMode __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode
#endif /* WIDL_using_Windows_Devices_Bluetooth */
#endif

#endif /* ____x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CBluetoothError_ENUM_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CBluetoothError_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                enum BluetoothError {
                    BluetoothError_Success = 0,
                    BluetoothError_RadioNotAvailable = 1,
                    BluetoothError_ResourceInUse = 2,
                    BluetoothError_DeviceNotConnected = 3,
                    BluetoothError_OtherError = 4,
                    BluetoothError_DisabledByPolicy = 5,
                    BluetoothError_NotSupported = 6,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
                    BluetoothError_DisabledByUser = 7,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    BluetoothError_ConsentRequired = 8,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
                    BluetoothError_TransportNotSupported = 9
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */
                };
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothError {
    BluetoothError_Success = 0,
    BluetoothError_RadioNotAvailable = 1,
    BluetoothError_ResourceInUse = 2,
    BluetoothError_DeviceNotConnected = 3,
    BluetoothError_OtherError = 4,
    BluetoothError_DisabledByPolicy = 5,
    BluetoothError_NotSupported = 6,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000
    BluetoothError_DisabledByUser = 7,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    BluetoothError_ConsentRequired = 8,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
    BluetoothError_TransportNotSupported = 9
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */
};
#ifdef WIDL_using_Windows_Devices_Bluetooth
#define BluetoothError __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothError
#endif /* WIDL_using_Windows_Devices_Bluetooth */
#endif

#endif /* ____x_ABI_CWindows_CDevices_CBluetooth_CBluetoothError_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothError __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothError;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus_ENUM_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    enum GattCommunicationStatus {
                        GattCommunicationStatus_Success = 0,
                        GattCommunicationStatus_Unreachable = 1,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
                        GattCommunicationStatus_ProtocolError = 2,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
                        GattCommunicationStatus_AccessDenied = 3
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */
                    };
                }
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus {
    GattCommunicationStatus_Success = 0,
    GattCommunicationStatus_Unreachable = 1,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
    GattCommunicationStatus_ProtocolError = 2,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
    GattCommunicationStatus_AccessDenied = 3
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */
};
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define GattCommunicationStatus __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicProperties_ENUM_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicProperties_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    enum GattCharacteristicProperties {
                        GattCharacteristicProperties_None = 0x0,
                        GattCharacteristicProperties_Broadcast = 0x1,
                        GattCharacteristicProperties_Read = 0x2,
                        GattCharacteristicProperties_WriteWithoutResponse = 0x4,
                        GattCharacteristicProperties_Write = 0x8,
                        GattCharacteristicProperties_Notify = 0x10,
                        GattCharacteristicProperties_Indicate = 0x20,
                        GattCharacteristicProperties_AuthenticatedSignedWrites = 0x40,
                        GattCharacteristicProperties_ExtendedProperties = 0x80,
                        GattCharacteristicProperties_ReliableWrites = 0x100,
                        GattCharacteristicProperties_WritableAuxiliaries = 0x200
                    };
                }
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicProperties {
    GattCharacteristicProperties_None = 0x0,
    GattCharacteristicProperties_Broadcast = 0x1,
    GattCharacteristicProperties_Read = 0x2,
    GattCharacteristicProperties_WriteWithoutResponse = 0x4,
    GattCharacteristicProperties_Write = 0x8,
    GattCharacteristicProperties_Notify = 0x10,
    GattCharacteristicProperties_Indicate = 0x20,
    GattCharacteristicProperties_AuthenticatedSignedWrites = 0x40,
    GattCharacteristicProperties_ExtendedProperties = 0x80,
    GattCharacteristicProperties_ReliableWrites = 0x100,
    GattCharacteristicProperties_WritableAuxiliaries = 0x200
};
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define GattCharacteristicProperties __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicProperties
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicProperties_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicProperties __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicProperties;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel_ENUM_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    enum GattProtectionLevel {
                        GattProtectionLevel_Plain = 0,
                        GattProtectionLevel_AuthenticationRequired = 1,
                        GattProtectionLevel_EncryptionRequired = 2,
                        GattProtectionLevel_EncryptionAndAuthenticationRequired = 3
                    };
                }
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel {
    GattProtectionLevel_Plain = 0,
    GattProtectionLevel_AuthenticationRequired = 1,
    GattProtectionLevel_EncryptionRequired = 2,
    GattProtectionLevel_EncryptionAndAuthenticationRequired = 3
};
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define GattProtectionLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteOption_ENUM_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteOption_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    enum GattWriteOption {
                        GattWriteOption_WriteWithResponse = 0,
                        GattWriteOption_WriteWithoutResponse = 1
                    };
                }
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteOption {
    GattWriteOption_WriteWithResponse = 0,
    GattWriteOption_WriteWithoutResponse = 1
};
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define GattWriteOption __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteOption
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteOption_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteOption __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteOption;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue_ENUM_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    enum GattClientCharacteristicConfigurationDescriptorValue {
                        GattClientCharacteristicConfigurationDescriptorValue_None = 0,
                        GattClientCharacteristicConfigurationDescriptorValue_Notify = 1,
                        GattClientCharacteristicConfigurationDescriptorValue_Indicate = 2
                    };
                }
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue {
    GattClientCharacteristicConfigurationDescriptorValue_None = 0,
    GattClientCharacteristicConfigurationDescriptorValue_Notify = 1,
    GattClientCharacteristicConfigurationDescriptorValue_Indicate = 2
};
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define GattClientCharacteristicConfigurationDescriptorValue __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode_ENUM_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    enum GattSharingMode {
                        GattSharingMode_Unspecified = 0,
                        GattSharingMode_Exclusive = 1,
                        GattSharingMode_SharedReadOnly = 2,
                        GattSharingMode_SharedReadAndWrite = 3
                    };
                }
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode {
    GattSharingMode_Unspecified = 0,
    GattSharingMode_Exclusive = 1,
    GattSharingMode_SharedReadOnly = 2,
    GattSharingMode_SharedReadAndWrite = 3
};
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define GattSharingMode __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattOpenStatus_ENUM_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattOpenStatus_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    enum GattOpenStatus {
                        GattOpenStatus_Unspecified = 0,
                        GattOpenStatus_Success = 1,
                        GattOpenStatus_AlreadyOpened = 2,
                        GattOpenStatus_NotFound = 3,
                        GattOpenStatus_SharingViolation = 4,
                        GattOpenStatus_AccessDenied = 5
                    };
                }
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattOpenStatus {
    GattOpenStatus_Unspecified = 0,
    GattOpenStatus_Success = 1,
    GattOpenStatus_AlreadyOpened = 2,
    GattOpenStatus_NotFound = 3,
    GattOpenStatus_SharingViolation = 4,
    GattOpenStatus_AccessDenied = 5
};
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define GattOpenStatus __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattOpenStatus
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattOpenStatus_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattOpenStatus __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattOpenStatus;
#endif /* __cplusplus */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatus_ENUM_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatus_ENUM_DEFINED__
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    enum GattSessionStatus {
                        GattSessionStatus_Closed = 0,
                        GattSessionStatus_Active = 1
                    };
                }
            }
        }
    }
}
extern "C" {
#else
enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatus {
    GattSessionStatus_Closed = 0,
    GattSessionStatus_Active = 1
};
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define GattSessionStatus __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatus
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatus_ENUM_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatus __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatus;
#endif /* __cplusplus */

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceService;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceService2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService3
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceService3;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceServiceStatics
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceServiceStatics;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceServiceStatics2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceServiceStatics2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceServicesResult
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDeviceServicesResult;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSession
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattSession;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSessionStatusChangedEventArgs
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattSessionStatusChangedEventArgs;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSessionStatics
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattSessionStatics;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattCharacteristic;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattCharacteristic2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic3
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattCharacteristic3;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristicStatics
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattCharacteristicStatics;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptorsResult
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDescriptorsResult;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptor
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDescriptor;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptor2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDescriptor2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptorStatics
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattDescriptorStatics;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattValueChangedEventArgs
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattValueChangedEventArgs;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadResult
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattReadResult;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadResult2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattReadResult2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattWriteResult
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattWriteResult;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadClientCharacteristicConfigurationDescriptorResult
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattReadClientCharacteristicConfigurationDescriptorResult;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadClientCharacteristicConfigurationDescriptorResult2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattReadClientCharacteristicConfigurationDescriptorResult2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattPresentationFormat
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattPresentationFormat;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatStatics;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatStatics ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattPresentationFormatStatics
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattPresentationFormatStatics;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatStatics2_FWD_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatStatics2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatStatics2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatStatics2;
#ifdef __cplusplus
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatStatics2 ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattPresentationFormatStatics2
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    interface IGattPresentationFormatStatics2;
                }
            }
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService;
#ifdef __cplusplus
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* >
#endif /* __cplusplus */
#endif

#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService;
#ifdef __cplusplus
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* >
#endif /* __cplusplus */
#endif

#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService;
#ifdef __cplusplus
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_GattCommunicationStatus_FWD_DEFINED__
#define ____FIAsyncOperation_1_GattCommunicationStatus_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_GattCommunicationStatus __FIAsyncOperation_1_GattCommunicationStatus;
#ifdef __cplusplus
#define __FIAsyncOperation_1_GattCommunicationStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_DeviceAccessStatus_FWD_DEFINED__
#define ____FIAsyncOperation_1_DeviceAccessStatus_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_DeviceAccessStatus __FIAsyncOperation_1_DeviceAccessStatus;
#ifdef __cplusplus
#define __FIAsyncOperation_1_DeviceAccessStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceAccessStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_GattOpenStatus_FWD_DEFINED__
#define ____FIAsyncOperation_1_GattOpenStatus_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_GattOpenStatus __FIAsyncOperation_1_GattOpenStatus;
#ifdef __cplusplus
#define __FIAsyncOperation_1_GattOpenStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* >
#endif /* __cplusplus */
#endif

#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult;
#ifdef __cplusplus
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* >
#endif /* __cplusplus */
#endif

#ifndef ____FIReference_1_BYTE_FWD_DEFINED__
#define ____FIReference_1_BYTE_FWD_DEFINED__
typedef interface __FIReference_1_BYTE __FIReference_1_BYTE;
#ifdef __cplusplus
#define __FIReference_1_BYTE ABI::Windows::Foundation::IReference<BYTE >
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IGattDeviceService interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService, 0xac7b7c05, 0xb33c, 0x47cf, 0x99,0x0f, 0x6b,0x8f,0x55,0x77,0xdf,0x71);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("ac7b7c05-b33c-47cf-990f-6b8f5577df71")
                    IGattDeviceService : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE GetCharacteristics(
                            GUID uuid,
                            ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetIncludedServices(
                            GUID uuid,
                            ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_DeviceId(
                            HSTRING *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Uuid(
                            GUID *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_AttributeHandle(
                            UINT16 *value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService, 0xac7b7c05, 0xb33c, 0x47cf, 0x99,0x0f, 0x6b,0x8f,0x55,0x77,0xdf,0x71)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattDeviceService methods ***/
    HRESULT (STDMETHODCALLTYPE *GetCharacteristics)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService *This,
        GUID uuid,
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic **value);

    HRESULT (STDMETHODCALLTYPE *GetIncludedServices)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService *This,
        GUID uuid,
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **value);

    HRESULT (STDMETHODCALLTYPE *get_DeviceId)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Uuid)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService *This,
        GUID *value);

    HRESULT (STDMETHODCALLTYPE *get_AttributeHandle)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService *This,
        UINT16 *value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattDeviceService methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetCharacteristics(This,uuid,value) (This)->lpVtbl->GetCharacteristics(This,uuid,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetIncludedServices(This,uuid,value) (This)->lpVtbl->GetIncludedServices(This,uuid,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_get_DeviceId(This,value) (This)->lpVtbl->get_DeviceId(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_get_Uuid(This,value) (This)->lpVtbl->get_Uuid(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_get_AttributeHandle(This,value) (This)->lpVtbl->get_AttributeHandle(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattDeviceService methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetCharacteristics(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService* This,GUID uuid,__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic **value) {
    return This->lpVtbl->GetCharacteristics(This,uuid,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetIncludedServices(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService* This,GUID uuid,__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **value) {
    return This->lpVtbl->GetIncludedServices(This,uuid,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_get_DeviceId(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService* This,HSTRING *value) {
    return This->lpVtbl->get_DeviceId(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_get_Uuid(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService* This,GUID *value) {
    return This->lpVtbl->get_Uuid(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_get_AttributeHandle(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService* This,UINT16 *value) {
    return This->lpVtbl->get_AttributeHandle(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattDeviceService IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService
#define IGattDeviceServiceVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceVtbl
#define IGattDeviceService __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService
#define IGattDeviceService_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_QueryInterface
#define IGattDeviceService_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_AddRef
#define IGattDeviceService_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_Release
#define IGattDeviceService_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetIids
#define IGattDeviceService_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetRuntimeClassName
#define IGattDeviceService_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetTrustLevel
#define IGattDeviceService_GetCharacteristics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetCharacteristics
#define IGattDeviceService_GetIncludedServices __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_GetIncludedServices
#define IGattDeviceService_get_DeviceId __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_get_DeviceId
#define IGattDeviceService_get_Uuid __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_get_Uuid
#define IGattDeviceService_get_AttributeHandle __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService_get_AttributeHandle
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*****************************************************************************
 * IGattDeviceService2 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2, 0xfc54520b, 0x0b0d, 0x4708, 0xba,0xe0, 0x9f,0xfd,0x94,0x89,0xbc,0x59);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("fc54520b-0b0d-4708-bae0-9ffd9489bc59")
                    IGattDeviceService2 : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_Device(
                            ABI::Windows::Devices::Bluetooth::IBluetoothLEDevice **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_ParentServices(
                            ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetAllCharacteristics(
                            ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetAllIncludedServices(
                            ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > **value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2, 0xfc54520b, 0x0b0d, 0x4708, 0xba,0xe0, 0x9f,0xfd,0x94,0x89,0xbc,0x59)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattDeviceService2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Device)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothLEDevice **value);

    HRESULT (STDMETHODCALLTYPE *get_ParentServices)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2 *This,
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **value);

    HRESULT (STDMETHODCALLTYPE *GetAllCharacteristics)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2 *This,
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic **value);

    HRESULT (STDMETHODCALLTYPE *GetAllIncludedServices)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2 *This,
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2Vtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2 {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattDeviceService2 methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_get_Device(This,value) (This)->lpVtbl->get_Device(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_get_ParentServices(This,value) (This)->lpVtbl->get_ParentServices(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetAllCharacteristics(This,value) (This)->lpVtbl->GetAllCharacteristics(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetAllIncludedServices(This,value) (This)->lpVtbl->GetAllIncludedServices(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattDeviceService2 methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_get_Device(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2* This,__x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothLEDevice **value) {
    return This->lpVtbl->get_Device(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_get_ParentServices(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2* This,__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **value) {
    return This->lpVtbl->get_ParentServices(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetAllCharacteristics(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2* This,__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic **value) {
    return This->lpVtbl->GetAllCharacteristics(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetAllIncludedServices(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2* This,__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **value) {
    return This->lpVtbl->GetAllIncludedServices(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattDeviceService2 IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2
#define IGattDeviceService2Vtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2Vtbl
#define IGattDeviceService2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2
#define IGattDeviceService2_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_QueryInterface
#define IGattDeviceService2_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_AddRef
#define IGattDeviceService2_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_Release
#define IGattDeviceService2_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetIids
#define IGattDeviceService2_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetRuntimeClassName
#define IGattDeviceService2_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetTrustLevel
#define IGattDeviceService2_get_Device __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_get_Device
#define IGattDeviceService2_get_ParentServices __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_get_ParentServices
#define IGattDeviceService2_GetAllCharacteristics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetAllCharacteristics
#define IGattDeviceService2_GetAllIncludedServices __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService2_GetAllIncludedServices
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*****************************************************************************
 * IGattDeviceService3 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3, 0xb293a950, 0x0c53, 0x437c, 0xa9,0xb3, 0x5c,0x32,0x10,0xc6,0xe5,0x69);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("b293a950-0c53-437c-a9b3-5c3210c6e569")
                    IGattDeviceService3 : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_DeviceAccessInformation(
                            ABI::Windows::Devices::Enumeration::IDeviceAccessInformation **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Session(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSession **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_SharingMode(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSharingMode *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE RequestAccessAsync(
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceAccessStatus > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE OpenAsync(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSharingMode mode,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetCharacteristicsAsync(
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetCharacteristicsWithCacheModeAsync(
                            ABI::Windows::Devices::Bluetooth::BluetoothCacheMode mode,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetCharacteristicsForUuidAsync(
                            GUID uuid,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetCharacteristicsForUuidWithCacheModeAsync(
                            GUID uuid,
                            ABI::Windows::Devices::Bluetooth::BluetoothCacheMode mode,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetIncludedServicesAsync(
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetIncludedServicesWithCacheModeAsync(
                            ABI::Windows::Devices::Bluetooth::BluetoothCacheMode mode,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetIncludedServicesForUuidAsync(
                            GUID uuid,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetIncludedServicesForUuidWithCacheModeAsync(
                            GUID uuid,
                            ABI::Windows::Devices::Bluetooth::BluetoothCacheMode mode,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > **async) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3, 0xb293a950, 0x0c53, 0x437c, 0xa9,0xb3, 0x5c,0x32,0x10,0xc6,0xe5,0x69)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattDeviceService3 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_DeviceAccessInformation)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        __x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation **value);

    HRESULT (STDMETHODCALLTYPE *get_Session)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession **value);

    HRESULT (STDMETHODCALLTYPE *get_SharingMode)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode *value);

    HRESULT (STDMETHODCALLTYPE *RequestAccessAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        __FIAsyncOperation_1_DeviceAccessStatus **async);

    HRESULT (STDMETHODCALLTYPE *OpenAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode mode,
        __FIAsyncOperation_1_GattOpenStatus **async);

    HRESULT (STDMETHODCALLTYPE *GetCharacteristicsAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult **async);

    HRESULT (STDMETHODCALLTYPE *GetCharacteristicsWithCacheModeAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult **async);

    HRESULT (STDMETHODCALLTYPE *GetCharacteristicsForUuidAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        GUID uuid,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult **async);

    HRESULT (STDMETHODCALLTYPE *GetCharacteristicsForUuidWithCacheModeAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        GUID uuid,
        __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult **async);

    HRESULT (STDMETHODCALLTYPE *GetIncludedServicesAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult **async);

    HRESULT (STDMETHODCALLTYPE *GetIncludedServicesWithCacheModeAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult **async);

    HRESULT (STDMETHODCALLTYPE *GetIncludedServicesForUuidAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        GUID uuid,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult **async);

    HRESULT (STDMETHODCALLTYPE *GetIncludedServicesForUuidWithCacheModeAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 *This,
        GUID uuid,
        __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult **async);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3Vtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3 {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattDeviceService3 methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_get_DeviceAccessInformation(This,value) (This)->lpVtbl->get_DeviceAccessInformation(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_get_Session(This,value) (This)->lpVtbl->get_Session(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_get_SharingMode(This,value) (This)->lpVtbl->get_SharingMode(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_RequestAccessAsync(This,async) (This)->lpVtbl->RequestAccessAsync(This,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_OpenAsync(This,mode,async) (This)->lpVtbl->OpenAsync(This,mode,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsAsync(This,async) (This)->lpVtbl->GetCharacteristicsAsync(This,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsWithCacheModeAsync(This,mode,async) (This)->lpVtbl->GetCharacteristicsWithCacheModeAsync(This,mode,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsForUuidAsync(This,uuid,async) (This)->lpVtbl->GetCharacteristicsForUuidAsync(This,uuid,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsForUuidWithCacheModeAsync(This,uuid,mode,async) (This)->lpVtbl->GetCharacteristicsForUuidWithCacheModeAsync(This,uuid,mode,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesAsync(This,async) (This)->lpVtbl->GetIncludedServicesAsync(This,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesWithCacheModeAsync(This,mode,async) (This)->lpVtbl->GetIncludedServicesWithCacheModeAsync(This,mode,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesForUuidAsync(This,uuid,async) (This)->lpVtbl->GetIncludedServicesForUuidAsync(This,uuid,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesForUuidWithCacheModeAsync(This,uuid,mode,async) (This)->lpVtbl->GetIncludedServicesForUuidWithCacheModeAsync(This,uuid,mode,async)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattDeviceService3 methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_get_DeviceAccessInformation(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,__x_ABI_CWindows_CDevices_CEnumeration_CIDeviceAccessInformation **value) {
    return This->lpVtbl->get_DeviceAccessInformation(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_get_Session(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession **value) {
    return This->lpVtbl->get_Session(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_get_SharingMode(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode *value) {
    return This->lpVtbl->get_SharingMode(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_RequestAccessAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,__FIAsyncOperation_1_DeviceAccessStatus **async) {
    return This->lpVtbl->RequestAccessAsync(This,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_OpenAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode mode,__FIAsyncOperation_1_GattOpenStatus **async) {
    return This->lpVtbl->OpenAsync(This,mode,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult **async) {
    return This->lpVtbl->GetCharacteristicsAsync(This,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsWithCacheModeAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,__x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult **async) {
    return This->lpVtbl->GetCharacteristicsWithCacheModeAsync(This,mode,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsForUuidAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,GUID uuid,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult **async) {
    return This->lpVtbl->GetCharacteristicsForUuidAsync(This,uuid,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsForUuidWithCacheModeAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,GUID uuid,__x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult **async) {
    return This->lpVtbl->GetCharacteristicsForUuidWithCacheModeAsync(This,uuid,mode,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult **async) {
    return This->lpVtbl->GetIncludedServicesAsync(This,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesWithCacheModeAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,__x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult **async) {
    return This->lpVtbl->GetIncludedServicesWithCacheModeAsync(This,mode,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesForUuidAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,GUID uuid,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult **async) {
    return This->lpVtbl->GetIncludedServicesForUuidAsync(This,uuid,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesForUuidWithCacheModeAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3* This,GUID uuid,__x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult **async) {
    return This->lpVtbl->GetIncludedServicesForUuidWithCacheModeAsync(This,uuid,mode,async);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattDeviceService3 IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3
#define IGattDeviceService3Vtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3Vtbl
#define IGattDeviceService3 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3
#define IGattDeviceService3_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_QueryInterface
#define IGattDeviceService3_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_AddRef
#define IGattDeviceService3_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_Release
#define IGattDeviceService3_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIids
#define IGattDeviceService3_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetRuntimeClassName
#define IGattDeviceService3_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetTrustLevel
#define IGattDeviceService3_get_DeviceAccessInformation __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_get_DeviceAccessInformation
#define IGattDeviceService3_get_Session __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_get_Session
#define IGattDeviceService3_get_SharingMode __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_get_SharingMode
#define IGattDeviceService3_RequestAccessAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_RequestAccessAsync
#define IGattDeviceService3_OpenAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_OpenAsync
#define IGattDeviceService3_GetCharacteristicsAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsAsync
#define IGattDeviceService3_GetCharacteristicsWithCacheModeAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsWithCacheModeAsync
#define IGattDeviceService3_GetCharacteristicsForUuidAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsForUuidAsync
#define IGattDeviceService3_GetCharacteristicsForUuidWithCacheModeAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetCharacteristicsForUuidWithCacheModeAsync
#define IGattDeviceService3_GetIncludedServicesAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesAsync
#define IGattDeviceService3_GetIncludedServicesWithCacheModeAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesWithCacheModeAsync
#define IGattDeviceService3_GetIncludedServicesForUuidAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesForUuidAsync
#define IGattDeviceService3_GetIncludedServicesForUuidWithCacheModeAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_GetIncludedServicesForUuidWithCacheModeAsync
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService3_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*****************************************************************************
 * IGattDeviceServiceStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics, 0x196d0022, 0xfaad, 0x45dc, 0xae,0x5b, 0x2a,0xc3,0x18,0x4e,0x84,0xdb);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("196d0022-faad-45dc-ae5b-2ac3184e84db")
                    IGattDeviceServiceStatics : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE FromIdAsync(
                            HSTRING id,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetDeviceSelectorFromUuid(
                            GUID uuid,
                            HSTRING *selector) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetDeviceSelectorFromShortId(
                            UINT16 id,
                            HSTRING *selector) = 0;

                        virtual HRESULT STDMETHODCALLTYPE ConvertShortIdToUuid(
                            UINT16 id,
                            GUID *value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics, 0x196d0022, 0xfaad, 0x45dc, 0xae,0x5b, 0x2a,0xc3,0x18,0x4e,0x84,0xdb)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStaticsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattDeviceServiceStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *FromIdAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics *This,
        HSTRING id,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **async);

    HRESULT (STDMETHODCALLTYPE *GetDeviceSelectorFromUuid)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics *This,
        GUID uuid,
        HSTRING *selector);

    HRESULT (STDMETHODCALLTYPE *GetDeviceSelectorFromShortId)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics *This,
        UINT16 id,
        HSTRING *selector);

    HRESULT (STDMETHODCALLTYPE *ConvertShortIdToUuid)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics *This,
        UINT16 id,
        GUID *value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStaticsVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattDeviceServiceStatics methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_FromIdAsync(This,id,async) (This)->lpVtbl->FromIdAsync(This,id,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetDeviceSelectorFromUuid(This,uuid,selector) (This)->lpVtbl->GetDeviceSelectorFromUuid(This,uuid,selector)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetDeviceSelectorFromShortId(This,id,selector) (This)->lpVtbl->GetDeviceSelectorFromShortId(This,id,selector)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_ConvertShortIdToUuid(This,id,value) (This)->lpVtbl->ConvertShortIdToUuid(This,id,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattDeviceServiceStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_FromIdAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics* This,HSTRING id,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **async) {
    return This->lpVtbl->FromIdAsync(This,id,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetDeviceSelectorFromUuid(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics* This,GUID uuid,HSTRING *selector) {
    return This->lpVtbl->GetDeviceSelectorFromUuid(This,uuid,selector);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetDeviceSelectorFromShortId(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics* This,UINT16 id,HSTRING *selector) {
    return This->lpVtbl->GetDeviceSelectorFromShortId(This,id,selector);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_ConvertShortIdToUuid(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics* This,UINT16 id,GUID *value) {
    return This->lpVtbl->ConvertShortIdToUuid(This,id,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattDeviceServiceStatics IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics
#define IGattDeviceServiceStaticsVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStaticsVtbl
#define IGattDeviceServiceStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics
#define IGattDeviceServiceStatics_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_QueryInterface
#define IGattDeviceServiceStatics_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_AddRef
#define IGattDeviceServiceStatics_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_Release
#define IGattDeviceServiceStatics_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetIids
#define IGattDeviceServiceStatics_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetRuntimeClassName
#define IGattDeviceServiceStatics_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetTrustLevel
#define IGattDeviceServiceStatics_FromIdAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_FromIdAsync
#define IGattDeviceServiceStatics_GetDeviceSelectorFromUuid __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetDeviceSelectorFromUuid
#define IGattDeviceServiceStatics_GetDeviceSelectorFromShortId __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_GetDeviceSelectorFromShortId
#define IGattDeviceServiceStatics_ConvertShortIdToUuid __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics_ConvertShortIdToUuid
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*****************************************************************************
 * IGattDeviceServiceStatics2 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2, 0x0604186e, 0x24a6, 0x4b0d, 0xa2,0xf2, 0x30,0xcc,0x01,0x54,0x5d,0x25);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("0604186e-24a6-4b0d-a2f2-30cc01545d25")
                    IGattDeviceServiceStatics2 : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE FromIdWithSharingModeAsync(
                            HSTRING id,
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSharingMode mode,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetDeviceSelectorForBluetoothDeviceId(
                            ABI::Windows::Devices::Bluetooth::IBluetoothDeviceId *id,
                            HSTRING *selector) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetDeviceSelectorForBluetoothDeviceIdWithCacheMode(
                            ABI::Windows::Devices::Bluetooth::IBluetoothDeviceId *id,
                            ABI::Windows::Devices::Bluetooth::BluetoothCacheMode mode,
                            HSTRING *selector) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetDeviceSelectorForBluetoothDeviceIdAndUuid(
                            ABI::Windows::Devices::Bluetooth::IBluetoothDeviceId *id,
                            GUID uuid,
                            HSTRING *selector) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode(
                            ABI::Windows::Devices::Bluetooth::IBluetoothDeviceId *id,
                            GUID uuid,
                            ABI::Windows::Devices::Bluetooth::BluetoothCacheMode mode,
                            HSTRING *selector) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2, 0x0604186e, 0x24a6, 0x4b0d, 0xa2,0xf2, 0x30,0xcc,0x01,0x54,0x5d,0x25)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattDeviceServiceStatics2 methods ***/
    HRESULT (STDMETHODCALLTYPE *FromIdWithSharingModeAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2 *This,
        HSTRING id,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode mode,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **async);

    HRESULT (STDMETHODCALLTYPE *GetDeviceSelectorForBluetoothDeviceId)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId *id,
        HSTRING *selector);

    HRESULT (STDMETHODCALLTYPE *GetDeviceSelectorForBluetoothDeviceIdWithCacheMode)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId *id,
        __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,
        HSTRING *selector);

    HRESULT (STDMETHODCALLTYPE *GetDeviceSelectorForBluetoothDeviceIdAndUuid)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId *id,
        GUID uuid,
        HSTRING *selector);

    HRESULT (STDMETHODCALLTYPE *GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId *id,
        GUID uuid,
        __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,
        HSTRING *selector);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2Vtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2 {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattDeviceServiceStatics2 methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_FromIdWithSharingModeAsync(This,id,mode,async) (This)->lpVtbl->FromIdWithSharingModeAsync(This,id,mode,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceId(This,id,selector) (This)->lpVtbl->GetDeviceSelectorForBluetoothDeviceId(This,id,selector)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdWithCacheMode(This,id,mode,selector) (This)->lpVtbl->GetDeviceSelectorForBluetoothDeviceIdWithCacheMode(This,id,mode,selector)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdAndUuid(This,id,uuid,selector) (This)->lpVtbl->GetDeviceSelectorForBluetoothDeviceIdAndUuid(This,id,uuid,selector)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode(This,id,uuid,mode,selector) (This)->lpVtbl->GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode(This,id,uuid,mode,selector)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattDeviceServiceStatics2 methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_FromIdWithSharingModeAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2* This,HSTRING id,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSharingMode mode,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **async) {
    return This->lpVtbl->FromIdWithSharingModeAsync(This,id,mode,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceId(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2* This,__x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId *id,HSTRING *selector) {
    return This->lpVtbl->GetDeviceSelectorForBluetoothDeviceId(This,id,selector);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdWithCacheMode(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2* This,__x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId *id,__x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,HSTRING *selector) {
    return This->lpVtbl->GetDeviceSelectorForBluetoothDeviceIdWithCacheMode(This,id,mode,selector);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdAndUuid(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2* This,__x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId *id,GUID uuid,HSTRING *selector) {
    return This->lpVtbl->GetDeviceSelectorForBluetoothDeviceIdAndUuid(This,id,uuid,selector);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2* This,__x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId *id,GUID uuid,__x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,HSTRING *selector) {
    return This->lpVtbl->GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode(This,id,uuid,mode,selector);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattDeviceServiceStatics2 IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2
#define IGattDeviceServiceStatics2Vtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2Vtbl
#define IGattDeviceServiceStatics2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2
#define IGattDeviceServiceStatics2_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_QueryInterface
#define IGattDeviceServiceStatics2_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_AddRef
#define IGattDeviceServiceStatics2_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_Release
#define IGattDeviceServiceStatics2_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetIids
#define IGattDeviceServiceStatics2_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetRuntimeClassName
#define IGattDeviceServiceStatics2_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetTrustLevel
#define IGattDeviceServiceStatics2_FromIdWithSharingModeAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_FromIdWithSharingModeAsync
#define IGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceId __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceId
#define IGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdWithCacheMode __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdWithCacheMode
#define IGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdAndUuid __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdAndUuid
#define IGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServiceStatics2_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceService_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceService_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceService[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','D','e','v','i','c','e','S','e','r','v','i','c','e',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceService[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceService[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','D','e','v','i','c','e','S','e','r','v','i','c','e',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceService_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IGattDeviceServicesResult interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult, 0x171dd3ee, 0x016d, 0x419d, 0x83,0x8a, 0x57,0x6c,0xf4,0x75,0xa3,0xd8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("171dd3ee-016d-419d-838a-576cf475a3d8")
                    IGattDeviceServicesResult : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_Status(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_ProtocolError(
                            ABI::Windows::Foundation::IReference<BYTE > **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Services(
                            ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > **value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult, 0x171dd3ee, 0x016d, 0x419d, 0x83,0x8a, 0x57,0x6c,0xf4,0x75,0xa3,0xd8)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattDeviceServicesResult methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value);

    HRESULT (STDMETHODCALLTYPE *get_ProtocolError)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult *This,
        __FIReference_1_BYTE **value);

    HRESULT (STDMETHODCALLTYPE *get_Services)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult *This,
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResultVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattDeviceServicesResult methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_get_Status(This,value) (This)->lpVtbl->get_Status(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_get_ProtocolError(This,value) (This)->lpVtbl->get_ProtocolError(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_get_Services(This,value) (This)->lpVtbl->get_Services(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattDeviceServicesResult methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_get_Status(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value) {
    return This->lpVtbl->get_Status(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_get_ProtocolError(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult* This,__FIReference_1_BYTE **value) {
    return This->lpVtbl->get_ProtocolError(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_get_Services(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult* This,__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **value) {
    return This->lpVtbl->get_Services(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattDeviceServicesResult IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult
#define IGattDeviceServicesResultVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResultVtbl
#define IGattDeviceServicesResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult
#define IGattDeviceServicesResult_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_QueryInterface
#define IGattDeviceServicesResult_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_AddRef
#define IGattDeviceServicesResult_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_Release
#define IGattDeviceServicesResult_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_GetIids
#define IGattDeviceServicesResult_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_GetRuntimeClassName
#define IGattDeviceServicesResult_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_GetTrustLevel
#define IGattDeviceServicesResult_get_Status __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_get_Status
#define IGattDeviceServicesResult_get_ProtocolError __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_get_ProtocolError
#define IGattDeviceServicesResult_get_Services __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_get_Services
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceServicesResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceServicesResult_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceServicesResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','D','e','v','i','c','e','S','e','r','v','i','c','e','s','R','e','s','u','l','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceServicesResult[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceServicesResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','D','e','v','i','c','e','S','e','r','v','i','c','e','s','R','e','s','u','l','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDeviceServicesResult_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*****************************************************************************
 * IGattSession interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession, 0xd23b5143, 0xe04e, 0x4c24, 0x99,0x9c, 0x9c,0x25,0x6f,0x98,0x56,0xb1);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("d23b5143-e04e-4c24-999c-9c256f9856b1")
                    IGattSession : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_DeviceId(
                            ABI::Windows::Devices::Bluetooth::IBluetoothDeviceId **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_CanMaintainConnection(
                            boolean *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE put_MaintainConnection(
                            boolean value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_MaintainConnection(
                            boolean *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_MaxPduSize(
                            UINT16 *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_SessionStatus(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatus *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE add_MaxPduSizeChanged(
                            ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,IInspectable* > *handler,
                            EventRegistrationToken *token) = 0;

                        virtual HRESULT STDMETHODCALLTYPE remove_MaxPduSizeChanged(
                            EventRegistrationToken token) = 0;

                        virtual HRESULT STDMETHODCALLTYPE add_SessionStatusChanged(
                            ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatusChangedEventArgs* > *handler,
                            EventRegistrationToken *token) = 0;

                        virtual HRESULT STDMETHODCALLTYPE remove_SessionStatusChanged(
                            EventRegistrationToken token) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession, 0xd23b5143, 0xe04e, 0x4c24, 0x99,0x9c, 0x9c,0x25,0x6f,0x98,0x56,0xb1)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattSession methods ***/
    HRESULT (STDMETHODCALLTYPE *get_DeviceId)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId **value);

    HRESULT (STDMETHODCALLTYPE *get_CanMaintainConnection)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *put_MaintainConnection)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *This,
        boolean value);

    HRESULT (STDMETHODCALLTYPE *get_MaintainConnection)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *get_MaxPduSize)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *This,
        UINT16 *value);

    HRESULT (STDMETHODCALLTYPE *get_SessionStatus)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatus *value);

    HRESULT (STDMETHODCALLTYPE *add_MaxPduSizeChanged)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *This,
        __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable *handler,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_MaxPduSizeChanged)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *This,
        EventRegistrationToken token);

    HRESULT (STDMETHODCALLTYPE *add_SessionStatusChanged)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *This,
        __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs *handler,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_SessionStatusChanged)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *This,
        EventRegistrationToken token);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattSession methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_DeviceId(This,value) (This)->lpVtbl->get_DeviceId(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_CanMaintainConnection(This,value) (This)->lpVtbl->get_CanMaintainConnection(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_put_MaintainConnection(This,value) (This)->lpVtbl->put_MaintainConnection(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_MaintainConnection(This,value) (This)->lpVtbl->get_MaintainConnection(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_MaxPduSize(This,value) (This)->lpVtbl->get_MaxPduSize(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_SessionStatus(This,value) (This)->lpVtbl->get_SessionStatus(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_add_MaxPduSizeChanged(This,handler,token) (This)->lpVtbl->add_MaxPduSizeChanged(This,handler,token)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_remove_MaxPduSizeChanged(This,token) (This)->lpVtbl->remove_MaxPduSizeChanged(This,token)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_add_SessionStatusChanged(This,handler,token) (This)->lpVtbl->add_SessionStatusChanged(This,handler,token)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_remove_SessionStatusChanged(This,token) (This)->lpVtbl->remove_SessionStatusChanged(This,token)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattSession methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_DeviceId(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,__x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId **value) {
    return This->lpVtbl->get_DeviceId(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_CanMaintainConnection(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,boolean *value) {
    return This->lpVtbl->get_CanMaintainConnection(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_put_MaintainConnection(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,boolean value) {
    return This->lpVtbl->put_MaintainConnection(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_MaintainConnection(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,boolean *value) {
    return This->lpVtbl->get_MaintainConnection(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_MaxPduSize(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,UINT16 *value) {
    return This->lpVtbl->get_MaxPduSize(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_SessionStatus(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatus *value) {
    return This->lpVtbl->get_SessionStatus(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_add_MaxPduSizeChanged(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable *handler,EventRegistrationToken *token) {
    return This->lpVtbl->add_MaxPduSizeChanged(This,handler,token);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_remove_MaxPduSizeChanged(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_MaxPduSizeChanged(This,token);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_add_SessionStatusChanged(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs *handler,EventRegistrationToken *token) {
    return This->lpVtbl->add_SessionStatusChanged(This,handler,token);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_remove_SessionStatusChanged(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_SessionStatusChanged(This,token);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattSession IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession
#define IGattSessionVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionVtbl
#define IGattSession __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession
#define IGattSession_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_QueryInterface
#define IGattSession_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_AddRef
#define IGattSession_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_Release
#define IGattSession_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_GetIids
#define IGattSession_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_GetRuntimeClassName
#define IGattSession_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_GetTrustLevel
#define IGattSession_get_DeviceId __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_DeviceId
#define IGattSession_get_CanMaintainConnection __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_CanMaintainConnection
#define IGattSession_put_MaintainConnection __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_put_MaintainConnection
#define IGattSession_get_MaintainConnection __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_MaintainConnection
#define IGattSession_get_MaxPduSize __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_MaxPduSize
#define IGattSession_get_SessionStatus __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_get_SessionStatus
#define IGattSession_add_MaxPduSizeChanged __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_add_MaxPduSizeChanged
#define IGattSession_remove_MaxPduSizeChanged __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_remove_MaxPduSizeChanged
#define IGattSession_add_SessionStatusChanged __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_add_SessionStatusChanged
#define IGattSession_remove_SessionStatusChanged __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_remove_SessionStatusChanged
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*****************************************************************************
 * IGattSessionStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics, 0x2e65b95c, 0x539f, 0x4db7, 0x82,0xa8, 0x73,0xbd,0xbb,0xf7,0x3e,0xbf);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("2e65b95c-539f-4db7-82a8-73bdbbf73ebf")
                    IGattSessionStatics : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE FromDeviceIdAsync(
                            ABI::Windows::Devices::Bluetooth::IBluetoothDeviceId *id,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* > **async) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics, 0x2e65b95c, 0x539f, 0x4db7, 0x82,0xa8, 0x73,0xbd,0xbb,0xf7,0x3e,0xbf)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStaticsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattSessionStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *FromDeviceIdAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId *id,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession **async);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStaticsVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattSessionStatics methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_FromDeviceIdAsync(This,id,async) (This)->lpVtbl->FromDeviceIdAsync(This,id,async)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattSessionStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_FromDeviceIdAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics* This,__x_ABI_CWindows_CDevices_CBluetooth_CIBluetoothDeviceId *id,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession **async) {
    return This->lpVtbl->FromDeviceIdAsync(This,id,async);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattSessionStatics IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics
#define IGattSessionStaticsVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStaticsVtbl
#define IGattSessionStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics
#define IGattSessionStatics_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_QueryInterface
#define IGattSessionStatics_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_AddRef
#define IGattSessionStatics_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_Release
#define IGattSessionStatics_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_GetIids
#define IGattSessionStatics_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_GetRuntimeClassName
#define IGattSessionStatics_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_GetTrustLevel
#define IGattSessionStatics_FromDeviceIdAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_FromDeviceIdAsync
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatics_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSession_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSession_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSession[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','S','e','s','s','i','o','n',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSession[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSession[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','S','e','s','s','i','o','n',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSession_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*****************************************************************************
 * IGattSessionStatusChangedEventArgs interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs, 0x7605b72e, 0x837f, 0x404c, 0xab,0x34, 0x31,0x63,0xf3,0x9d,0xdf,0x32);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("7605b72e-837f-404c-ab34-3163f39ddf32")
                    IGattSessionStatusChangedEventArgs : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_Error(
                            ABI::Windows::Devices::Bluetooth::BluetoothError *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Status(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatus *value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs, 0x7605b72e, 0x837f, 0x404c, 0xab,0x34, 0x31,0x63,0xf3,0x9d,0xdf,0x32)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattSessionStatusChangedEventArgs methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Error)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothError *value);

    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatus *value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgsVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattSessionStatusChangedEventArgs methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_get_Error(This,value) (This)->lpVtbl->get_Error(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_get_Status(This,value) (This)->lpVtbl->get_Status(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattSessionStatusChangedEventArgs methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_get_Error(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs* This,__x_ABI_CWindows_CDevices_CBluetooth_CBluetoothError *value) {
    return This->lpVtbl->get_Error(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_get_Status(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattSessionStatus *value) {
    return This->lpVtbl->get_Status(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattSessionStatusChangedEventArgs IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs
#define IGattSessionStatusChangedEventArgsVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgsVtbl
#define IGattSessionStatusChangedEventArgs __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs
#define IGattSessionStatusChangedEventArgs_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_QueryInterface
#define IGattSessionStatusChangedEventArgs_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_AddRef
#define IGattSessionStatusChangedEventArgs_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_Release
#define IGattSessionStatusChangedEventArgs_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_GetIids
#define IGattSessionStatusChangedEventArgs_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_GetRuntimeClassName
#define IGattSessionStatusChangedEventArgs_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_GetTrustLevel
#define IGattSessionStatusChangedEventArgs_get_Error __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_get_Error
#define IGattSessionStatusChangedEventArgs_get_Status __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_get_Status
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatusChangedEventArgs
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSessionStatusChangedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSessionStatusChangedEventArgs_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSessionStatusChangedEventArgs[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','S','e','s','s','i','o','n','S','t','a','t','u','s','C','h','a','n','g','e','d','E','v','e','n','t','A','r','g','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSessionStatusChangedEventArgs[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatusChangedEventArgs";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSessionStatusChangedEventArgs[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','S','e','s','s','i','o','n','S','t','a','t','u','s','C','h','a','n','g','e','d','E','v','e','n','t','A','r','g','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattSessionStatusChangedEventArgs_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*****************************************************************************
 * IGattCharacteristic interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic, 0x59cb50c1, 0x5934, 0x4f68, 0xa1,0x98, 0xeb,0x86,0x4f,0xa4,0x4e,0x6b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("59cb50c1-5934-4f68-a198-eb864fa44e6b")
                    IGattCharacteristic : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE GetDescriptors(
                            GUID uuid,
                            ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_CharacteristicProperties(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_ProtectionLevel(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE put_ProtectionLevel(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_UserDescription(
                            HSTRING *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Uuid(
                            GUID *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_AttributeHandle(
                            UINT16 *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_PresentationFormats(
                            ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE ReadValueAsync(
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE ReadValueWithCacheModeAsync(
                            ABI::Windows::Devices::Bluetooth::BluetoothCacheMode mode,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE WriteValueAsync(
                            ABI::Windows::Storage::Streams::IBuffer *value,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE WriteValueWithOptionAsync(
                            ABI::Windows::Storage::Streams::IBuffer *value,
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteOption opt,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE ReadClientCharacteristicConfigurationDescriptorAsync(
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE WriteClientCharacteristicConfigurationDescriptorAsync(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattClientCharacteristicConfigurationDescriptorValue value,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE add_ValueChanged(
                            ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattValueChangedEventArgs* > *handler,
                            EventRegistrationToken *token) = 0;

                        virtual HRESULT STDMETHODCALLTYPE remove_ValueChanged(
                            EventRegistrationToken token) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic, 0x59cb50c1, 0x5934, 0x4f68, 0xa1,0x98, 0xeb,0x86,0x4f,0xa4,0x4e,0x6b)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattCharacteristic methods ***/
    HRESULT (STDMETHODCALLTYPE *GetDescriptors)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        GUID uuid,
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor **value);

    HRESULT (STDMETHODCALLTYPE *get_CharacteristicProperties)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicProperties *value);

    HRESULT (STDMETHODCALLTYPE *get_ProtectionLevel)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel *value);

    HRESULT (STDMETHODCALLTYPE *put_ProtectionLevel)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel value);

    HRESULT (STDMETHODCALLTYPE *get_UserDescription)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        HSTRING *value);

    HRESULT (STDMETHODCALLTYPE *get_Uuid)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        GUID *value);

    HRESULT (STDMETHODCALLTYPE *get_AttributeHandle)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        UINT16 *value);

    HRESULT (STDMETHODCALLTYPE *get_PresentationFormats)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat **value);

    HRESULT (STDMETHODCALLTYPE *ReadValueAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult **value);

    HRESULT (STDMETHODCALLTYPE *ReadValueWithCacheModeAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult **value);

    HRESULT (STDMETHODCALLTYPE *WriteValueAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,
        __FIAsyncOperation_1_GattCommunicationStatus **async);

    HRESULT (STDMETHODCALLTYPE *WriteValueWithOptionAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteOption opt,
        __FIAsyncOperation_1_GattCommunicationStatus **async);

    HRESULT (STDMETHODCALLTYPE *ReadClientCharacteristicConfigurationDescriptorAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult **async);

    HRESULT (STDMETHODCALLTYPE *WriteClientCharacteristicConfigurationDescriptorAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue value,
        __FIAsyncOperation_1_GattCommunicationStatus **async);

    HRESULT (STDMETHODCALLTYPE *add_ValueChanged)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs *handler,
        EventRegistrationToken *token);

    HRESULT (STDMETHODCALLTYPE *remove_ValueChanged)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *This,
        EventRegistrationToken token);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattCharacteristic methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetDescriptors(This,uuid,value) (This)->lpVtbl->GetDescriptors(This,uuid,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_CharacteristicProperties(This,value) (This)->lpVtbl->get_CharacteristicProperties(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_ProtectionLevel(This,value) (This)->lpVtbl->get_ProtectionLevel(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_put_ProtectionLevel(This,value) (This)->lpVtbl->put_ProtectionLevel(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_UserDescription(This,value) (This)->lpVtbl->get_UserDescription(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_Uuid(This,value) (This)->lpVtbl->get_Uuid(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_AttributeHandle(This,value) (This)->lpVtbl->get_AttributeHandle(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_PresentationFormats(This,value) (This)->lpVtbl->get_PresentationFormats(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_ReadValueAsync(This,value) (This)->lpVtbl->ReadValueAsync(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_ReadValueWithCacheModeAsync(This,mode,value) (This)->lpVtbl->ReadValueWithCacheModeAsync(This,mode,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_WriteValueAsync(This,value,async) (This)->lpVtbl->WriteValueAsync(This,value,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_WriteValueWithOptionAsync(This,value,opt,async) (This)->lpVtbl->WriteValueWithOptionAsync(This,value,opt,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_ReadClientCharacteristicConfigurationDescriptorAsync(This,async) (This)->lpVtbl->ReadClientCharacteristicConfigurationDescriptorAsync(This,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_WriteClientCharacteristicConfigurationDescriptorAsync(This,value,async) (This)->lpVtbl->WriteClientCharacteristicConfigurationDescriptorAsync(This,value,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_add_ValueChanged(This,handler,token) (This)->lpVtbl->add_ValueChanged(This,handler,token)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_remove_ValueChanged(This,token) (This)->lpVtbl->remove_ValueChanged(This,token)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattCharacteristic methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetDescriptors(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,GUID uuid,__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor **value) {
    return This->lpVtbl->GetDescriptors(This,uuid,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_CharacteristicProperties(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCharacteristicProperties *value) {
    return This->lpVtbl->get_CharacteristicProperties(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_ProtectionLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel *value) {
    return This->lpVtbl->get_ProtectionLevel(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_put_ProtectionLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel value) {
    return This->lpVtbl->put_ProtectionLevel(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_UserDescription(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,HSTRING *value) {
    return This->lpVtbl->get_UserDescription(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_Uuid(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,GUID *value) {
    return This->lpVtbl->get_Uuid(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_AttributeHandle(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,UINT16 *value) {
    return This->lpVtbl->get_AttributeHandle(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_PresentationFormats(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat **value) {
    return This->lpVtbl->get_PresentationFormats(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_ReadValueAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult **value) {
    return This->lpVtbl->ReadValueAsync(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_ReadValueWithCacheModeAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,__x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult **value) {
    return This->lpVtbl->ReadValueWithCacheModeAsync(This,mode,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_WriteValueAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,__FIAsyncOperation_1_GattCommunicationStatus **async) {
    return This->lpVtbl->WriteValueAsync(This,value,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_WriteValueWithOptionAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteOption opt,__FIAsyncOperation_1_GattCommunicationStatus **async) {
    return This->lpVtbl->WriteValueWithOptionAsync(This,value,opt,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_ReadClientCharacteristicConfigurationDescriptorAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult **async) {
    return This->lpVtbl->ReadClientCharacteristicConfigurationDescriptorAsync(This,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_WriteClientCharacteristicConfigurationDescriptorAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue value,__FIAsyncOperation_1_GattCommunicationStatus **async) {
    return This->lpVtbl->WriteClientCharacteristicConfigurationDescriptorAsync(This,value,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_add_ValueChanged(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs *handler,EventRegistrationToken *token) {
    return This->lpVtbl->add_ValueChanged(This,handler,token);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_remove_ValueChanged(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic* This,EventRegistrationToken token) {
    return This->lpVtbl->remove_ValueChanged(This,token);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattCharacteristic IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic
#define IGattCharacteristicVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicVtbl
#define IGattCharacteristic __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic
#define IGattCharacteristic_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_QueryInterface
#define IGattCharacteristic_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_AddRef
#define IGattCharacteristic_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_Release
#define IGattCharacteristic_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetIids
#define IGattCharacteristic_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetRuntimeClassName
#define IGattCharacteristic_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetTrustLevel
#define IGattCharacteristic_GetDescriptors __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_GetDescriptors
#define IGattCharacteristic_get_CharacteristicProperties __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_CharacteristicProperties
#define IGattCharacteristic_get_ProtectionLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_ProtectionLevel
#define IGattCharacteristic_put_ProtectionLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_put_ProtectionLevel
#define IGattCharacteristic_get_UserDescription __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_UserDescription
#define IGattCharacteristic_get_Uuid __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_Uuid
#define IGattCharacteristic_get_AttributeHandle __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_AttributeHandle
#define IGattCharacteristic_get_PresentationFormats __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_get_PresentationFormats
#define IGattCharacteristic_ReadValueAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_ReadValueAsync
#define IGattCharacteristic_ReadValueWithCacheModeAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_ReadValueWithCacheModeAsync
#define IGattCharacteristic_WriteValueAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_WriteValueAsync
#define IGattCharacteristic_WriteValueWithOptionAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_WriteValueWithOptionAsync
#define IGattCharacteristic_ReadClientCharacteristicConfigurationDescriptorAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_ReadClientCharacteristicConfigurationDescriptorAsync
#define IGattCharacteristic_WriteClientCharacteristicConfigurationDescriptorAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_WriteClientCharacteristicConfigurationDescriptorAsync
#define IGattCharacteristic_add_ValueChanged __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_add_ValueChanged
#define IGattCharacteristic_remove_ValueChanged __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic_remove_ValueChanged
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*****************************************************************************
 * IGattCharacteristic2 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2, 0xae1ab578, 0xec06, 0x4764, 0xb7,0x80, 0x98,0x35,0xa1,0xd3,0x5d,0x6e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("ae1ab578-ec06-4764-b780-9835a1d35d6e")
                    IGattCharacteristic2 : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_Service(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetAllDescriptors(
                            ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > **descriptors) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2, 0xae1ab578, 0xec06, 0x4764, 0xb7,0x80, 0x98,0x35,0xa1,0xd3,0x5d,0x6e)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattCharacteristic2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Service)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **value);

    HRESULT (STDMETHODCALLTYPE *GetAllDescriptors)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2 *This,
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor **descriptors);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2Vtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2 {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattCharacteristic2 methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_get_Service(This,value) (This)->lpVtbl->get_Service(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetAllDescriptors(This,descriptors) (This)->lpVtbl->GetAllDescriptors(This,descriptors)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattCharacteristic2 methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_get_Service(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **value) {
    return This->lpVtbl->get_Service(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetAllDescriptors(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2* This,__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor **descriptors) {
    return This->lpVtbl->GetAllDescriptors(This,descriptors);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattCharacteristic2 IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2
#define IGattCharacteristic2Vtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2Vtbl
#define IGattCharacteristic2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2
#define IGattCharacteristic2_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_QueryInterface
#define IGattCharacteristic2_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_AddRef
#define IGattCharacteristic2_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_Release
#define IGattCharacteristic2_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetIids
#define IGattCharacteristic2_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetRuntimeClassName
#define IGattCharacteristic2_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetTrustLevel
#define IGattCharacteristic2_get_Service __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_get_Service
#define IGattCharacteristic2_GetAllDescriptors __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic2_GetAllDescriptors
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*****************************************************************************
 * IGattCharacteristic3 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3, 0x3f3c663e, 0x93d4, 0x406b, 0xb8,0x17, 0xdb,0x81,0xf8,0xed,0x53,0xb3);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("3f3c663e-93d4-406b-b817-db81f8ed53b3")
                    IGattCharacteristic3 : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE GetDescriptorsAsync(
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetDescriptorsWithCacheModeAsync(
                            ABI::Windows::Devices::Bluetooth::BluetoothCacheMode mode,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetDescriptorsForUuidAsync(
                            GUID uuid,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE GetDescriptorsForUuidWithCacheModeAsync(
                            GUID uuid,
                            ABI::Windows::Devices::Bluetooth::BluetoothCacheMode mode,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE WriteValueWithResultAsync(
                            ABI::Windows::Storage::Streams::IBuffer *value,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE WriteValueWithResultAndOptionAsync(
                            ABI::Windows::Storage::Streams::IBuffer *value,
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteOption option,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE WriteClientCharacteristicConfigurationDescriptorWithResultAsync(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattClientCharacteristicConfigurationDescriptorValue value,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > **async) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3, 0x3f3c663e, 0x93d4, 0x406b, 0xb8,0x17, 0xdb,0x81,0xf8,0xed,0x53,0xb3)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattCharacteristic3 methods ***/
    HRESULT (STDMETHODCALLTYPE *GetDescriptorsAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult **async);

    HRESULT (STDMETHODCALLTYPE *GetDescriptorsWithCacheModeAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult **async);

    HRESULT (STDMETHODCALLTYPE *GetDescriptorsForUuidAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 *This,
        GUID uuid,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult **async);

    HRESULT (STDMETHODCALLTYPE *GetDescriptorsForUuidWithCacheModeAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 *This,
        GUID uuid,
        __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult **async);

    HRESULT (STDMETHODCALLTYPE *WriteValueWithResultAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult **async);

    HRESULT (STDMETHODCALLTYPE *WriteValueWithResultAndOptionAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteOption option,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult **async);

    HRESULT (STDMETHODCALLTYPE *WriteClientCharacteristicConfigurationDescriptorWithResultAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue value,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult **async);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3Vtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3 {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattCharacteristic3 methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsAsync(This,async) (This)->lpVtbl->GetDescriptorsAsync(This,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsWithCacheModeAsync(This,mode,async) (This)->lpVtbl->GetDescriptorsWithCacheModeAsync(This,mode,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsForUuidAsync(This,uuid,async) (This)->lpVtbl->GetDescriptorsForUuidAsync(This,uuid,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsForUuidWithCacheModeAsync(This,uuid,mode,async) (This)->lpVtbl->GetDescriptorsForUuidWithCacheModeAsync(This,uuid,mode,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_WriteValueWithResultAsync(This,value,async) (This)->lpVtbl->WriteValueWithResultAsync(This,value,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_WriteValueWithResultAndOptionAsync(This,value,option,async) (This)->lpVtbl->WriteValueWithResultAndOptionAsync(This,value,option,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_WriteClientCharacteristicConfigurationDescriptorWithResultAsync(This,value,async) (This)->lpVtbl->WriteClientCharacteristicConfigurationDescriptorWithResultAsync(This,value,async)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattCharacteristic3 methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult **async) {
    return This->lpVtbl->GetDescriptorsAsync(This,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsWithCacheModeAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This,__x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult **async) {
    return This->lpVtbl->GetDescriptorsWithCacheModeAsync(This,mode,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsForUuidAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This,GUID uuid,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult **async) {
    return This->lpVtbl->GetDescriptorsForUuidAsync(This,uuid,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsForUuidWithCacheModeAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This,GUID uuid,__x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult **async) {
    return This->lpVtbl->GetDescriptorsForUuidWithCacheModeAsync(This,uuid,mode,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_WriteValueWithResultAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult **async) {
    return This->lpVtbl->WriteValueWithResultAsync(This,value,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_WriteValueWithResultAndOptionAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattWriteOption option,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult **async) {
    return This->lpVtbl->WriteValueWithResultAndOptionAsync(This,value,option,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_WriteClientCharacteristicConfigurationDescriptorWithResultAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue value,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult **async) {
    return This->lpVtbl->WriteClientCharacteristicConfigurationDescriptorWithResultAsync(This,value,async);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattCharacteristic3 IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3
#define IGattCharacteristic3Vtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3Vtbl
#define IGattCharacteristic3 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3
#define IGattCharacteristic3_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_QueryInterface
#define IGattCharacteristic3_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_AddRef
#define IGattCharacteristic3_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_Release
#define IGattCharacteristic3_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetIids
#define IGattCharacteristic3_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetRuntimeClassName
#define IGattCharacteristic3_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetTrustLevel
#define IGattCharacteristic3_GetDescriptorsAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsAsync
#define IGattCharacteristic3_GetDescriptorsWithCacheModeAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsWithCacheModeAsync
#define IGattCharacteristic3_GetDescriptorsForUuidAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsForUuidAsync
#define IGattCharacteristic3_GetDescriptorsForUuidWithCacheModeAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_GetDescriptorsForUuidWithCacheModeAsync
#define IGattCharacteristic3_WriteValueWithResultAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_WriteValueWithResultAsync
#define IGattCharacteristic3_WriteValueWithResultAndOptionAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_WriteValueWithResultAndOptionAsync
#define IGattCharacteristic3_WriteClientCharacteristicConfigurationDescriptorWithResultAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_WriteClientCharacteristicConfigurationDescriptorWithResultAsync
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic3_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*****************************************************************************
 * IGattCharacteristicStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics, 0x59cb50c3, 0x5934, 0x4f68, 0xa1,0x98, 0xeb,0x86,0x4f,0xa4,0x4e,0x6b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("59cb50c3-5934-4f68-a198-eb864fa44e6b")
                    IGattCharacteristicStatics : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE ConvertShortIdToUuid(
                            UINT16 id,
                            GUID *uuid) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics, 0x59cb50c3, 0x5934, 0x4f68, 0xa1,0x98, 0xeb,0x86,0x4f,0xa4,0x4e,0x6b)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStaticsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattCharacteristicStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *ConvertShortIdToUuid)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics *This,
        UINT16 id,
        GUID *uuid);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStaticsVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattCharacteristicStatics methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_ConvertShortIdToUuid(This,id,uuid) (This)->lpVtbl->ConvertShortIdToUuid(This,id,uuid)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattCharacteristicStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_ConvertShortIdToUuid(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics* This,UINT16 id,GUID *uuid) {
    return This->lpVtbl->ConvertShortIdToUuid(This,id,uuid);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattCharacteristicStatics IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics
#define IGattCharacteristicStaticsVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStaticsVtbl
#define IGattCharacteristicStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics
#define IGattCharacteristicStatics_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_QueryInterface
#define IGattCharacteristicStatics_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_AddRef
#define IGattCharacteristicStatics_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_Release
#define IGattCharacteristicStatics_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_GetIids
#define IGattCharacteristicStatics_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_GetRuntimeClassName
#define IGattCharacteristicStatics_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_GetTrustLevel
#define IGattCharacteristicStatics_ConvertShortIdToUuid __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicStatics_ConvertShortIdToUuid
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristic_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristic_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristic[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','C','h','a','r','a','c','t','e','r','i','s','t','i','c',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristic[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristic[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','C','h','a','r','a','c','t','e','r','i','s','t','i','c',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristic_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IGattCharacteristicsResult interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult, 0x1194945c, 0xb257, 0x4f3e, 0x9d,0xb7, 0xf6,0x8b,0xc9,0xa9,0xae,0xf2);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("1194945c-b257-4f3e-9db7-f68bc9a9aef2")
                    IGattCharacteristicsResult : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_Status(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_ProtocolError(
                            ABI::Windows::Foundation::IReference<BYTE > **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Characteristics(
                            ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > **value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult, 0x1194945c, 0xb257, 0x4f3e, 0x9d,0xb7, 0xf6,0x8b,0xc9,0xa9,0xae,0xf2)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattCharacteristicsResult methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value);

    HRESULT (STDMETHODCALLTYPE *get_ProtocolError)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult *This,
        __FIReference_1_BYTE **value);

    HRESULT (STDMETHODCALLTYPE *get_Characteristics)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult *This,
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic **value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResultVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattCharacteristicsResult methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_get_Status(This,value) (This)->lpVtbl->get_Status(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_get_ProtocolError(This,value) (This)->lpVtbl->get_ProtocolError(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_get_Characteristics(This,value) (This)->lpVtbl->get_Characteristics(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattCharacteristicsResult methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_get_Status(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value) {
    return This->lpVtbl->get_Status(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_get_ProtocolError(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult* This,__FIReference_1_BYTE **value) {
    return This->lpVtbl->get_ProtocolError(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_get_Characteristics(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult* This,__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic **value) {
    return This->lpVtbl->get_Characteristics(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattCharacteristicsResult IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult
#define IGattCharacteristicsResultVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResultVtbl
#define IGattCharacteristicsResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult
#define IGattCharacteristicsResult_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_QueryInterface
#define IGattCharacteristicsResult_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_AddRef
#define IGattCharacteristicsResult_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_Release
#define IGattCharacteristicsResult_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_GetIids
#define IGattCharacteristicsResult_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_GetRuntimeClassName
#define IGattCharacteristicsResult_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_GetTrustLevel
#define IGattCharacteristicsResult_get_Status __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_get_Status
#define IGattCharacteristicsResult_get_ProtocolError __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_get_ProtocolError
#define IGattCharacteristicsResult_get_Characteristics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_get_Characteristics
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristicsResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristicsResult_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristicsResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','C','h','a','r','a','c','t','e','r','i','s','t','i','c','s','R','e','s','u','l','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristicsResult[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristicsResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','C','h','a','r','a','c','t','e','r','i','s','t','i','c','s','R','e','s','u','l','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattCharacteristicsResult_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*****************************************************************************
 * IGattDescriptor interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor, 0x92055f2b, 0x8084, 0x4344, 0xb4,0xc2, 0x28,0x4d,0xe1,0x9a,0x85,0x06);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("92055f2b-8084-4344-b4c2-284de19a8506")
                    IGattDescriptor : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_ProtectionLevel(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE put_ProtectionLevel(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Uuid(
                            GUID *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_AttributeHandle(
                            UINT16 *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE ReadValueAsync(
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE ReadValueWithCacheModeAsync(
                            ABI::Windows::Devices::Bluetooth::BluetoothCacheMode mode,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > **async) = 0;

                        virtual HRESULT STDMETHODCALLTYPE WriteValueAsync(
                            ABI::Windows::Storage::Streams::IBuffer *value,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > **async) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor, 0x92055f2b, 0x8084, 0x4344, 0xb4,0xc2, 0x28,0x4d,0xe1,0x9a,0x85,0x06)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattDescriptor methods ***/
    HRESULT (STDMETHODCALLTYPE *get_ProtectionLevel)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel *value);

    HRESULT (STDMETHODCALLTYPE *put_ProtectionLevel)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel value);

    HRESULT (STDMETHODCALLTYPE *get_Uuid)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor *This,
        GUID *value);

    HRESULT (STDMETHODCALLTYPE *get_AttributeHandle)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor *This,
        UINT16 *value);

    HRESULT (STDMETHODCALLTYPE *ReadValueAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult **async);

    HRESULT (STDMETHODCALLTYPE *ReadValueWithCacheModeAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult **async);

    HRESULT (STDMETHODCALLTYPE *WriteValueAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,
        __FIAsyncOperation_1_GattCommunicationStatus **async);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattDescriptor methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_get_ProtectionLevel(This,value) (This)->lpVtbl->get_ProtectionLevel(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_put_ProtectionLevel(This,value) (This)->lpVtbl->put_ProtectionLevel(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_get_Uuid(This,value) (This)->lpVtbl->get_Uuid(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_get_AttributeHandle(This,value) (This)->lpVtbl->get_AttributeHandle(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_ReadValueAsync(This,async) (This)->lpVtbl->ReadValueAsync(This,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_ReadValueWithCacheModeAsync(This,mode,async) (This)->lpVtbl->ReadValueWithCacheModeAsync(This,mode,async)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_WriteValueAsync(This,value,async) (This)->lpVtbl->WriteValueAsync(This,value,async)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattDescriptor methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_get_ProtectionLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel *value) {
    return This->lpVtbl->get_ProtectionLevel(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_put_ProtectionLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattProtectionLevel value) {
    return This->lpVtbl->put_ProtectionLevel(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_get_Uuid(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This,GUID *value) {
    return This->lpVtbl->get_Uuid(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_get_AttributeHandle(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This,UINT16 *value) {
    return This->lpVtbl->get_AttributeHandle(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_ReadValueAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult **async) {
    return This->lpVtbl->ReadValueAsync(This,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_ReadValueWithCacheModeAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This,__x_ABI_CWindows_CDevices_CBluetooth_CBluetoothCacheMode mode,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult **async) {
    return This->lpVtbl->ReadValueWithCacheModeAsync(This,mode,async);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_WriteValueAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,__FIAsyncOperation_1_GattCommunicationStatus **async) {
    return This->lpVtbl->WriteValueAsync(This,value,async);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattDescriptor IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor
#define IGattDescriptorVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorVtbl
#define IGattDescriptor __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor
#define IGattDescriptor_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_QueryInterface
#define IGattDescriptor_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_AddRef
#define IGattDescriptor_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_Release
#define IGattDescriptor_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_GetIids
#define IGattDescriptor_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_GetRuntimeClassName
#define IGattDescriptor_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_GetTrustLevel
#define IGattDescriptor_get_ProtectionLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_get_ProtectionLevel
#define IGattDescriptor_put_ProtectionLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_put_ProtectionLevel
#define IGattDescriptor_get_Uuid __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_get_Uuid
#define IGattDescriptor_get_AttributeHandle __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_get_AttributeHandle
#define IGattDescriptor_ReadValueAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_ReadValueAsync
#define IGattDescriptor_ReadValueWithCacheModeAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_ReadValueWithCacheModeAsync
#define IGattDescriptor_WriteValueAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor_WriteValueAsync
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*****************************************************************************
 * IGattDescriptor2 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2, 0x8f563d39, 0xd630, 0x406c, 0xba,0x11, 0x10,0xcd,0xd1,0x6b,0x0e,0x5e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("8f563d39-d630-406c-ba11-10cdd16b0e5e")
                    IGattDescriptor2 : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE WriteValueWithResultAsync(
                            ABI::Windows::Storage::Streams::IBuffer *value,
                            ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > **async) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2, 0x8f563d39, 0xd630, 0x406c, 0xba,0x11, 0x10,0xcd,0xd1,0x6b,0x0e,0x5e)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattDescriptor2 methods ***/
    HRESULT (STDMETHODCALLTYPE *WriteValueWithResultAsync)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2 *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult **async);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2Vtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2 {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattDescriptor2 methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_WriteValueWithResultAsync(This,value,async) (This)->lpVtbl->WriteValueWithResultAsync(This,value,async)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattDescriptor2 methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_WriteValueWithResultAsync(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer *value,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult **async) {
    return This->lpVtbl->WriteValueWithResultAsync(This,value,async);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattDescriptor2 IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2
#define IGattDescriptor2Vtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2Vtbl
#define IGattDescriptor2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2
#define IGattDescriptor2_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_QueryInterface
#define IGattDescriptor2_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_AddRef
#define IGattDescriptor2_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_Release
#define IGattDescriptor2_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_GetIids
#define IGattDescriptor2_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_GetRuntimeClassName
#define IGattDescriptor2_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_GetTrustLevel
#define IGattDescriptor2_WriteValueWithResultAsync __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_WriteValueWithResultAsync
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor2_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*****************************************************************************
 * IGattDescriptorStatics interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics, 0x92055f2d, 0x8084, 0x4344, 0xb4,0xc2, 0x28,0x4d,0xe1,0x9a,0x85,0x06);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("92055f2d-8084-4344-b4c2-284de19a8506")
                    IGattDescriptorStatics : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE ConvertShortIdToUuid(
                            UINT16 id,
                            GUID *uuid) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics, 0x92055f2d, 0x8084, 0x4344, 0xb4,0xc2, 0x28,0x4d,0xe1,0x9a,0x85,0x06)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStaticsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattDescriptorStatics methods ***/
    HRESULT (STDMETHODCALLTYPE *ConvertShortIdToUuid)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics *This,
        UINT16 id,
        GUID *uuid);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStaticsVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStaticsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattDescriptorStatics methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_ConvertShortIdToUuid(This,id,uuid) (This)->lpVtbl->ConvertShortIdToUuid(This,id,uuid)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattDescriptorStatics methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_ConvertShortIdToUuid(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics* This,UINT16 id,GUID *uuid) {
    return This->lpVtbl->ConvertShortIdToUuid(This,id,uuid);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattDescriptorStatics IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics
#define IGattDescriptorStaticsVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStaticsVtbl
#define IGattDescriptorStatics __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics
#define IGattDescriptorStatics_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_QueryInterface
#define IGattDescriptorStatics_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_AddRef
#define IGattDescriptorStatics_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_Release
#define IGattDescriptorStatics_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_GetIids
#define IGattDescriptorStatics_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_GetRuntimeClassName
#define IGattDescriptorStatics_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_GetTrustLevel
#define IGattDescriptorStatics_ConvertShortIdToUuid __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorStatics_ConvertShortIdToUuid
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptor_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptor_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptor[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','D','e','s','c','r','i','p','t','o','r',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptor[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptor[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','D','e','s','c','r','i','p','t','o','r',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptor_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IGattDescriptorsResult interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult, 0x9bc091f3, 0x95e7, 0x4489, 0x8d,0x25, 0xff,0x81,0x95,0x5a,0x57,0xb9);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("9bc091f3-95e7-4489-8d25-ff81955a57b9")
                    IGattDescriptorsResult : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_Status(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_ProtocolError(
                            ABI::Windows::Foundation::IReference<BYTE > **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Descriptors(
                            ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > **value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult, 0x9bc091f3, 0x95e7, 0x4489, 0x8d,0x25, 0xff,0x81,0x95,0x5a,0x57,0xb9)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattDescriptorsResult methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value);

    HRESULT (STDMETHODCALLTYPE *get_ProtocolError)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult *This,
        __FIReference_1_BYTE **value);

    HRESULT (STDMETHODCALLTYPE *get_Descriptors)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult *This,
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor **value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResultVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattDescriptorsResult methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_get_Status(This,value) (This)->lpVtbl->get_Status(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_get_ProtocolError(This,value) (This)->lpVtbl->get_ProtocolError(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_get_Descriptors(This,value) (This)->lpVtbl->get_Descriptors(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattDescriptorsResult methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_get_Status(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value) {
    return This->lpVtbl->get_Status(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_get_ProtocolError(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult* This,__FIReference_1_BYTE **value) {
    return This->lpVtbl->get_ProtocolError(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_get_Descriptors(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult* This,__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor **value) {
    return This->lpVtbl->get_Descriptors(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattDescriptorsResult IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult
#define IGattDescriptorsResultVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResultVtbl
#define IGattDescriptorsResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult
#define IGattDescriptorsResult_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_QueryInterface
#define IGattDescriptorsResult_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_AddRef
#define IGattDescriptorsResult_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_Release
#define IGattDescriptorsResult_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_GetIids
#define IGattDescriptorsResult_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_GetRuntimeClassName
#define IGattDescriptorsResult_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_GetTrustLevel
#define IGattDescriptorsResult_get_Status __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_get_Status
#define IGattDescriptorsResult_get_ProtocolError __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_get_ProtocolError
#define IGattDescriptorsResult_get_Descriptors __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_get_Descriptors
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptorsResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptorsResult_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptorsResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','D','e','s','c','r','i','p','t','o','r','s','R','e','s','u','l','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptorsResult[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptorsResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','D','e','s','c','r','i','p','t','o','r','s','R','e','s','u','l','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattDescriptorsResult_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*****************************************************************************
 * IGattValueChangedEventArgs interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs, 0xd21bdb54, 0x06e3, 0x4ed8, 0xa2,0x63, 0xac,0xfa,0xc8,0xba,0x73,0x13);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("d21bdb54-06e3-4ed8-a263-acfac8ba7313")
                    IGattValueChangedEventArgs : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_CharacteristicValue(
                            ABI::Windows::Storage::Streams::IBuffer **value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Timestamp(
                            ABI::Windows::Foundation::DateTime *value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs, 0xd21bdb54, 0x06e3, 0x4ed8, 0xa2,0x63, 0xac,0xfa,0xc8,0xba,0x73,0x13)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattValueChangedEventArgs methods ***/
    HRESULT (STDMETHODCALLTYPE *get_CharacteristicValue)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);

    HRESULT (STDMETHODCALLTYPE *get_Timestamp)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs *This,
        __x_ABI_CWindows_CFoundation_CDateTime *value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgsVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattValueChangedEventArgs methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_get_CharacteristicValue(This,value) (This)->lpVtbl->get_CharacteristicValue(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_get_Timestamp(This,value) (This)->lpVtbl->get_Timestamp(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattValueChangedEventArgs methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_get_CharacteristicValue(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **value) {
    return This->lpVtbl->get_CharacteristicValue(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_get_Timestamp(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs* This,__x_ABI_CWindows_CFoundation_CDateTime *value) {
    return This->lpVtbl->get_Timestamp(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattValueChangedEventArgs IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs
#define IGattValueChangedEventArgsVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgsVtbl
#define IGattValueChangedEventArgs __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs
#define IGattValueChangedEventArgs_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_QueryInterface
#define IGattValueChangedEventArgs_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_AddRef
#define IGattValueChangedEventArgs_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_Release
#define IGattValueChangedEventArgs_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_GetIids
#define IGattValueChangedEventArgs_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_GetRuntimeClassName
#define IGattValueChangedEventArgs_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_GetTrustLevel
#define IGattValueChangedEventArgs_get_CharacteristicValue __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_get_CharacteristicValue
#define IGattValueChangedEventArgs_get_Timestamp __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs_get_Timestamp
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattValueChangedEventArgs
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattValueChangedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattValueChangedEventArgs_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattValueChangedEventArgs[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','V','a','l','u','e','C','h','a','n','g','e','d','E','v','e','n','t','A','r','g','s',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattValueChangedEventArgs[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattValueChangedEventArgs";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattValueChangedEventArgs[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','V','a','l','u','e','C','h','a','n','g','e','d','E','v','e','n','t','A','r','g','s',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattValueChangedEventArgs_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IGattReadResult interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult, 0x63a66f08, 0x1aea, 0x4c4c, 0xa5,0x0f, 0x97,0xba,0xe4,0x74,0xb3,0x48);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("63a66f08-1aea-4c4c-a50f-97bae474b348")
                    IGattReadResult : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_Status(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus *value) = 0;

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

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult, 0x63a66f08, 0x1aea, 0x4c4c, 0xa5,0x0f, 0x97,0xba,0xe4,0x74,0xb3,0x48)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattReadResult methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value);

    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult *This,
        __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResultVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattReadResult methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_get_Status(This,value) (This)->lpVtbl->get_Status(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattReadResult methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_get_Status(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value) {
    return This->lpVtbl->get_Status(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_get_Value(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult* This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattReadResult IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult
#define IGattReadResultVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResultVtbl
#define IGattReadResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult
#define IGattReadResult_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_QueryInterface
#define IGattReadResult_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_AddRef
#define IGattReadResult_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_Release
#define IGattReadResult_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_GetIids
#define IGattReadResult_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_GetRuntimeClassName
#define IGattReadResult_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_GetTrustLevel
#define IGattReadResult_get_Status __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_get_Status
#define IGattReadResult_get_Value __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult_get_Value
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadResult_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','R','e','a','d','R','e','s','u','l','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadResult[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','R','e','a','d','R','e','s','u','l','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadResult_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IGattWriteResult interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult, 0x4991ddb1, 0xcb2b, 0x44f7, 0x99,0xfc, 0xd2,0x9a,0x28,0x71,0xdc,0x9b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("4991ddb1-cb2b-44f7-99fc-d29a2871dc9b")
                    IGattWriteResult : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_Status(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_ProtocolError(
                            ABI::Windows::Foundation::IReference<BYTE > **value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult, 0x4991ddb1, 0xcb2b, 0x44f7, 0x99,0xfc, 0xd2,0x9a,0x28,0x71,0xdc,0x9b)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattWriteResult methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value);

    HRESULT (STDMETHODCALLTYPE *get_ProtocolError)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult *This,
        __FIReference_1_BYTE **value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResultVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattWriteResult methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_get_Status(This,value) (This)->lpVtbl->get_Status(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_get_ProtocolError(This,value) (This)->lpVtbl->get_ProtocolError(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattWriteResult methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_get_Status(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value) {
    return This->lpVtbl->get_Status(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_get_ProtocolError(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult* This,__FIReference_1_BYTE **value) {
    return This->lpVtbl->get_ProtocolError(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattWriteResult IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult
#define IGattWriteResultVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResultVtbl
#define IGattWriteResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult
#define IGattWriteResult_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_QueryInterface
#define IGattWriteResult_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_AddRef
#define IGattWriteResult_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_Release
#define IGattWriteResult_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_GetIids
#define IGattWriteResult_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_GetRuntimeClassName
#define IGattWriteResult_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_GetTrustLevel
#define IGattWriteResult_get_Status __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_get_Status
#define IGattWriteResult_get_ProtocolError __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_get_ProtocolError
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattWriteResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattWriteResult_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattWriteResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','W','r','i','t','e','R','e','s','u','l','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattWriteResult[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattWriteResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','W','r','i','t','e','R','e','s','u','l','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattWriteResult_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IGattReadClientCharacteristicConfigurationDescriptorResult interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult, 0x63a66f09, 0x1aea, 0x4c4c, 0xa5,0x0f, 0x97,0xba,0xe4,0x74,0xb3,0x48);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("63a66f09-1aea-4c4c-a50f-97bae474b348")
                    IGattReadClientCharacteristicConfigurationDescriptorResult : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_Status(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_ClientCharacteristicConfigurationDescriptor(
                            ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattClientCharacteristicConfigurationDescriptorValue *value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult, 0x63a66f09, 0x1aea, 0x4c4c, 0xa5,0x0f, 0x97,0xba,0xe4,0x74,0xb3,0x48)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattReadClientCharacteristicConfigurationDescriptorResult methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value);

    HRESULT (STDMETHODCALLTYPE *get_ClientCharacteristicConfigurationDescriptor)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue *value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResultVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattReadClientCharacteristicConfigurationDescriptorResult methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_get_Status(This,value) (This)->lpVtbl->get_Status(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_get_ClientCharacteristicConfigurationDescriptor(This,value) (This)->lpVtbl->get_ClientCharacteristicConfigurationDescriptor(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattReadClientCharacteristicConfigurationDescriptorResult methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_get_Status(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *value) {
    return This->lpVtbl->get_Status(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_get_ClientCharacteristicConfigurationDescriptor(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattClientCharacteristicConfigurationDescriptorValue *value) {
    return This->lpVtbl->get_ClientCharacteristicConfigurationDescriptor(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattReadClientCharacteristicConfigurationDescriptorResult IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult
#define IGattReadClientCharacteristicConfigurationDescriptorResultVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResultVtbl
#define IGattReadClientCharacteristicConfigurationDescriptorResult __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult
#define IGattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface
#define IGattReadClientCharacteristicConfigurationDescriptorResult_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_AddRef
#define IGattReadClientCharacteristicConfigurationDescriptorResult_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_Release
#define IGattReadClientCharacteristicConfigurationDescriptorResult_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_GetIids
#define IGattReadClientCharacteristicConfigurationDescriptorResult_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_GetRuntimeClassName
#define IGattReadClientCharacteristicConfigurationDescriptorResult_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_GetTrustLevel
#define IGattReadClientCharacteristicConfigurationDescriptorResult_get_Status __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_get_Status
#define IGattReadClientCharacteristicConfigurationDescriptorResult_get_ClientCharacteristicConfigurationDescriptor __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult_get_ClientCharacteristicConfigurationDescriptor
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*****************************************************************************
 * IGattReadClientCharacteristicConfigurationDescriptorResult2 interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2, 0x1bf1a59d, 0xba4d, 0x4622, 0x86,0x51, 0xf4,0xee,0x15,0x0d,0x0a,0x5d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("1bf1a59d-ba4d-4622-8651-f4ee150d0a5d")
                    IGattReadClientCharacteristicConfigurationDescriptorResult2 : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_ProtocolError(
                            ABI::Windows::Foundation::IReference<BYTE > **value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2, 0x1bf1a59d, 0xba4d, 0x4622, 0x86,0x51, 0xf4,0xee,0x15,0x0d,0x0a,0x5d)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattReadClientCharacteristicConfigurationDescriptorResult2 methods ***/
    HRESULT (STDMETHODCALLTYPE *get_ProtocolError)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2 *This,
        __FIReference_1_BYTE **value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2Vtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2 {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattReadClientCharacteristicConfigurationDescriptorResult2 methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_get_ProtocolError(This,value) (This)->lpVtbl->get_ProtocolError(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattReadClientCharacteristicConfigurationDescriptorResult2 methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_get_ProtocolError(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2* This,__FIReference_1_BYTE **value) {
    return This->lpVtbl->get_ProtocolError(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattReadClientCharacteristicConfigurationDescriptorResult2 IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2
#define IGattReadClientCharacteristicConfigurationDescriptorResult2Vtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2Vtbl
#define IGattReadClientCharacteristicConfigurationDescriptorResult2 __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2
#define IGattReadClientCharacteristicConfigurationDescriptorResult2_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_QueryInterface
#define IGattReadClientCharacteristicConfigurationDescriptorResult2_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_AddRef
#define IGattReadClientCharacteristicConfigurationDescriptorResult2_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_Release
#define IGattReadClientCharacteristicConfigurationDescriptorResult2_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_GetIids
#define IGattReadClientCharacteristicConfigurationDescriptorResult2_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_GetRuntimeClassName
#define IGattReadClientCharacteristicConfigurationDescriptorResult2_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_GetTrustLevel
#define IGattReadClientCharacteristicConfigurationDescriptorResult2_get_ProtocolError __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_get_ProtocolError
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult2_INTERFACE_DEFINED__ */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadClientCharacteristicConfigurationDescriptorResult
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadClientCharacteristicConfigurationDescriptorResult_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadClientCharacteristicConfigurationDescriptorResult_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadClientCharacteristicConfigurationDescriptorResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','R','e','a','d','C','l','i','e','n','t','C','h','a','r','a','c','t','e','r','i','s','t','i','c','C','o','n','f','i','g','u','r','a','t','i','o','n','D','e','s','c','r','i','p','t','o','r','R','e','s','u','l','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadClientCharacteristicConfigurationDescriptorResult[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadClientCharacteristicConfigurationDescriptorResult";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadClientCharacteristicConfigurationDescriptorResult[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','R','e','a','d','C','l','i','e','n','t','C','h','a','r','a','c','t','e','r','i','s','t','i','c','C','o','n','f','i','g','u','r','a','t','i','o','n','D','e','s','c','r','i','p','t','o','r','R','e','s','u','l','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattReadClientCharacteristicConfigurationDescriptorResult_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IGattPresentationFormat interface
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat, 0x196d0021, 0xfaad, 0x45dc, 0xae,0x5b, 0x2a,0xc3,0x18,0x4e,0x84,0xdb);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Devices {
            namespace Bluetooth {
                namespace GenericAttributeProfile {
                    MIDL_INTERFACE("196d0021-faad-45dc-ae5b-2ac3184e84db")
                    IGattPresentationFormat : public IInspectable
                    {
                        virtual HRESULT STDMETHODCALLTYPE get_FormatType(
                            BYTE *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Exponent(
                            INT32 *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Unit(
                            UINT16 *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Namespace(
                            BYTE *value) = 0;

                        virtual HRESULT STDMETHODCALLTYPE get_Description(
                            UINT16 *value) = 0;

                    };
                }
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat, 0x196d0021, 0xfaad, 0x45dc, 0xae,0x5b, 0x2a,0xc3,0x18,0x4e,0x84,0xdb)
#endif
#else
typedef struct __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IGattPresentationFormat methods ***/
    HRESULT (STDMETHODCALLTYPE *get_FormatType)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat *This,
        BYTE *value);

    HRESULT (STDMETHODCALLTYPE *get_Exponent)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat *This,
        INT32 *value);

    HRESULT (STDMETHODCALLTYPE *get_Unit)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat *This,
        UINT16 *value);

    HRESULT (STDMETHODCALLTYPE *get_Namespace)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat *This,
        BYTE *value);

    HRESULT (STDMETHODCALLTYPE *get_Description)(
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat *This,
        UINT16 *value);

    END_INTERFACE
} __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatVtbl;

interface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat {
    CONST_VTBL __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IGattPresentationFormat methods ***/
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_FormatType(This,value) (This)->lpVtbl->get_FormatType(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Exponent(This,value) (This)->lpVtbl->get_Exponent(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Unit(This,value) (This)->lpVtbl->get_Unit(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Namespace(This,value) (This)->lpVtbl->get_Namespace(This,value)
#define __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Description(This,value) (This)->lpVtbl->get_Description(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_QueryInterface(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_AddRef(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_Release(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_GetIids(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_GetRuntimeClassName(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_GetTrustLevel(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IGattPresentationFormat methods ***/
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_FormatType(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat* This,BYTE *value) {
    return This->lpVtbl->get_FormatType(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Exponent(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat* This,INT32 *value) {
    return This->lpVtbl->get_Exponent(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Unit(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat* This,UINT16 *value) {
    return This->lpVtbl->get_Unit(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Namespace(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat* This,BYTE *value) {
    return This->lpVtbl->get_Namespace(This,value);
}
static inline HRESULT __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Description(__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat* This,UINT16 *value) {
    return This->lpVtbl->get_Description(This,value);
}
#endif
#ifdef WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile
#define IID_IGattPresentationFormat IID___x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat
#define IGattPresentationFormatVtbl __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormatVtbl
#define IGattPresentationFormat __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat
#define IGattPresentationFormat_QueryInterface __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_QueryInterface
#define IGattPresentationFormat_AddRef __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_AddRef
#define IGattPresentationFormat_Release __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_Release
#define IGattPresentationFormat_GetIids __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_GetIids
#define IGattPresentationFormat_GetRuntimeClassName __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_GetRuntimeClassName
#define IGattPresentationFormat_GetTrustLevel __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_GetTrustLevel
#define IGattPresentationFormat_get_FormatType __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_FormatType
#define IGattPresentationFormat_get_Exponent __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Exponent
#define IGattPresentationFormat_get_Unit __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Unit
#define IGattPresentationFormat_get_Namespace __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Namespace
#define IGattPresentationFormat_get_Description __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat_get_Description
#endif /* WIDL_using_Windows_Devices_Bluetooth_GenericAttributeProfile */
#endif

#endif

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

/*
 * Class Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifndef RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattPresentationFormat_DEFINED
#define RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattPresentationFormat_DEFINED
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static const WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattPresentationFormat[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','P','r','e','s','e','n','t','a','t','i','o','n','F','o','r','m','a','t',0};
#elif defined(__GNUC__) && !defined(__cplusplus)
const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattPresentationFormat[] = L"Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat";
#else
extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Devices_Bluetooth_GenericAttributeProfile_GattPresentationFormat[] = {'W','i','n','d','o','w','s','.','D','e','v','i','c','e','s','.','B','l','u','e','t','o','o','t','h','.','G','e','n','e','r','i','c','A','t','t','r','i','b','u','t','e','P','r','o','f','i','l','e','.','G','a','t','t','P','r','e','s','e','n','t','a','t','i','o','n','F','o','r','m','a','t',0};
#endif
#endif /* RUNTIMECLASS_Windows_Devices_Bluetooth_GenericAttributeProfile_GattPresentationFormat_DEFINED */
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */

/*****************************************************************************
 * IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > interface
 */
#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic, 0x1ffc4777, 0x4346, 0x5564, 0xb7,0xa5, 0x59,0xea,0xe3,0x85,0xf4,0xf6);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("1ffc4777-4346-5564-b7a5-59eae385f4f6")
                IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic, 0x1ffc4777, 0x4346, 0x5564, 0xb7,0xa5, 0x59,0xea,0xe3,0x85,0xf4,0xf6)
#endif
#else
typedef struct __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic **value);

    HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *MoveNext)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic *This,
        UINT32 items_size,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl;

interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic {
    CONST_VTBL __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_QueryInterface(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_AddRef(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Release(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetIids(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetRuntimeClassName(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetTrustLevel(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_get_Current(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic **value) {
    return This->lpVtbl->get_Current(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_get_HasCurrent(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_MoveNext(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetMany(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,UINT32 items_size,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_GattCharacteristic IID___FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic
#define IIterator_GattCharacteristicVtbl __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl
#define IIterator_GattCharacteristic __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic
#define IIterator_GattCharacteristic_QueryInterface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_QueryInterface
#define IIterator_GattCharacteristic_AddRef __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_AddRef
#define IIterator_GattCharacteristic_Release __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Release
#define IIterator_GattCharacteristic_GetIids __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetIids
#define IIterator_GattCharacteristic_GetRuntimeClassName __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetRuntimeClassName
#define IIterator_GattCharacteristic_GetTrustLevel __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetTrustLevel
#define IIterator_GattCharacteristic_get_Current __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_get_Current
#define IIterator_GattCharacteristic_get_HasCurrent __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_get_HasCurrent
#define IIterator_GattCharacteristic_MoveNext __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_MoveNext
#define IIterator_GattCharacteristic_GetMany __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > interface
 */
#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic, 0xe3c56728, 0x7f2d, 0x5a0d, 0xad,0x38, 0x03,0x0d,0x39,0xc6,0x0f,0x9f);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("e3c56728-7f2d-5a0d-ad38-030d39c60f9f")
                IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic, 0xe3c56728, 0x7f2d, 0x5a0d, 0xad,0x38, 0x03,0x0d,0x39,0xc6,0x0f,0x9f)
#endif
#else
typedef struct __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic *This,
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic **value);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl;

interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic {
    CONST_VTBL __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_QueryInterface(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_AddRef(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Release(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetIids(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetRuntimeClassName(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetTrustLevel(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_First(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_GattCharacteristic IID___FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic
#define IIterable_GattCharacteristicVtbl __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl
#define IIterable_GattCharacteristic __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic
#define IIterable_GattCharacteristic_QueryInterface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_QueryInterface
#define IIterable_GattCharacteristic_AddRef __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_AddRef
#define IIterable_GattCharacteristic_Release __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Release
#define IIterable_GattCharacteristic_GetIids __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetIids
#define IIterable_GattCharacteristic_GetRuntimeClassName __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetRuntimeClassName
#define IIterable_GattCharacteristic_GetTrustLevel __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetTrustLevel
#define IIterable_GattCharacteristic_First __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > interface
 */
#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic, 0xcb3ab3ae, 0xb561, 0x504f, 0xa8,0x08, 0x59,0x9d,0xec,0xeb,0x2d,0xf4);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("cb3ab3ae-b561-504f-a808-599deceb2df4")
                IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic, 0xcb3ab3ae, 0xb561, 0x504f, 0xa8,0x08, 0x59,0x9d,0xec,0xeb,0x2d,0xf4)
#endif
#else
typedef struct __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic *This,
        UINT32 index,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic **value);

    HRESULT (STDMETHODCALLTYPE *get_Size)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic *This,
        UINT32 start_index,
        UINT32 items_size,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic **items,
        UINT32 *value);

    END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl;

interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic {
    CONST_VTBL __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_QueryInterface(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_AddRef(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Release(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetIids(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetRuntimeClassName(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetTrustLevel(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic* > methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetAt(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,UINT32 index,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_get_Size(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_IndexOf(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetMany(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVectorView_GattCharacteristic IID___FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic
#define IVectorView_GattCharacteristicVtbl __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicVtbl
#define IVectorView_GattCharacteristic __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic
#define IVectorView_GattCharacteristic_QueryInterface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_QueryInterface
#define IVectorView_GattCharacteristic_AddRef __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_AddRef
#define IVectorView_GattCharacteristic_Release __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Release
#define IVectorView_GattCharacteristic_GetIids __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetIids
#define IVectorView_GattCharacteristic_GetRuntimeClassName __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetRuntimeClassName
#define IVectorView_GattCharacteristic_GetTrustLevel __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetTrustLevel
#define IVectorView_GattCharacteristic_GetAt __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetAt
#define IVectorView_GattCharacteristic_get_Size __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_get_Size
#define IVectorView_GattCharacteristic_IndexOf __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_IndexOf
#define IVectorView_GattCharacteristic_GetMany __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > interface
 */
#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor, 0x3d8df436, 0xcefb, 0x5ffb, 0x85,0x8c, 0x48,0x82,0xce,0x1d,0xa0,0x79);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("3d8df436-cefb-5ffb-858c-4882ce1da079")
                IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptor* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor, 0x3d8df436, 0xcefb, 0x5ffb, 0x85,0x8c, 0x48,0x82,0xce,0x1d,0xa0,0x79)
#endif
#else
typedef struct __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor **value);

    HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *MoveNext)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor *This,
        UINT32 items_size,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl;

interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor {
    CONST_VTBL __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_QueryInterface(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_AddRef(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_Release(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetIids(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetRuntimeClassName(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetTrustLevel(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_get_Current(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor **value) {
    return This->lpVtbl->get_Current(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_get_HasCurrent(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_MoveNext(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetMany(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,UINT32 items_size,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_GattDescriptor IID___FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor
#define IIterator_GattDescriptorVtbl __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl
#define IIterator_GattDescriptor __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor
#define IIterator_GattDescriptor_QueryInterface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_QueryInterface
#define IIterator_GattDescriptor_AddRef __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_AddRef
#define IIterator_GattDescriptor_Release __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_Release
#define IIterator_GattDescriptor_GetIids __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetIids
#define IIterator_GattDescriptor_GetRuntimeClassName __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetRuntimeClassName
#define IIterator_GattDescriptor_GetTrustLevel __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetTrustLevel
#define IIterator_GattDescriptor_get_Current __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_get_Current
#define IIterator_GattDescriptor_get_HasCurrent __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_get_HasCurrent
#define IIterator_GattDescriptor_MoveNext __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_MoveNext
#define IIterator_GattDescriptor_GetMany __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > interface
 */
#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor, 0x30e2ffc4, 0x3aa3, 0x5219, 0x9a,0x18, 0xca,0x2d,0x0b,0x65,0x62,0xe8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("30e2ffc4-3aa3-5219-9a18-ca2d0b6562e8")
                IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptor* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor, 0x30e2ffc4, 0x3aa3, 0x5219, 0x9a,0x18, 0xca,0x2d,0x0b,0x65,0x62,0xe8)
#endif
#else
typedef struct __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor *This,
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor **value);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl;

interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor {
    CONST_VTBL __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_QueryInterface(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_AddRef(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_Release(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetIids(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetRuntimeClassName(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetTrustLevel(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_First(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_GattDescriptor IID___FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor
#define IIterable_GattDescriptorVtbl __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl
#define IIterable_GattDescriptor __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor
#define IIterable_GattDescriptor_QueryInterface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_QueryInterface
#define IIterable_GattDescriptor_AddRef __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_AddRef
#define IIterable_GattDescriptor_Release __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_Release
#define IIterable_GattDescriptor_GetIids __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetIids
#define IIterable_GattDescriptor_GetRuntimeClassName __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetRuntimeClassName
#define IIterable_GattDescriptor_GetTrustLevel __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetTrustLevel
#define IIterable_GattDescriptor_First __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > interface
 */
#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor, 0x19605ea8, 0x73d6, 0x5760, 0x84,0x9b, 0xfe,0x5f,0x8a,0x2b,0xd0,0x5c);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("19605ea8-73d6-5760-849b-fe5f8a2bd05c")
                IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptor* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor, 0x19605ea8, 0x73d6, 0x5760, 0x84,0x9b, 0xfe,0x5f,0x8a,0x2b,0xd0,0x5c)
#endif
#else
typedef struct __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor *This,
        UINT32 index,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor **value);

    HRESULT (STDMETHODCALLTYPE *get_Size)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor *element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor *This,
        UINT32 start_index,
        UINT32 items_size,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor **items,
        UINT32 *value);

    END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl;

interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor {
    CONST_VTBL __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_QueryInterface(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_AddRef(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_Release(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetIids(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetRuntimeClassName(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetTrustLevel(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor* > methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetAt(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,UINT32 index,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_get_Size(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_IndexOf(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetMany(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptor **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVectorView_GattDescriptor IID___FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor
#define IVectorView_GattDescriptorVtbl __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorVtbl
#define IVectorView_GattDescriptor __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor
#define IVectorView_GattDescriptor_QueryInterface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_QueryInterface
#define IVectorView_GattDescriptor_AddRef __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_AddRef
#define IVectorView_GattDescriptor_Release __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_Release
#define IVectorView_GattDescriptor_GetIids __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetIids
#define IVectorView_GattDescriptor_GetRuntimeClassName __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetRuntimeClassName
#define IVectorView_GattDescriptor_GetTrustLevel __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetTrustLevel
#define IVectorView_GattDescriptor_GetAt __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetAt
#define IVectorView_GattDescriptor_get_Size __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_get_Size
#define IVectorView_GattDescriptor_IndexOf __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_IndexOf
#define IVectorView_GattDescriptor_GetMany __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptor_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > interface
 */
#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat, 0x20006c53, 0x5dda, 0x5319, 0x91,0xb1, 0xc6,0xf2,0x8f,0xe6,0x59,0x33);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("20006c53-5dda-5319-91b1-c6f28fe65933")
                IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattPresentationFormat* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat, 0x20006c53, 0x5dda, 0x5319, 0x91,0xb1, 0xc6,0xf2,0x8f,0xe6,0x59,0x33)
#endif
#else
typedef struct __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat **value);

    HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *MoveNext)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat *This,
        UINT32 items_size,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl;

interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat {
    CONST_VTBL __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_QueryInterface(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_AddRef(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_Release(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetIids(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetRuntimeClassName(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetTrustLevel(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_get_Current(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat **value) {
    return This->lpVtbl->get_Current(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_get_HasCurrent(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_MoveNext(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetMany(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,UINT32 items_size,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_GattPresentationFormat IID___FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat
#define IIterator_GattPresentationFormatVtbl __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl
#define IIterator_GattPresentationFormat __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat
#define IIterator_GattPresentationFormat_QueryInterface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_QueryInterface
#define IIterator_GattPresentationFormat_AddRef __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_AddRef
#define IIterator_GattPresentationFormat_Release __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_Release
#define IIterator_GattPresentationFormat_GetIids __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetIids
#define IIterator_GattPresentationFormat_GetRuntimeClassName __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetRuntimeClassName
#define IIterator_GattPresentationFormat_GetTrustLevel __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetTrustLevel
#define IIterator_GattPresentationFormat_get_Current __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_get_Current
#define IIterator_GattPresentationFormat_get_HasCurrent __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_get_HasCurrent
#define IIterator_GattPresentationFormat_MoveNext __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_MoveNext
#define IIterator_GattPresentationFormat_GetMany __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > interface
 */
#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat, 0xd75fcef1, 0xc10e, 0x5b7b, 0xb1,0x30, 0xf5,0xa0,0x03,0x14,0xd3,0x5d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("d75fcef1-c10e-5b7b-b130-f5a00314d35d")
                IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattPresentationFormat* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat, 0xd75fcef1, 0xc10e, 0x5b7b, 0xb1,0x30, 0xf5,0xa0,0x03,0x14,0xd3,0x5d)
#endif
#else
typedef struct __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat *This,
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat **value);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl;

interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat {
    CONST_VTBL __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_QueryInterface(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_AddRef(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_Release(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetIids(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetRuntimeClassName(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetTrustLevel(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_First(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_GattPresentationFormat IID___FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat
#define IIterable_GattPresentationFormatVtbl __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl
#define IIterable_GattPresentationFormat __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat
#define IIterable_GattPresentationFormat_QueryInterface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_QueryInterface
#define IIterable_GattPresentationFormat_AddRef __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_AddRef
#define IIterable_GattPresentationFormat_Release __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_Release
#define IIterable_GattPresentationFormat_GetIids __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetIids
#define IIterable_GattPresentationFormat_GetRuntimeClassName __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetRuntimeClassName
#define IIterable_GattPresentationFormat_GetTrustLevel __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetTrustLevel
#define IIterable_GattPresentationFormat_First __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > interface
 */
#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat, 0x0ea2c154, 0x22b8, 0x5c8e, 0x92,0x5d, 0xd4,0x7e,0x1a,0xad,0x31,0xbb);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("0ea2c154-22b8-5c8e-925d-d47e1aad31bb")
                IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattPresentationFormat* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat, 0x0ea2c154, 0x22b8, 0x5c8e, 0x92,0x5d, 0xd4,0x7e,0x1a,0xad,0x31,0xbb)
#endif
#else
typedef struct __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat *This,
        UINT32 index,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat **value);

    HRESULT (STDMETHODCALLTYPE *get_Size)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat *element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat *This,
        UINT32 start_index,
        UINT32 items_size,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat **items,
        UINT32 *value);

    END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl;

interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat {
    CONST_VTBL __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_QueryInterface(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_AddRef(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_Release(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetIids(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetRuntimeClassName(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetTrustLevel(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat* > methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetAt(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,UINT32 index,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_get_Size(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_IndexOf(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetMany(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattPresentationFormat **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVectorView_GattPresentationFormat IID___FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat
#define IVectorView_GattPresentationFormatVtbl __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormatVtbl
#define IVectorView_GattPresentationFormat __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat
#define IVectorView_GattPresentationFormat_QueryInterface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_QueryInterface
#define IVectorView_GattPresentationFormat_AddRef __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_AddRef
#define IVectorView_GattPresentationFormat_Release __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_Release
#define IVectorView_GattPresentationFormat_GetIids __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetIids
#define IVectorView_GattPresentationFormat_GetRuntimeClassName __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetRuntimeClassName
#define IVectorView_GattPresentationFormat_GetTrustLevel __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetTrustLevel
#define IVectorView_GattPresentationFormat_GetAt __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetAt
#define IVectorView_GattPresentationFormat_get_Size __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_get_Size
#define IVectorView_GattPresentationFormat_IndexOf __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_IndexOf
#define IVectorView_GattPresentationFormat_GetMany __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattPresentationFormat_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > interface
 */
#ifndef ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService, 0x8beb3a26, 0x73ca, 0x50f3, 0xa1,0xd3, 0x41,0x8c,0x60,0xa9,0xf3,0xb2);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("8beb3a26-73ca-50f3-a1d3-418c60a9f3b2")
                IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService, 0x8beb3a26, 0x73ca, 0x50f3, 0xa1,0xd3, 0x41,0x8c,0x60,0xa9,0xf3,0xb2)
#endif
#else
typedef struct __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Current)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **value);

    HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *MoveNext)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        boolean *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        UINT32 items_size,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **items,
        UINT32 *value);

    END_INTERFACE
} __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl;

interface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService {
    CONST_VTBL __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
#define __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterator<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_Current(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **value) {
    return This->lpVtbl->get_Current(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_HasCurrent(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,boolean *value) {
    return This->lpVtbl->get_HasCurrent(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_MoveNext(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,boolean *value) {
    return This->lpVtbl->MoveNext(This,value);
}
static inline HRESULT __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetMany(__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,UINT32 items_size,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterator_GattDeviceService IID___FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService
#define IIterator_GattDeviceServiceVtbl __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl
#define IIterator_GattDeviceService __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService
#define IIterator_GattDeviceService_QueryInterface __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface
#define IIterator_GattDeviceService_AddRef __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef
#define IIterator_GattDeviceService_Release __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release
#define IIterator_GattDeviceService_GetIids __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids
#define IIterator_GattDeviceService_GetRuntimeClassName __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName
#define IIterator_GattDeviceService_GetTrustLevel __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel
#define IIterator_GattDeviceService_get_Current __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_Current
#define IIterator_GattDeviceService_get_HasCurrent __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_HasCurrent
#define IIterator_GattDeviceService_MoveNext __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_MoveNext
#define IIterator_GattDeviceService_GetMany __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > interface
 */
#ifndef ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService, 0x4b192e23, 0x4893, 0x56b2, 0x8e,0xff, 0x43,0x9c,0x3a,0xb7,0xfd,0x1f);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("4b192e23-4893-56b2-8eff-439c3ab7fd1f")
                IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService, 0x4b192e23, 0x4893, 0x56b2, 0x8e,0xff, 0x43,0x9c,0x3a,0xb7,0xfd,0x1f)
#endif
#else
typedef struct __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
    HRESULT (STDMETHODCALLTYPE *First)(
        __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        __FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **value);

    END_INTERFACE
} __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl;

interface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService {
    CONST_VTBL __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
#define __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_First(This,value) (This)->lpVtbl->First(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IIterable<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
static inline HRESULT __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_First(__FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,__FIIterator_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **value) {
    return This->lpVtbl->First(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IIterable_GattDeviceService IID___FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService
#define IIterable_GattDeviceServiceVtbl __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl
#define IIterable_GattDeviceService __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService
#define IIterable_GattDeviceService_QueryInterface __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface
#define IIterable_GattDeviceService_AddRef __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef
#define IIterable_GattDeviceService_Release __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release
#define IIterable_GattDeviceService_GetIids __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids
#define IIterable_GattDeviceService_GetRuntimeClassName __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName
#define IIterable_GattDeviceService_GetTrustLevel __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel
#define IIterable_GattDeviceService_First __FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_First
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIIterable_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > interface
 */
#ifndef ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService, 0x7c8e7fdd, 0xa1a1, 0x528a, 0x81,0xd1, 0x29,0x67,0x69,0x22,0x7a,0x08);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                template<>
                MIDL_INTERFACE("7c8e7fdd-a1a1-528a-81d1-296769227a08")
                IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService* > >
                {
                };
            }
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService, 0x7c8e7fdd, 0xa1a1, 0x528a, 0x81,0xd1, 0x29,0x67,0x69,0x22,0x7a,0x08)
#endif
#else
typedef struct __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
    HRESULT (STDMETHODCALLTYPE *GetAt)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        UINT32 index,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **value);

    HRESULT (STDMETHODCALLTYPE *get_Size)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        UINT32 *value);

    HRESULT (STDMETHODCALLTYPE *IndexOf)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService *element,
        UINT32 *index,
        BOOLEAN *value);

    HRESULT (STDMETHODCALLTYPE *GetMany)(
        __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        UINT32 start_index,
        UINT32 items_size,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **items,
        UINT32 *value);

    END_INTERFACE
} __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl;

interface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService {
    CONST_VTBL __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
#define __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IVectorView<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetAt(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,UINT32 index,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **value) {
    return This->lpVtbl->GetAt(This,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_Size(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,UINT32 *value) {
    return This->lpVtbl->get_Size(This,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_IndexOf(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService *element,UINT32 *index,BOOLEAN *value) {
    return This->lpVtbl->IndexOf(This,element,index,value);
}
static inline HRESULT __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetMany(__FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **items,UINT32 *value) {
    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation_Collections
#define IID_IVectorView_GattDeviceService IID___FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService
#define IVectorView_GattDeviceServiceVtbl __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl
#define IVectorView_GattDeviceService __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService
#define IVectorView_GattDeviceService_QueryInterface __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface
#define IVectorView_GattDeviceService_AddRef __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef
#define IVectorView_GattDeviceService_Release __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release
#define IVectorView_GattDeviceService_GetIids __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids
#define IVectorView_GattDeviceService_GetRuntimeClassName __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName
#define IVectorView_GattDeviceService_GetTrustLevel __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel
#define IVectorView_GattDeviceService_GetAt __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetAt
#define IVectorView_GattDeviceService_get_Size __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_Size
#define IVectorView_GattDeviceService_IndexOf __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_IndexOf
#define IVectorView_GattDeviceService_GetMany __FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetMany
#endif /* WIDL_using_Windows_Foundation_Collections */
#endif

#endif

#endif  /* ____FIVectorView_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult, 0xd8992aa0, 0xeac2, 0x55b7, 0x92,0xc5, 0x89,0x48,0x86,0xbe,0xb0,0xca);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("d8992aa0-eac2-55b7-92c5-894886beb0ca")
            IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult, 0xd8992aa0, 0xeac2, 0x55b7, 0x92,0xc5, 0x89,0x48,0x86,0xbe,0xb0,0xca)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResultVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_Release(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_GattReadResult IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult
#define IAsyncOperationCompletedHandler_GattReadResultVtbl __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResultVtbl
#define IAsyncOperationCompletedHandler_GattReadResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult
#define IAsyncOperationCompletedHandler_GattReadResult_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_QueryInterface
#define IAsyncOperationCompletedHandler_GattReadResult_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_AddRef
#define IAsyncOperationCompletedHandler_GattReadResult_Release __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_Release
#define IAsyncOperationCompletedHandler_GattReadResult_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult, 0xd40432a8, 0x1e14, 0x51d0, 0xb4,0x9b, 0xae,0x2c,0xe1,0xaa,0x05,0xe5);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("d40432a8-1e14-51d0-b49b-ae2ce1aa05e5")
            IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult, 0xd40432a8, 0x1e14, 0x51d0, 0xb4,0x9b, 0xae,0x2c,0xe1,0xaa,0x05,0xe5)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResultVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult {
    CONST_VTBL __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_QueryInterface(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_AddRef(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_Release(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetIids(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetTrustLevel(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_put_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_get_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetResults(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadResult **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_GattReadResult IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult
#define IAsyncOperation_GattReadResultVtbl __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResultVtbl
#define IAsyncOperation_GattReadResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult
#define IAsyncOperation_GattReadResult_QueryInterface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_QueryInterface
#define IAsyncOperation_GattReadResult_AddRef __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_AddRef
#define IAsyncOperation_GattReadResult_Release __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_Release
#define IAsyncOperation_GattReadResult_GetIids __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetIids
#define IAsyncOperation_GattReadResult_GetRuntimeClassName __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetRuntimeClassName
#define IAsyncOperation_GattReadResult_GetTrustLevel __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetTrustLevel
#define IAsyncOperation_GattReadResult_put_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_put_Completed
#define IAsyncOperation_GattReadResult_get_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_get_Completed
#define IAsyncOperation_GattReadResult_GetResults __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult, 0x6fa8c9c3, 0xff7e, 0x5fa1, 0xa2,0xf3, 0x27,0x14,0xcf,0x04,0xb8,0x99);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("6fa8c9c3-ff7e-5fa1-a2f3-2714cf04b899")
            IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattWriteResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult, 0x6fa8c9c3, 0xff7e, 0x5fa1, 0xa2,0xf3, 0x27,0x14,0xcf,0x04,0xb8,0x99)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResultVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_Release(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_GattWriteResult IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult
#define IAsyncOperationCompletedHandler_GattWriteResultVtbl __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResultVtbl
#define IAsyncOperationCompletedHandler_GattWriteResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult
#define IAsyncOperationCompletedHandler_GattWriteResult_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_QueryInterface
#define IAsyncOperationCompletedHandler_GattWriteResult_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_AddRef
#define IAsyncOperationCompletedHandler_GattWriteResult_Release __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_Release
#define IAsyncOperationCompletedHandler_GattWriteResult_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult, 0xe83b4534, 0xbd14, 0x5a9b, 0xa5,0x3b, 0x17,0xcc,0x02,0xa2,0xa8,0xa8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("e83b4534-bd14-5a9b-a53b-17cc02a2a8a8")
            IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattWriteResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult, 0xe83b4534, 0xbd14, 0x5a9b, 0xa5,0x3b, 0x17,0xcc,0x02,0xa2,0xa8,0xa8)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResultVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult {
    CONST_VTBL __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_QueryInterface(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_AddRef(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_Release(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetIids(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetTrustLevel(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_put_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_get_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetResults(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattWriteResult **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_GattWriteResult IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult
#define IAsyncOperation_GattWriteResultVtbl __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResultVtbl
#define IAsyncOperation_GattWriteResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult
#define IAsyncOperation_GattWriteResult_QueryInterface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_QueryInterface
#define IAsyncOperation_GattWriteResult_AddRef __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_AddRef
#define IAsyncOperation_GattWriteResult_Release __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_Release
#define IAsyncOperation_GattWriteResult_GetIids __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetIids
#define IAsyncOperation_GattWriteResult_GetRuntimeClassName __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetRuntimeClassName
#define IAsyncOperation_GattWriteResult_GetTrustLevel __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetTrustLevel
#define IAsyncOperation_GattWriteResult_put_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_put_Completed
#define IAsyncOperation_GattWriteResult_get_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_get_Completed
#define IAsyncOperation_GattWriteResult_GetResults __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattWriteResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_GattCommunicationStatus, 0x2154117a, 0x978d, 0x59db, 0x99,0xcf, 0x6b,0x69,0x0c,0xb3,0x38,0x9b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("2154117a-978d-59db-99cf-6b690cb3389b")
            IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_GattCommunicationStatus, 0x2154117a, 0x978d, 0x59db, 0x99,0xcf, 0x6b,0x69,0x0c,0xb3,0x38,0x9b)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_GattCommunicationStatusVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus *This,
        __FIAsyncOperation_1_GattCommunicationStatus *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_GattCommunicationStatusVtbl;

interface __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_GattCommunicationStatusVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > methods ***/
#define __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_QueryInterface(__FIAsyncOperationCompletedHandler_1_GattCommunicationStatus* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_AddRef(__FIAsyncOperationCompletedHandler_1_GattCommunicationStatus* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_Release(__FIAsyncOperationCompletedHandler_1_GattCommunicationStatus* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_Invoke(__FIAsyncOperationCompletedHandler_1_GattCommunicationStatus* This,__FIAsyncOperation_1_GattCommunicationStatus *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_GattCommunicationStatus IID___FIAsyncOperationCompletedHandler_1_GattCommunicationStatus
#define IAsyncOperationCompletedHandler_GattCommunicationStatusVtbl __FIAsyncOperationCompletedHandler_1_GattCommunicationStatusVtbl
#define IAsyncOperationCompletedHandler_GattCommunicationStatus __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus
#define IAsyncOperationCompletedHandler_GattCommunicationStatus_QueryInterface __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_QueryInterface
#define IAsyncOperationCompletedHandler_GattCommunicationStatus_AddRef __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_AddRef
#define IAsyncOperationCompletedHandler_GattCommunicationStatus_Release __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_Release
#define IAsyncOperationCompletedHandler_GattCommunicationStatus_Invoke __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_GattCommunicationStatus_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > interface
 */
#ifndef ____FIAsyncOperation_1_GattCommunicationStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_GattCommunicationStatus_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_GattCommunicationStatus, 0x3ff69516, 0x1bfb, 0x52e9, 0x9e,0xe6, 0xe5,0xcd,0xb7,0x8e,0x16,0x83);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("3ff69516-1bfb-52e9-9ee6-e5cdb78e1683")
            IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > : IAsyncOperation_impl<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_GattCommunicationStatus, 0x3ff69516, 0x1bfb, 0x52e9, 0x9e,0xe6, 0xe5,0xcd,0xb7,0x8e,0x16,0x83)
#endif
#else
typedef struct __FIAsyncOperation_1_GattCommunicationStatusVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_GattCommunicationStatus *This,
        __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_GattCommunicationStatus *This,
        __FIAsyncOperationCompletedHandler_1_GattCommunicationStatus **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_GattCommunicationStatus *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *results);

    END_INTERFACE
} __FIAsyncOperation_1_GattCommunicationStatusVtbl;

interface __FIAsyncOperation_1_GattCommunicationStatus {
    CONST_VTBL __FIAsyncOperation_1_GattCommunicationStatusVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_GattCommunicationStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_GattCommunicationStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_GattCommunicationStatus_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_GattCommunicationStatus_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_GattCommunicationStatus_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_GattCommunicationStatus_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > methods ***/
#define __FIAsyncOperation_1_GattCommunicationStatus_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_GattCommunicationStatus_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_GattCommunicationStatus_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_GattCommunicationStatus_QueryInterface(__FIAsyncOperation_1_GattCommunicationStatus* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_GattCommunicationStatus_AddRef(__FIAsyncOperation_1_GattCommunicationStatus* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_GattCommunicationStatus_Release(__FIAsyncOperation_1_GattCommunicationStatus* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_GattCommunicationStatus_GetIids(__FIAsyncOperation_1_GattCommunicationStatus* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_GattCommunicationStatus_GetRuntimeClassName(__FIAsyncOperation_1_GattCommunicationStatus* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_GattCommunicationStatus_GetTrustLevel(__FIAsyncOperation_1_GattCommunicationStatus* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus > methods ***/
static inline HRESULT __FIAsyncOperation_1_GattCommunicationStatus_put_Completed(__FIAsyncOperation_1_GattCommunicationStatus* This,__FIAsyncOperationCompletedHandler_1_GattCommunicationStatus *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_GattCommunicationStatus_get_Completed(__FIAsyncOperation_1_GattCommunicationStatus* This,__FIAsyncOperationCompletedHandler_1_GattCommunicationStatus **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_GattCommunicationStatus_GetResults(__FIAsyncOperation_1_GattCommunicationStatus* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattCommunicationStatus *results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_GattCommunicationStatus IID___FIAsyncOperation_1_GattCommunicationStatus
#define IAsyncOperation_GattCommunicationStatusVtbl __FIAsyncOperation_1_GattCommunicationStatusVtbl
#define IAsyncOperation_GattCommunicationStatus __FIAsyncOperation_1_GattCommunicationStatus
#define IAsyncOperation_GattCommunicationStatus_QueryInterface __FIAsyncOperation_1_GattCommunicationStatus_QueryInterface
#define IAsyncOperation_GattCommunicationStatus_AddRef __FIAsyncOperation_1_GattCommunicationStatus_AddRef
#define IAsyncOperation_GattCommunicationStatus_Release __FIAsyncOperation_1_GattCommunicationStatus_Release
#define IAsyncOperation_GattCommunicationStatus_GetIids __FIAsyncOperation_1_GattCommunicationStatus_GetIids
#define IAsyncOperation_GattCommunicationStatus_GetRuntimeClassName __FIAsyncOperation_1_GattCommunicationStatus_GetRuntimeClassName
#define IAsyncOperation_GattCommunicationStatus_GetTrustLevel __FIAsyncOperation_1_GattCommunicationStatus_GetTrustLevel
#define IAsyncOperation_GattCommunicationStatus_put_Completed __FIAsyncOperation_1_GattCommunicationStatus_put_Completed
#define IAsyncOperation_GattCommunicationStatus_get_Completed __FIAsyncOperation_1_GattCommunicationStatus_get_Completed
#define IAsyncOperation_GattCommunicationStatus_GetResults __FIAsyncOperation_1_GattCommunicationStatus_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_GattCommunicationStatus_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult, 0x98f9a6f3, 0x4d29, 0x5351, 0x8b,0x12, 0x75,0x1d,0xc9,0x77,0xa3,0x31);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("98f9a6f3-4d29-5351-8b12-751dc977a331")
            IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadClientCharacteristicConfigurationDescriptorResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult, 0x98f9a6f3, 0x4d29, 0x5351, 0x8b,0x12, 0x75,0x1d,0xc9,0x77,0xa3,0x31)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResultVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_Release(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_GattReadClientCharacteristicConfigurationDescriptorResult IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult
#define IAsyncOperationCompletedHandler_GattReadClientCharacteristicConfigurationDescriptorResultVtbl __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResultVtbl
#define IAsyncOperationCompletedHandler_GattReadClientCharacteristicConfigurationDescriptorResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult
#define IAsyncOperationCompletedHandler_GattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface
#define IAsyncOperationCompletedHandler_GattReadClientCharacteristicConfigurationDescriptorResult_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_AddRef
#define IAsyncOperationCompletedHandler_GattReadClientCharacteristicConfigurationDescriptorResult_Release __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_Release
#define IAsyncOperationCompletedHandler_GattReadClientCharacteristicConfigurationDescriptorResult_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult, 0xcf4444cc, 0x4077, 0x5719, 0x83,0x66, 0x46,0xe8,0x6b,0x98,0x36,0x85);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("cf4444cc-4077-5719-8366-46e86b983685")
            IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadClientCharacteristicConfigurationDescriptorResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult, 0xcf4444cc, 0x4077, 0x5719, 0x83,0x66, 0x46,0xe8,0x6b,0x98,0x36,0x85)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResultVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult {
    CONST_VTBL __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* > methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_AddRef(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_Release(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetIids(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetTrustLevel(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_put_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_get_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetResults(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattReadClientCharacteristicConfigurationDescriptorResult **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResult IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult
#define IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResultVtbl __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResultVtbl
#define IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult
#define IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_QueryInterface
#define IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResult_AddRef __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_AddRef
#define IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResult_Release __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_Release
#define IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResult_GetIids __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetIids
#define IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResult_GetRuntimeClassName __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetRuntimeClassName
#define IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResult_GetTrustLevel __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetTrustLevel
#define IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResult_put_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_put_Completed
#define IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResult_get_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_get_Completed
#define IAsyncOperation_GattReadClientCharacteristicConfigurationDescriptorResult_GetResults __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattReadClientCharacteristicConfigurationDescriptorResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceAccessStatus > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_DeviceAccessStatus, 0xee154d83, 0x805b, 0x53e8, 0x84,0x69, 0x90,0x71,0x50,0x36,0xd0,0x13);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("ee154d83-805b-53e8-8469-90715036d013")
            IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceAccessStatus > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Devices::Enumeration::DeviceAccessStatus >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_DeviceAccessStatus, 0xee154d83, 0x805b, 0x53e8, 0x84,0x69, 0x90,0x71,0x50,0x36,0xd0,0x13)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_DeviceAccessStatusVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceAccessStatus > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus *This,
        __FIAsyncOperation_1_DeviceAccessStatus *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_DeviceAccessStatusVtbl;

interface __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_DeviceAccessStatusVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceAccessStatus > methods ***/
#define __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_QueryInterface(__FIAsyncOperationCompletedHandler_1_DeviceAccessStatus* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_AddRef(__FIAsyncOperationCompletedHandler_1_DeviceAccessStatus* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_Release(__FIAsyncOperationCompletedHandler_1_DeviceAccessStatus* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Enumeration::DeviceAccessStatus > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_Invoke(__FIAsyncOperationCompletedHandler_1_DeviceAccessStatus* This,__FIAsyncOperation_1_DeviceAccessStatus *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_DeviceAccessStatus IID___FIAsyncOperationCompletedHandler_1_DeviceAccessStatus
#define IAsyncOperationCompletedHandler_DeviceAccessStatusVtbl __FIAsyncOperationCompletedHandler_1_DeviceAccessStatusVtbl
#define IAsyncOperationCompletedHandler_DeviceAccessStatus __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus
#define IAsyncOperationCompletedHandler_DeviceAccessStatus_QueryInterface __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_QueryInterface
#define IAsyncOperationCompletedHandler_DeviceAccessStatus_AddRef __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_AddRef
#define IAsyncOperationCompletedHandler_DeviceAccessStatus_Release __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_Release
#define IAsyncOperationCompletedHandler_DeviceAccessStatus_Invoke __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_DeviceAccessStatus_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceAccessStatus > interface
 */
#ifndef ____FIAsyncOperation_1_DeviceAccessStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_DeviceAccessStatus_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_DeviceAccessStatus, 0xc00bc2f2, 0xa7f8, 0x5f3f, 0x80,0xd1, 0x28,0x08,0xef,0x6b,0xca,0x10);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("c00bc2f2-a7f8-5f3f-80d1-2808ef6bca10")
            IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceAccessStatus > : IAsyncOperation_impl<ABI::Windows::Devices::Enumeration::DeviceAccessStatus >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_DeviceAccessStatus, 0xc00bc2f2, 0xa7f8, 0x5f3f, 0x80,0xd1, 0x28,0x08,0xef,0x6b,0xca,0x10)
#endif
#else
typedef struct __FIAsyncOperation_1_DeviceAccessStatusVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceAccessStatus > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_DeviceAccessStatus *This,
        __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_DeviceAccessStatus *This,
        __FIAsyncOperationCompletedHandler_1_DeviceAccessStatus **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_DeviceAccessStatus *This,
        __x_ABI_CWindows_CDevices_CEnumeration_CDeviceAccessStatus *results);

    END_INTERFACE
} __FIAsyncOperation_1_DeviceAccessStatusVtbl;

interface __FIAsyncOperation_1_DeviceAccessStatus {
    CONST_VTBL __FIAsyncOperation_1_DeviceAccessStatusVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_DeviceAccessStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_DeviceAccessStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_DeviceAccessStatus_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_DeviceAccessStatus_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_DeviceAccessStatus_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_DeviceAccessStatus_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceAccessStatus > methods ***/
#define __FIAsyncOperation_1_DeviceAccessStatus_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_DeviceAccessStatus_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_DeviceAccessStatus_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_DeviceAccessStatus_QueryInterface(__FIAsyncOperation_1_DeviceAccessStatus* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_DeviceAccessStatus_AddRef(__FIAsyncOperation_1_DeviceAccessStatus* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_DeviceAccessStatus_Release(__FIAsyncOperation_1_DeviceAccessStatus* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_DeviceAccessStatus_GetIids(__FIAsyncOperation_1_DeviceAccessStatus* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_DeviceAccessStatus_GetRuntimeClassName(__FIAsyncOperation_1_DeviceAccessStatus* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_DeviceAccessStatus_GetTrustLevel(__FIAsyncOperation_1_DeviceAccessStatus* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceAccessStatus > methods ***/
static inline HRESULT __FIAsyncOperation_1_DeviceAccessStatus_put_Completed(__FIAsyncOperation_1_DeviceAccessStatus* This,__FIAsyncOperationCompletedHandler_1_DeviceAccessStatus *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_DeviceAccessStatus_get_Completed(__FIAsyncOperation_1_DeviceAccessStatus* This,__FIAsyncOperationCompletedHandler_1_DeviceAccessStatus **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_DeviceAccessStatus_GetResults(__FIAsyncOperation_1_DeviceAccessStatus* This,__x_ABI_CWindows_CDevices_CEnumeration_CDeviceAccessStatus *results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_DeviceAccessStatus IID___FIAsyncOperation_1_DeviceAccessStatus
#define IAsyncOperation_DeviceAccessStatusVtbl __FIAsyncOperation_1_DeviceAccessStatusVtbl
#define IAsyncOperation_DeviceAccessStatus __FIAsyncOperation_1_DeviceAccessStatus
#define IAsyncOperation_DeviceAccessStatus_QueryInterface __FIAsyncOperation_1_DeviceAccessStatus_QueryInterface
#define IAsyncOperation_DeviceAccessStatus_AddRef __FIAsyncOperation_1_DeviceAccessStatus_AddRef
#define IAsyncOperation_DeviceAccessStatus_Release __FIAsyncOperation_1_DeviceAccessStatus_Release
#define IAsyncOperation_DeviceAccessStatus_GetIids __FIAsyncOperation_1_DeviceAccessStatus_GetIids
#define IAsyncOperation_DeviceAccessStatus_GetRuntimeClassName __FIAsyncOperation_1_DeviceAccessStatus_GetRuntimeClassName
#define IAsyncOperation_DeviceAccessStatus_GetTrustLevel __FIAsyncOperation_1_DeviceAccessStatus_GetTrustLevel
#define IAsyncOperation_DeviceAccessStatus_put_Completed __FIAsyncOperation_1_DeviceAccessStatus_put_Completed
#define IAsyncOperation_DeviceAccessStatus_get_Completed __FIAsyncOperation_1_DeviceAccessStatus_get_Completed
#define IAsyncOperation_DeviceAccessStatus_GetResults __FIAsyncOperation_1_DeviceAccessStatus_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_DeviceAccessStatus_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_GattOpenStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_GattOpenStatus_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_GattOpenStatus, 0x548b3cd0, 0xdce8, 0x5d3d, 0x98,0xab, 0x69,0x48,0xdd,0x7f,0x90,0xb8);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("548b3cd0-dce8-5d3d-98ab-6948dd7f90b8")
            IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_GattOpenStatus, 0x548b3cd0, 0xdce8, 0x5d3d, 0x98,0xab, 0x69,0x48,0xdd,0x7f,0x90,0xb8)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_GattOpenStatusVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_GattOpenStatus *This,
        __FIAsyncOperation_1_GattOpenStatus *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_GattOpenStatusVtbl;

interface __FIAsyncOperationCompletedHandler_1_GattOpenStatus {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_GattOpenStatusVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_GattOpenStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_GattOpenStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_GattOpenStatus_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus > methods ***/
#define __FIAsyncOperationCompletedHandler_1_GattOpenStatus_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_GattOpenStatus_QueryInterface(__FIAsyncOperationCompletedHandler_1_GattOpenStatus* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_GattOpenStatus_AddRef(__FIAsyncOperationCompletedHandler_1_GattOpenStatus* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_GattOpenStatus_Release(__FIAsyncOperationCompletedHandler_1_GattOpenStatus* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_GattOpenStatus_Invoke(__FIAsyncOperationCompletedHandler_1_GattOpenStatus* This,__FIAsyncOperation_1_GattOpenStatus *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_GattOpenStatus IID___FIAsyncOperationCompletedHandler_1_GattOpenStatus
#define IAsyncOperationCompletedHandler_GattOpenStatusVtbl __FIAsyncOperationCompletedHandler_1_GattOpenStatusVtbl
#define IAsyncOperationCompletedHandler_GattOpenStatus __FIAsyncOperationCompletedHandler_1_GattOpenStatus
#define IAsyncOperationCompletedHandler_GattOpenStatus_QueryInterface __FIAsyncOperationCompletedHandler_1_GattOpenStatus_QueryInterface
#define IAsyncOperationCompletedHandler_GattOpenStatus_AddRef __FIAsyncOperationCompletedHandler_1_GattOpenStatus_AddRef
#define IAsyncOperationCompletedHandler_GattOpenStatus_Release __FIAsyncOperationCompletedHandler_1_GattOpenStatus_Release
#define IAsyncOperationCompletedHandler_GattOpenStatus_Invoke __FIAsyncOperationCompletedHandler_1_GattOpenStatus_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_GattOpenStatus_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus > interface
 */
#ifndef ____FIAsyncOperation_1_GattOpenStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_GattOpenStatus_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_GattOpenStatus, 0x983201ac, 0x8777, 0x53e8, 0x86,0xe0, 0x63,0xfa,0x68,0x4b,0xe1,0xbd);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("983201ac-8777-53e8-86e0-63fa684be1bd")
            IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus > : IAsyncOperation_impl<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_GattOpenStatus, 0x983201ac, 0x8777, 0x53e8, 0x86,0xe0, 0x63,0xfa,0x68,0x4b,0xe1,0xbd)
#endif
#else
typedef struct __FIAsyncOperation_1_GattOpenStatusVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_GattOpenStatus *This,
        __FIAsyncOperationCompletedHandler_1_GattOpenStatus *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_GattOpenStatus *This,
        __FIAsyncOperationCompletedHandler_1_GattOpenStatus **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_GattOpenStatus *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattOpenStatus *results);

    END_INTERFACE
} __FIAsyncOperation_1_GattOpenStatusVtbl;

interface __FIAsyncOperation_1_GattOpenStatus {
    CONST_VTBL __FIAsyncOperation_1_GattOpenStatusVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_GattOpenStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_GattOpenStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_GattOpenStatus_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_GattOpenStatus_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_GattOpenStatus_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_GattOpenStatus_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus > methods ***/
#define __FIAsyncOperation_1_GattOpenStatus_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_GattOpenStatus_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_GattOpenStatus_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_GattOpenStatus_QueryInterface(__FIAsyncOperation_1_GattOpenStatus* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_GattOpenStatus_AddRef(__FIAsyncOperation_1_GattOpenStatus* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_GattOpenStatus_Release(__FIAsyncOperation_1_GattOpenStatus* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_GattOpenStatus_GetIids(__FIAsyncOperation_1_GattOpenStatus* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_GattOpenStatus_GetRuntimeClassName(__FIAsyncOperation_1_GattOpenStatus* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_GattOpenStatus_GetTrustLevel(__FIAsyncOperation_1_GattOpenStatus* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattOpenStatus > methods ***/
static inline HRESULT __FIAsyncOperation_1_GattOpenStatus_put_Completed(__FIAsyncOperation_1_GattOpenStatus* This,__FIAsyncOperationCompletedHandler_1_GattOpenStatus *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_GattOpenStatus_get_Completed(__FIAsyncOperation_1_GattOpenStatus* This,__FIAsyncOperationCompletedHandler_1_GattOpenStatus **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_GattOpenStatus_GetResults(__FIAsyncOperation_1_GattOpenStatus* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CGattOpenStatus *results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_GattOpenStatus IID___FIAsyncOperation_1_GattOpenStatus
#define IAsyncOperation_GattOpenStatusVtbl __FIAsyncOperation_1_GattOpenStatusVtbl
#define IAsyncOperation_GattOpenStatus __FIAsyncOperation_1_GattOpenStatus
#define IAsyncOperation_GattOpenStatus_QueryInterface __FIAsyncOperation_1_GattOpenStatus_QueryInterface
#define IAsyncOperation_GattOpenStatus_AddRef __FIAsyncOperation_1_GattOpenStatus_AddRef
#define IAsyncOperation_GattOpenStatus_Release __FIAsyncOperation_1_GattOpenStatus_Release
#define IAsyncOperation_GattOpenStatus_GetIids __FIAsyncOperation_1_GattOpenStatus_GetIids
#define IAsyncOperation_GattOpenStatus_GetRuntimeClassName __FIAsyncOperation_1_GattOpenStatus_GetRuntimeClassName
#define IAsyncOperation_GattOpenStatus_GetTrustLevel __FIAsyncOperation_1_GattOpenStatus_GetTrustLevel
#define IAsyncOperation_GattOpenStatus_put_Completed __FIAsyncOperation_1_GattOpenStatus_put_Completed
#define IAsyncOperation_GattOpenStatus_get_Completed __FIAsyncOperation_1_GattOpenStatus_get_Completed
#define IAsyncOperation_GattOpenStatus_GetResults __FIAsyncOperation_1_GattOpenStatus_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_GattOpenStatus_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult, 0xd6a15475, 0x1e72, 0x5c56, 0x98,0xe8, 0x88,0xf4,0xbc,0x3e,0x03,0x13);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("d6a15475-1e72-5c56-98e8-88f4bc3e0313")
            IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristicsResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult, 0xd6a15475, 0x1e72, 0x5c56, 0x98,0xe8, 0x88,0xf4,0xbc,0x3e,0x03,0x13)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResultVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_Release(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_GattCharacteristicsResult IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult
#define IAsyncOperationCompletedHandler_GattCharacteristicsResultVtbl __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResultVtbl
#define IAsyncOperationCompletedHandler_GattCharacteristicsResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult
#define IAsyncOperationCompletedHandler_GattCharacteristicsResult_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_QueryInterface
#define IAsyncOperationCompletedHandler_GattCharacteristicsResult_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_AddRef
#define IAsyncOperationCompletedHandler_GattCharacteristicsResult_Release __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_Release
#define IAsyncOperationCompletedHandler_GattCharacteristicsResult_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult, 0x0972194a, 0xac1c, 0x5536, 0x98,0x86, 0x27,0xe5,0x8a,0x18,0xf2,0x73);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("0972194a-ac1c-5536-9886-27e58a18f273")
            IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristicsResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult, 0x0972194a, 0xac1c, 0x5536, 0x98,0x86, 0x27,0xe5,0x8a,0x18,0xf2,0x73)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResultVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult {
    CONST_VTBL __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_QueryInterface(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_AddRef(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_Release(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetIids(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetTrustLevel(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_put_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_get_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetResults(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristicsResult **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_GattCharacteristicsResult IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult
#define IAsyncOperation_GattCharacteristicsResultVtbl __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResultVtbl
#define IAsyncOperation_GattCharacteristicsResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult
#define IAsyncOperation_GattCharacteristicsResult_QueryInterface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_QueryInterface
#define IAsyncOperation_GattCharacteristicsResult_AddRef __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_AddRef
#define IAsyncOperation_GattCharacteristicsResult_Release __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_Release
#define IAsyncOperation_GattCharacteristicsResult_GetIids __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetIids
#define IAsyncOperation_GattCharacteristicsResult_GetRuntimeClassName __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetRuntimeClassName
#define IAsyncOperation_GattCharacteristicsResult_GetTrustLevel __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetTrustLevel
#define IAsyncOperation_GattCharacteristicsResult_put_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_put_Completed
#define IAsyncOperation_GattCharacteristicsResult_get_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_get_Completed
#define IAsyncOperation_GattCharacteristicsResult_GetResults __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristicsResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult, 0x74ab0892, 0xa631, 0x5d6c, 0xb1,0xb4, 0xbd,0x2e,0x1a,0x74,0x1a,0x9b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("74ab0892-a631-5d6c-b1b4-bd2e1a741a9b")
            IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceServicesResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult, 0x74ab0892, 0xa631, 0x5d6c, 0xb1,0xb4, 0xbd,0x2e,0x1a,0x74,0x1a,0x9b)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResultVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_Release(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_GattDeviceServicesResult IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult
#define IAsyncOperationCompletedHandler_GattDeviceServicesResultVtbl __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResultVtbl
#define IAsyncOperationCompletedHandler_GattDeviceServicesResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult
#define IAsyncOperationCompletedHandler_GattDeviceServicesResult_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_QueryInterface
#define IAsyncOperationCompletedHandler_GattDeviceServicesResult_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_AddRef
#define IAsyncOperationCompletedHandler_GattDeviceServicesResult_Release __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_Release
#define IAsyncOperationCompletedHandler_GattDeviceServicesResult_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult, 0xe7c667f6, 0xe874, 0x500f, 0x86,0xff, 0x76,0x0c,0xa6,0xf0,0x7a,0x58);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("e7c667f6-e874-500f-86ff-760ca6f07a58")
            IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceServicesResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult, 0xe7c667f6, 0xe874, 0x500f, 0x86,0xff, 0x76,0x0c,0xa6,0xf0,0x7a,0x58)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResultVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult {
    CONST_VTBL __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_QueryInterface(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_AddRef(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_Release(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetIids(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetTrustLevel(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_put_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_get_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetResults(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceServicesResult **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_GattDeviceServicesResult IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult
#define IAsyncOperation_GattDeviceServicesResultVtbl __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResultVtbl
#define IAsyncOperation_GattDeviceServicesResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult
#define IAsyncOperation_GattDeviceServicesResult_QueryInterface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_QueryInterface
#define IAsyncOperation_GattDeviceServicesResult_AddRef __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_AddRef
#define IAsyncOperation_GattDeviceServicesResult_Release __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_Release
#define IAsyncOperation_GattDeviceServicesResult_GetIids __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetIids
#define IAsyncOperation_GattDeviceServicesResult_GetRuntimeClassName __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetRuntimeClassName
#define IAsyncOperation_GattDeviceServicesResult_GetTrustLevel __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetTrustLevel
#define IAsyncOperation_GattDeviceServicesResult_put_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_put_Completed
#define IAsyncOperation_GattDeviceServicesResult_get_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_get_Completed
#define IAsyncOperation_GattDeviceServicesResult_GetResults __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServicesResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession, 0xcae01a28, 0xfd33, 0x542e, 0xa5,0xad, 0x3d,0x87,0x8f,0x73,0xdb,0x90);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("cae01a28-fd33-542e-a5ad-3d878f73db90")
            IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSession* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession, 0xcae01a28, 0xfd33, 0x542e, 0xa5,0xad, 0x3d,0x87,0x8f,0x73,0xdb,0x90)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Release(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_GattSession IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession
#define IAsyncOperationCompletedHandler_GattSessionVtbl __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionVtbl
#define IAsyncOperationCompletedHandler_GattSession __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession
#define IAsyncOperationCompletedHandler_GattSession_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_QueryInterface
#define IAsyncOperationCompletedHandler_GattSession_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_AddRef
#define IAsyncOperationCompletedHandler_GattSession_Release __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Release
#define IAsyncOperationCompletedHandler_GattSession_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession, 0x6d40b467, 0x46b9, 0x516f, 0x82,0x08, 0xdb,0x23,0xb7,0x86,0xea,0x48);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("6d40b467-46b9-516f-8208-db23b786ea48")
            IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSession* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession, 0x6d40b467, 0x46b9, 0x516f, 0x82,0x08, 0xdb,0x23,0xb7,0x86,0xea,0x48)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession {
    CONST_VTBL __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* > methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_QueryInterface(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_AddRef(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Release(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetIids(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetTrustLevel(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_put_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_get_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetResults(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_GattSession IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession
#define IAsyncOperation_GattSessionVtbl __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionVtbl
#define IAsyncOperation_GattSession __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession
#define IAsyncOperation_GattSession_QueryInterface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_QueryInterface
#define IAsyncOperation_GattSession_AddRef __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_AddRef
#define IAsyncOperation_GattSession_Release __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Release
#define IAsyncOperation_GattSession_GetIids __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetIids
#define IAsyncOperation_GattSession_GetRuntimeClassName __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetRuntimeClassName
#define IAsyncOperation_GattSession_GetTrustLevel __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetTrustLevel
#define IAsyncOperation_GattSession_put_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_put_Completed
#define IAsyncOperation_GattSession_get_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_get_Completed
#define IAsyncOperation_GattSession_GetResults __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService, 0x2dbcf64a, 0x262b, 0x5708, 0xad,0xb1, 0xc3,0xb8,0x75,0x0b,0xd6,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("2dbcf64a-262b-5708-adb1-c3b8750bd680")
            IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService, 0x2dbcf64a, 0x262b, 0x5708, 0xad,0xb1, 0xc3,0xb8,0x75,0x0b,0xd6,0x80)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_GattDeviceService IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService
#define IAsyncOperationCompletedHandler_GattDeviceServiceVtbl __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl
#define IAsyncOperationCompletedHandler_GattDeviceService __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService
#define IAsyncOperationCompletedHandler_GattDeviceService_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface
#define IAsyncOperationCompletedHandler_GattDeviceService_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef
#define IAsyncOperationCompletedHandler_GattDeviceService_Release __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release
#define IAsyncOperationCompletedHandler_GattDeviceService_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService, 0xe5e90272, 0x408f, 0x5055, 0x9b,0xd3, 0x88,0x40,0x89,0x82,0xd3,0x01);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("e5e90272-408f-5055-9bd3-88408982d301")
            IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService, 0xe5e90272, 0x408f, 0x5055, 0x9b,0xd3, 0x88,0x40,0x89,0x82,0xd3,0x01)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService {
    CONST_VTBL __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_put_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetResults(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDeviceService **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_GattDeviceService IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService
#define IAsyncOperation_GattDeviceServiceVtbl __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceServiceVtbl
#define IAsyncOperation_GattDeviceService __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService
#define IAsyncOperation_GattDeviceService_QueryInterface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_QueryInterface
#define IAsyncOperation_GattDeviceService_AddRef __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_AddRef
#define IAsyncOperation_GattDeviceService_Release __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_Release
#define IAsyncOperation_GattDeviceService_GetIids __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetIids
#define IAsyncOperation_GattDeviceService_GetRuntimeClassName __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetRuntimeClassName
#define IAsyncOperation_GattDeviceService_GetTrustLevel __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetTrustLevel
#define IAsyncOperation_GattDeviceService_put_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_put_Completed
#define IAsyncOperation_GattDeviceService_get_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_get_Completed
#define IAsyncOperation_GattDeviceService_GetResults __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDeviceService_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > interface
 */
#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult, 0xdf09ae77, 0xf606, 0x53e4, 0x8b,0xa6, 0x79,0x9f,0x59,0x92,0xc8,0x5e);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("df09ae77-f606-53e4-8ba6-799f5992c85e")
            IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptorsResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult, 0xdf09ae77, 0xf606, 0x53e4, 0x8b,0xa6, 0x79,0x9f,0x59,0x92,0xc8,0x5e)
#endif
#else
typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResultVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult *This,
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult *info,
        AsyncStatus status);

    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResultVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult {
    CONST_VTBL __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_Release(This) (This)->lpVtbl->Release(This)
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > methods ***/
#define __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_Invoke(This,info,status) (This)->lpVtbl->Invoke(This,info,status)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_QueryInterface(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_AddRef(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_Release(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IAsyncOperationCompletedHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > methods ***/
static inline HRESULT __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_Invoke(__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This,__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult *info,AsyncStatus status) {
    return This->lpVtbl->Invoke(This,info,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperationCompletedHandler_GattDescriptorsResult IID___FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult
#define IAsyncOperationCompletedHandler_GattDescriptorsResultVtbl __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResultVtbl
#define IAsyncOperationCompletedHandler_GattDescriptorsResult __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult
#define IAsyncOperationCompletedHandler_GattDescriptorsResult_QueryInterface __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_QueryInterface
#define IAsyncOperationCompletedHandler_GattDescriptorsResult_AddRef __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_AddRef
#define IAsyncOperationCompletedHandler_GattDescriptorsResult_Release __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_Release
#define IAsyncOperationCompletedHandler_GattDescriptorsResult_Invoke __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > interface
 */
#ifndef ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult, 0xceaf40c7, 0xbe37, 0x52a5, 0x9a,0x1b, 0x63,0x39,0x85,0x13,0xe5,0x97);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("ceaf40c7-be37-52a5-9a1b-63398513e597")
            IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptorsResult* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult, 0xceaf40c7, 0xbe37, 0x52a5, 0x9a,0x1b, 0x63,0x39,0x85,0x13,0xe5,0x97)
#endif
#else
typedef struct __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResultVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult *This,
        __FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult **results);

    END_INTERFACE
} __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResultVtbl;

interface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult {
    CONST_VTBL __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResultVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > methods ***/
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetResults(This,results) (This)->lpVtbl->GetResults(This,results)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_QueryInterface(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_AddRef(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_Release(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetIids(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetRuntimeClassName(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetTrustLevel(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncOperation<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult* > methods ***/
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_put_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_get_Completed(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This,__FIAsyncOperationCompletedHandler_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static inline HRESULT __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetResults(__FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattDescriptorsResult **results) {
    return This->lpVtbl->GetResults(This,results);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation_GattDescriptorsResult IID___FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult
#define IAsyncOperation_GattDescriptorsResultVtbl __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResultVtbl
#define IAsyncOperation_GattDescriptorsResult __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult
#define IAsyncOperation_GattDescriptorsResult_QueryInterface __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_QueryInterface
#define IAsyncOperation_GattDescriptorsResult_AddRef __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_AddRef
#define IAsyncOperation_GattDescriptorsResult_Release __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_Release
#define IAsyncOperation_GattDescriptorsResult_GetIids __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetIids
#define IAsyncOperation_GattDescriptorsResult_GetRuntimeClassName __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetRuntimeClassName
#define IAsyncOperation_GattDescriptorsResult_GetTrustLevel __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetTrustLevel
#define IAsyncOperation_GattDescriptorsResult_put_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_put_Completed
#define IAsyncOperation_GattDescriptorsResult_get_Completed __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_get_Completed
#define IAsyncOperation_GattDescriptorsResult_GetResults __FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIAsyncOperation_1_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattDescriptorsResult_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattValueChangedEventArgs* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs, 0xc1f420f6, 0x6292, 0x5760, 0xa2,0xc9, 0x9d,0xdf,0x98,0x68,0x3c,0xfc);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("c1f420f6-6292-5760-a2c9-9ddf98683cfc")
            ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattValueChangedEventArgs* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic* >, ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattValueChangedEventArgs*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattValueChangedEventArgs* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs, 0xc1f420f6, 0x6292, 0x5760, 0xa2,0xc9, 0x9d,0xdf,0x98,0x68,0x3c,0xfc)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattValueChangedEventArgs* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *sender,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs {
    CONST_VTBL __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattValueChangedEventArgs* > methods ***/
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_QueryInterface(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_AddRef(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_Release(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattValueChangedEventArgs* > methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_Invoke(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattCharacteristic *sender,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattValueChangedEventArgs *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_GattCharacteristic_GattValueChangedEventArgs IID___FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs
#define ITypedEventHandler_GattCharacteristic_GattValueChangedEventArgsVtbl __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgsVtbl
#define ITypedEventHandler_GattCharacteristic_GattValueChangedEventArgs __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs
#define ITypedEventHandler_GattCharacteristic_GattValueChangedEventArgs_QueryInterface __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_QueryInterface
#define ITypedEventHandler_GattCharacteristic_GattValueChangedEventArgs_AddRef __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_AddRef
#define ITypedEventHandler_GattCharacteristic_GattValueChangedEventArgs_Release __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_Release
#define ITypedEventHandler_GattCharacteristic_GattValueChangedEventArgs_Invoke __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattCharacteristic_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattValueChangedEventArgs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatusChangedEventArgs* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs, 0x0e1210f2, 0x7b6f, 0x543e, 0x8a,0xdb, 0xa6,0x1d,0x34,0xab,0x53,0x5d);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("0e1210f2-7b6f-543e-8adb-a61d34ab535d")
            ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatusChangedEventArgs* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSession* >, ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatusChangedEventArgs*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSessionStatusChangedEventArgs* > >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs, 0x0e1210f2, 0x7b6f, 0x543e, 0x8a,0xdb, 0xa6,0x1d,0x34,0xab,0x53,0x5d)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatusChangedEventArgs* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *sender,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs {
    CONST_VTBL __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatusChangedEventArgs* > methods ***/
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_QueryInterface(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_AddRef(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_Release(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatusChangedEventArgs* > methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_Invoke(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *sender,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSessionStatusChangedEventArgs *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_GattSession_GattSessionStatusChangedEventArgs IID___FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs
#define ITypedEventHandler_GattSession_GattSessionStatusChangedEventArgsVtbl __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgsVtbl
#define ITypedEventHandler_GattSession_GattSessionStatusChangedEventArgs __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs
#define ITypedEventHandler_GattSession_GattSessionStatusChangedEventArgs_QueryInterface __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_QueryInterface
#define ITypedEventHandler_GattSession_GattSessionStatusChangedEventArgs_AddRef __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_AddRef
#define ITypedEventHandler_GattSession_GattSessionStatusChangedEventArgs_Release __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_Release
#define ITypedEventHandler_GattSession_GattSessionStatusChangedEventArgs_Invoke __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSessionStatusChangedEventArgs_INTERFACE_DEFINED__ */

/*****************************************************************************
 * ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,IInspectable* > interface
 */
#ifndef ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_INTERFACE_DEFINED__

DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable, 0x6c7ec2ec, 0x9f00, 0x5ea0, 0x9a,0x08, 0x60,0xe5,0x07,0x0b,0xcf,0x03);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("6c7ec2ec-9f00-5ea0-9a08-60e5070bcf03")
            ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,IInspectable* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*, ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSession* >, IInspectable* >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable, 0x6c7ec2ec, 0x9f00, 0x5ea0, 0x9a,0x08, 0x60,0xe5,0x07,0x0b,0xcf,0x03)
#endif
#else
typedef struct __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectableVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,IInspectable* > methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable *This,
        __x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *sender,
        IInspectable *args);

    END_INTERFACE
} __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectableVtbl;

interface __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable {
    CONST_VTBL __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectableVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_Release(This) (This)->lpVtbl->Release(This)
/*** ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,IInspectable* > methods ***/
#define __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
#else
/*** IUnknown methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_QueryInterface(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_AddRef(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_Release(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable* This) {
    return This->lpVtbl->Release(This);
}
/*** ITypedEventHandler<ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession*,IInspectable* > methods ***/
static inline HRESULT __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_Invoke(__FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable* This,__x_ABI_CWindows_CDevices_CBluetooth_CGenericAttributeProfile_CIGattSession *sender,IInspectable *args) {
    return This->lpVtbl->Invoke(This,sender,args);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_ITypedEventHandler_GattSession_IInspectable IID___FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable
#define ITypedEventHandler_GattSession_IInspectableVtbl __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectableVtbl
#define ITypedEventHandler_GattSession_IInspectable __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable
#define ITypedEventHandler_GattSession_IInspectable_QueryInterface __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_QueryInterface
#define ITypedEventHandler_GattSession_IInspectable_AddRef __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_AddRef
#define ITypedEventHandler_GattSession_IInspectable_Release __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_Release
#define ITypedEventHandler_GattSession_IInspectable_Invoke __FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FITypedEventHandler_2_Windows__CDevices__CBluetooth__CGenericAttributeProfile__CGattSession_IInspectable_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IReference<BYTE > interface
 */
#ifndef ____FIReference_1_BYTE_INTERFACE_DEFINED__
#define ____FIReference_1_BYTE_INTERFACE_DEFINED__

DEFINE_GUID(IID___FIReference_1_BYTE, 0xe5198cc8, 0x2873, 0x55f5, 0xb0,0xa1, 0x84,0xff,0x9e,0x4a,0xad,0x62);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            template<>
            MIDL_INTERFACE("e5198cc8-2873-55f5-b0a1-84ff9e4aad62")
            IReference<BYTE > : IReference_impl<BYTE >
            {
            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__FIReference_1_BYTE, 0xe5198cc8, 0x2873, 0x55f5, 0xb0,0xa1, 0x84,0xff,0x9e,0x4a,0xad,0x62)
#endif
#else
typedef struct __FIReference_1_BYTEVtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    /*** IReference<BYTE > methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Value)(
        __FIReference_1_BYTE *This,
        BYTE *value);

    END_INTERFACE
} __FIReference_1_BYTEVtbl;

interface __FIReference_1_BYTE {
    CONST_VTBL __FIReference_1_BYTEVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __FIReference_1_BYTE_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __FIReference_1_BYTE_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __FIReference_1_BYTE_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __FIReference_1_BYTE_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __FIReference_1_BYTE_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __FIReference_1_BYTE_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IReference<BYTE > methods ***/
#define __FIReference_1_BYTE_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
#else
/*** IUnknown methods ***/
static inline HRESULT __FIReference_1_BYTE_QueryInterface(__FIReference_1_BYTE* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG __FIReference_1_BYTE_AddRef(__FIReference_1_BYTE* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG __FIReference_1_BYTE_Release(__FIReference_1_BYTE* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static inline HRESULT __FIReference_1_BYTE_GetIids(__FIReference_1_BYTE* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static inline HRESULT __FIReference_1_BYTE_GetRuntimeClassName(__FIReference_1_BYTE* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static inline HRESULT __FIReference_1_BYTE_GetTrustLevel(__FIReference_1_BYTE* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IReference<BYTE > methods ***/
static inline HRESULT __FIReference_1_BYTE_get_Value(__FIReference_1_BYTE* This,BYTE *value) {
    return This->lpVtbl->get_Value(This,value);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IReference_BYTE IID___FIReference_1_BYTE
#define IReference_BYTEVtbl __FIReference_1_BYTEVtbl
#define IReference_BYTE __FIReference_1_BYTE
#define IReference_BYTE_QueryInterface __FIReference_1_BYTE_QueryInterface
#define IReference_BYTE_AddRef __FIReference_1_BYTE_AddRef
#define IReference_BYTE_Release __FIReference_1_BYTE_Release
#define IReference_BYTE_GetIids __FIReference_1_BYTE_GetIids
#define IReference_BYTE_GetRuntimeClassName __FIReference_1_BYTE_GetRuntimeClassName
#define IReference_BYTE_GetTrustLevel __FIReference_1_BYTE_GetTrustLevel
#define IReference_BYTE_get_Value __FIReference_1_BYTE_get_Value
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____FIReference_1_BYTE_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_devices_bluetooth_genericattributeprofile_h__ */
