#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)] #[link(name = "windows")] extern "system" {} pub type ActivationSignalDetectionConfiguration = *mut ::core::ffi::c_void; pub type ActivationSignalDetectionConfigurationCreationResult = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct ActivationSignalDetectionConfigurationCreationStatus(pub i32); impl ActivationSignalDetectionConfigurationCreationStatus { pub const Success: Self = Self(0i32); pub const SignalIdNotAvailable: Self = Self(1i32); pub const ModelIdNotSupported: Self = Self(2i32); pub const InvalidSignalId: Self = Self(3i32); pub const InvalidModelId: Self = Self(4i32); pub const InvalidDisplayName: Self = Self(5i32); pub const ConfigurationAlreadyExists: Self = Self(6i32); pub const CreationNotSupported: Self = Self(7i32); } impl ::core::marker::Copy for ActivationSignalDetectionConfigurationCreationStatus {} impl ::core::clone::Clone for ActivationSignalDetectionConfigurationCreationStatus { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct ActivationSignalDetectionConfigurationRemovalResult(pub i32); impl ActivationSignalDetectionConfigurationRemovalResult { pub const Success: Self = Self(0i32); pub const NotFound: Self = Self(1i32); pub const CurrentlyEnabled: Self = Self(2i32); pub const RemovalNotSupported: Self = Self(3i32); } impl ::core::marker::Copy for ActivationSignalDetectionConfigurationRemovalResult {} impl ::core::clone::Clone for ActivationSignalDetectionConfigurationRemovalResult { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct ActivationSignalDetectionConfigurationSetModelDataResult(pub i32); impl ActivationSignalDetectionConfigurationSetModelDataResult { pub const Success: Self = Self(0i32); pub const EmptyModelData: Self = Self(1i32); pub const UnsupportedFormat: Self = Self(2i32); pub const ConfigurationCurrentlyEnabled: Self = Self(3i32); pub const InvalidData: Self = Self(4i32); pub const SetModelDataNotSupported: Self = Self(5i32); pub const ConfigurationNotFound: Self = Self(6i32); pub const UnknownError: Self = Self(7i32); } impl ::core::marker::Copy for ActivationSignalDetectionConfigurationSetModelDataResult {} impl ::core::clone::Clone for ActivationSignalDetectionConfigurationSetModelDataResult { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct ActivationSignalDetectionConfigurationStateChangeResult(pub i32); impl ActivationSignalDetectionConfigurationStateChangeResult { pub const Success: Self = Self(0i32); pub const NoModelData: Self = Self(1i32); pub const ConfigurationNotFound: Self = Self(2i32); } impl ::core::marker::Copy for ActivationSignalDetectionConfigurationStateChangeResult {} impl ::core::clone::Clone for ActivationSignalDetectionConfigurationStateChangeResult { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct ActivationSignalDetectionTrainingDataFormat(pub i32); impl ActivationSignalDetectionTrainingDataFormat { pub const Voice8kHz8BitMono: Self = Self(0i32); pub const Voice8kHz16BitMono: Self = Self(1i32); pub const Voice16kHz8BitMono: Self = Self(2i32); pub const Voice16kHz16BitMono: Self = Self(3i32); pub const VoiceOEMDefined: Self = Self(4i32); pub const Audio44kHz8BitMono: Self = Self(5i32); pub const Audio44kHz16BitMono: Self = Self(6i32); pub const Audio48kHz8BitMono: Self = Self(7i32); pub const Audio48kHz16BitMono: Self = Self(8i32); pub const AudioOEMDefined: Self = Self(9i32); pub const OtherOEMDefined: Self = Self(10i32); } impl ::core::marker::Copy for ActivationSignalDetectionTrainingDataFormat {} impl ::core::clone::Clone for ActivationSignalDetectionTrainingDataFormat { fn clone(&self) -> Self { *self } } pub type ActivationSignalDetector = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct ActivationSignalDetectorKind(pub i32); impl ActivationSignalDetectorKind { pub const AudioPattern: Self = Self(0i32); pub const AudioImpulse: Self = Self(1i32); pub const HardwareEvent: Self = Self(2i32); } impl ::core::marker::Copy for ActivationSignalDetectorKind {} impl ::core::clone::Clone for ActivationSignalDetectorKind { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct ActivationSignalDetectorPowerState(pub i32); impl ActivationSignalDetectorPowerState { pub const HighPower: Self = Self(0i32); pub const ConnectedLowPower: Self = Self(1i32); pub const DisconnectedLowPower: Self = Self(2i32); } impl ::core::marker::Copy for ActivationSignalDetectorPowerState {} impl ::core::clone::Clone for ActivationSignalDetectorPowerState { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct ConversationalAgentActivationKind(pub i32); impl ConversationalAgentActivationKind { pub const VoiceActivationPreview: Self = Self(0i32); pub const Foreground: Self = Self(1i32); } impl ::core::marker::Copy for ConversationalAgentActivationKind {} impl ::core::clone::Clone for ConversationalAgentActivationKind { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct ConversationalAgentActivationResult(pub i32); impl ConversationalAgentActivationResult { pub const Success: Self = Self(0i32); pub const AgentInactive: Self = Self(1i32); pub const ScreenNotAvailable: Self = Self(2i32); pub const AgentInterrupted: Self = Self(3i32); } impl ::core::marker::Copy for ConversationalAgentActivationResult {} impl ::core::clone::Clone for ConversationalAgentActivationResult { fn clone(&self) -> Self { *self } } pub type ConversationalAgentDetectorManager = *mut ::core::ffi::c_void; pub type ConversationalAgentSession = *mut ::core::ffi::c_void; pub type ConversationalAgentSessionInterruptedEventArgs = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct ConversationalAgentSessionUpdateResponse(pub i32); impl ConversationalAgentSessionUpdateResponse { pub const Success: Self = Self(0i32); pub const Failed: Self = Self(1i32); } impl ::core::marker::Copy for ConversationalAgentSessionUpdateResponse {} impl ::core::clone::Clone for ConversationalAgentSessionUpdateResponse { fn clone(&self) -> Self { *self } } pub type ConversationalAgentSignal = *mut ::core::ffi::c_void; pub type ConversationalAgentSignalDetectedEventArgs = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct ConversationalAgentState(pub i32); impl ConversationalAgentState { pub const Inactive: Self = Self(0i32); pub const Detecting: Self = Self(1i32); pub const Listening: Self = Self(2i32); pub const Working: Self = Self(3i32); pub const Speaking: Self = Self(4i32); pub const ListeningAndSpeaking: Self = Self(5i32); } impl ::core::marker::Copy for ConversationalAgentState {} impl ::core::clone::Clone for ConversationalAgentState { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct ConversationalAgentSystemStateChangeType(pub i32); impl ConversationalAgentSystemStateChangeType { pub const UserAuthentication: Self = Self(0i32); pub const ScreenAvailability: Self = Self(1i32); pub const IndicatorLightAvailability: Self = Self(2i32); pub const VoiceActivationAvailability: Self = Self(3i32); } impl ::core::marker::Copy for ConversationalAgentSystemStateChangeType {} impl ::core::clone::Clone for ConversationalAgentSystemStateChangeType { fn clone(&self) -> Self { *self } } pub type ConversationalAgentSystemStateChangedEventArgs = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct ConversationalAgentVoiceActivationPrerequisiteKind(pub i32); impl ConversationalAgentVoiceActivationPrerequisiteKind { pub const MicrophonePermission: Self = Self(0i32); pub const KnownAgents: Self = Self(1i32); pub const AgentAllowed: Self = Self(2i32); pub const AppCapability: Self = Self(3i32); pub const BackgroundTaskRegistration: Self = Self(4i32); pub const PolicyPermission: Self = Self(5i32); } impl ::core::marker::Copy for ConversationalAgentVoiceActivationPrerequisiteKind {} impl ::core::clone::Clone for ConversationalAgentVoiceActivationPrerequisiteKind { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct DetectionConfigurationAvailabilityChangeKind(pub i32); impl DetectionConfigurationAvailabilityChangeKind { pub const SystemResourceAccess: Self = Self(0i32); pub const Permission: Self = Self(1i32); pub const LockScreenPermission: Self = Self(2i32); } impl ::core::marker::Copy for DetectionConfigurationAvailabilityChangeKind {} impl ::core::clone::Clone for DetectionConfigurationAvailabilityChangeKind { fn clone(&self) -> Self { *self } } pub type DetectionConfigurationAvailabilityChangedEventArgs = *mut ::core::ffi::c_void; pub type DetectionConfigurationAvailabilityInfo = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct DetectionConfigurationTrainingStatus(pub i32); impl DetectionConfigurationTrainingStatus { pub const Success: Self = Self(0i32); pub const FormatNotSupported: Self = Self(1i32); pub const VoiceTooQuiet: Self = Self(2i32); pub const VoiceTooLoud: Self = Self(3i32); pub const VoiceTooFast: Self = Self(4i32); pub const VoiceTooSlow: Self = Self(5i32); pub const VoiceQualityProblem: Self = Self(6i32); pub const TrainingSystemInternalError: Self = Self(7i32); pub const TrainingTimedOut: Self = Self(8i32); pub const ConfigurationNotFound: Self = Self(9i32); } impl ::core::marker::Copy for DetectionConfigurationTrainingStatus {} impl ::core::clone::Clone for DetectionConfigurationTrainingStatus { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct SignalDetectorResourceKind(pub i32); impl SignalDetectorResourceKind { pub const ParallelModelSupport: Self = Self(0i32); pub const ParallelModelSupportForAgent: Self = Self(1i32); pub const ParallelSignalSupport: Self = Self(2i32); pub const ParallelSignalSupportForAgent: Self = Self(3i32); pub const DisplayOffSupport: Self = Self(4i32); pub const PluggedInPower: Self = Self(5i32); pub const Detector: Self = Self(6i32); pub const SupportedSleepState: Self = Self(7i32); pub const SupportedBatterySaverState: Self = Self(8i32); pub const ScreenAvailability: Self = Self(9i32); pub const InputHardware: Self = Self(10i32); pub const AcousticEchoCancellation: Self = Self(11i32); pub const ModelIdSupport: Self = Self(12i32); pub const DataChannel: Self = Self(13i32); } impl ::core::marker::Copy for SignalDetectorResourceKind {} impl ::core::clone::Clone for SignalDetectorResourceKind { fn clone(&self) -> Self { *self } }