X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=vendor%2Fwindows%2Fsrc%2FWindows%2FWin32%2FSystem%2FRealTimeCommunications%2Fmod.rs;fp=vendor%2Fwindows%2Fsrc%2FWindows%2FWin32%2FSystem%2FRealTimeCommunications%2Fmod.rs;h=22bf19242ba89c4f38af2cba3c73d7dd22cb338c;hb=e83d0c4048c901374302ef8d1eefbeb1aef6c87d;hp=0000000000000000000000000000000000000000;hpb=1812ffc342b212016a5bec5bb390dc09c217f18f;p=rustc.git diff --git a/vendor/windows/src/Windows/Win32/System/RealTimeCommunications/mod.rs b/vendor/windows/src/Windows/Win32/System/RealTimeCommunications/mod.rs new file mode 100644 index 0000000000..22bf19242b --- /dev/null +++ b/vendor/windows/src/Windows/Win32/System/RealTimeCommunications/mod.rs @@ -0,0 +1,7177 @@ +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct INetworkTransportSettings(::windows::core::IUnknown); +impl INetworkTransportSettings { + #[doc = "*Required features: `\"Win32_Networking_WinSock\"`*"] + #[cfg(feature = "Win32_Networking_WinSock")] + pub unsafe fn ApplySetting(&self, settingid: *const super::super::Networking::WinSock::TRANSPORT_SETTING_ID, valuein: &[u8], lengthout: *mut u32, valueout: *mut *mut u8) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).ApplySetting)(::windows::core::Interface::as_raw(self), settingid, valuein.len() as _, ::core::mem::transmute(valuein.as_ptr()), lengthout, valueout).ok() + } + #[doc = "*Required features: `\"Win32_Networking_WinSock\"`*"] + #[cfg(feature = "Win32_Networking_WinSock")] + pub unsafe fn QuerySetting(&self, settingid: *const super::super::Networking::WinSock::TRANSPORT_SETTING_ID, valuein: &[u8], lengthout: *mut u32, valueout: *mut *mut u8) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).QuerySetting)(::windows::core::Interface::as_raw(self), settingid, valuein.len() as _, ::core::mem::transmute(valuein.as_ptr()), lengthout, valueout).ok() + } +} +::windows::imp::interface_hierarchy!(INetworkTransportSettings, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for INetworkTransportSettings { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for INetworkTransportSettings {} +impl ::core::fmt::Debug for INetworkTransportSettings { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("INetworkTransportSettings").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for INetworkTransportSettings { + type Vtable = INetworkTransportSettings_Vtbl; +} +impl ::core::clone::Clone for INetworkTransportSettings { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for INetworkTransportSettings { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5e7abb2c_f2c1_4a61_bd35_deb7a08ab0f1); +} +#[repr(C)] +#[doc(hidden)] +pub struct INetworkTransportSettings_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + #[cfg(feature = "Win32_Networking_WinSock")] + pub ApplySetting: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, settingid: *const super::super::Networking::WinSock::TRANSPORT_SETTING_ID, lengthin: u32, valuein: *const u8, lengthout: *mut u32, valueout: *mut *mut u8) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Networking_WinSock"))] + ApplySetting: usize, + #[cfg(feature = "Win32_Networking_WinSock")] + pub QuerySetting: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, settingid: *const super::super::Networking::WinSock::TRANSPORT_SETTING_ID, lengthin: u32, valuein: *const u8, lengthout: *mut u32, valueout: *mut *mut u8) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Networking_WinSock"))] + QuerySetting: usize, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct INotificationTransportSync(::windows::core::IUnknown); +impl INotificationTransportSync { + pub unsafe fn CompleteDelivery(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).CompleteDelivery)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Flush(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Flush)(::windows::core::Interface::as_raw(self)).ok() + } +} +::windows::imp::interface_hierarchy!(INotificationTransportSync, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for INotificationTransportSync { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for INotificationTransportSync {} +impl ::core::fmt::Debug for INotificationTransportSync { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("INotificationTransportSync").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for INotificationTransportSync { + type Vtable = INotificationTransportSync_Vtbl; +} +impl ::core::clone::Clone for INotificationTransportSync { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for INotificationTransportSync { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x79eb1402_0ab8_49c0_9e14_a1ae4ba93058); +} +#[repr(C)] +#[doc(hidden)] +pub struct INotificationTransportSync_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub CompleteDelivery: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Flush: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCBuddy(::windows::core::IUnknown); +impl IRTCBuddy { + pub unsafe fn PresentityURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.PresentityURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetPresentityURI(&self, bstrpresentityuri: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SetPresentityURI)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi()).ok() + } + pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetName(&self, bstrname: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SetName)(::windows::core::Interface::as_raw(self), bstrname.into_param().abi()).ok() + } + pub unsafe fn Data(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.Data)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SetData)(::windows::core::Interface::as_raw(self), bstrdata.into_param().abi()).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn Persistent(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Persistent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn SetPersistent(&self, fpersistent: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.SetPersistent)(::windows::core::Interface::as_raw(self), fpersistent.into_param().abi()).ok() + } + pub unsafe fn Status(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Status)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Notes(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Notes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCBuddy, ::windows::core::IUnknown, IRTCPresenceContact); +impl ::core::cmp::PartialEq for IRTCBuddy { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCBuddy {} +impl ::core::fmt::Debug for IRTCBuddy { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCBuddy").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCBuddy { + type Vtable = IRTCBuddy_Vtbl; +} +impl ::core::clone::Clone for IRTCBuddy { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCBuddy { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfcb136c8_7b90_4e0c_befe_56edf0ba6f1c); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCBuddy_Vtbl { + pub base__: IRTCPresenceContact_Vtbl, + pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penstatus: *mut RTC_PRESENCE_STATUS) -> ::windows::core::HRESULT, + pub Notes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrnotes: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCBuddy2(::windows::core::IUnknown); +impl IRTCBuddy2 { + pub unsafe fn PresentityURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.base__.PresentityURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetPresentityURI(&self, bstrpresentityuri: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.base__.SetPresentityURI)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi()).ok() + } + pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.base__.Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetName(&self, bstrname: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.base__.SetName)(::windows::core::Interface::as_raw(self), bstrname.into_param().abi()).ok() + } + pub unsafe fn Data(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.base__.Data)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.base__.SetData)(::windows::core::Interface::as_raw(self), bstrdata.into_param().abi()).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn Persistent(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.base__.Persistent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn SetPersistent(&self, fpersistent: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.base__.SetPersistent)(::windows::core::Interface::as_raw(self), fpersistent.into_param().abi()).ok() + } + pub unsafe fn Status(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Status)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Notes(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.Notes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Profile(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Profile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Refresh(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Refresh)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn EnumerateGroups(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EnumerateGroups)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Groups(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Groups)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn get_PresenceProperty(&self, enproperty: RTC_PRESENCE_PROPERTY) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).get_PresenceProperty)(::windows::core::Interface::as_raw(self), enproperty, &mut result__).from_abi(result__) + } + pub unsafe fn EnumeratePresenceDevices(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EnumeratePresenceDevices)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn PresenceDevices(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).PresenceDevices)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SubscriptionType(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).SubscriptionType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCBuddy2, ::windows::core::IUnknown, IRTCPresenceContact, IRTCBuddy); +impl ::core::cmp::PartialEq for IRTCBuddy2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCBuddy2 {} +impl ::core::fmt::Debug for IRTCBuddy2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCBuddy2").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCBuddy2 { + type Vtable = IRTCBuddy2_Vtbl; +} +impl ::core::clone::Clone for IRTCBuddy2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCBuddy2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x102f9588_23e7_40e3_954d_cd7a1d5c0361); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCBuddy2_Vtbl { + pub base__: IRTCBuddy_Vtbl, + pub Profile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppprofile: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Refresh: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub EnumerateGroups: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_System_Com")] + pub Groups: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_System_Com"))] + Groups: usize, + pub get_PresenceProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enproperty: RTC_PRESENCE_PROPERTY, pbstrproperty: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub EnumeratePresenceDevices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenumdevices: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_System_Com")] + pub PresenceDevices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppdevicescollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_System_Com"))] + PresenceDevices: usize, + pub SubscriptionType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pensubscriptiontype: *mut RTC_BUDDY_SUBSCRIPTION_TYPE) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCBuddyEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCBuddyEvent { + pub unsafe fn Buddy(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Buddy)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCBuddyEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCBuddyEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCBuddyEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCBuddyEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCBuddyEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCBuddyEvent { + type Vtable = IRTCBuddyEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCBuddyEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCBuddyEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf36d755d_17e6_404e_954f_0fc07574c78d); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCBuddyEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Buddy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppbuddy: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCBuddyEvent2(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCBuddyEvent2 { + pub unsafe fn Buddy(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Buddy)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn EventType(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EventType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusText(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).StatusText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCBuddyEvent2, ::windows::core::IUnknown, super::Com::IDispatch, IRTCBuddyEvent); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCBuddyEvent2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCBuddyEvent2 {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCBuddyEvent2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCBuddyEvent2").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCBuddyEvent2 { + type Vtable = IRTCBuddyEvent2_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCBuddyEvent2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCBuddyEvent2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x484a7f1e_73f0_4990_bfc2_60bc3978a720); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCBuddyEvent2_Vtbl { + pub base__: IRTCBuddyEvent_Vtbl, + pub EventType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peventtype: *mut RTC_BUDDY_EVENT_TYPE) -> ::windows::core::HRESULT, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, + pub StatusText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrstatustext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCBuddyGroup(::windows::core::IUnknown); +impl IRTCBuddyGroup { + pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetName(&self, bstrgroupname: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetName)(::windows::core::Interface::as_raw(self), bstrgroupname.into_param().abi()).ok() + } + pub unsafe fn AddBuddy(&self, pbuddy: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).AddBuddy)(::windows::core::Interface::as_raw(self), pbuddy.into_param().abi()).ok() + } + pub unsafe fn RemoveBuddy(&self, pbuddy: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).RemoveBuddy)(::windows::core::Interface::as_raw(self), pbuddy.into_param().abi()).ok() + } + pub unsafe fn EnumerateBuddies(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EnumerateBuddies)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Buddies(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Buddies)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Data(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Data)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetData)(::windows::core::Interface::as_raw(self), bstrdata.into_param().abi()).ok() + } + pub unsafe fn Profile(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Profile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCBuddyGroup, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCBuddyGroup { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCBuddyGroup {} +impl ::core::fmt::Debug for IRTCBuddyGroup { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCBuddyGroup").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCBuddyGroup { + type Vtable = IRTCBuddyGroup_Vtbl; +} +impl ::core::clone::Clone for IRTCBuddyGroup { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCBuddyGroup { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x60361e68_9164_4389_a4c6_d0b3925bda5e); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCBuddyGroup_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrgroupname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrgroupname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub AddBuddy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuddy: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub RemoveBuddy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuddy: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub EnumerateBuddies: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_System_Com")] + pub Buddies: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_System_Com"))] + Buddies: usize, + pub Data: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrdata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub Profile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppprofile: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCBuddyGroupEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCBuddyGroupEvent { + pub unsafe fn EventType(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EventType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Group(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Group)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Buddy(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Buddy)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCBuddyGroupEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCBuddyGroupEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCBuddyGroupEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCBuddyGroupEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCBuddyGroupEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCBuddyGroupEvent { + type Vtable = IRTCBuddyGroupEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCBuddyGroupEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCBuddyGroupEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3a79e1d1_b736_4414_96f8_bbc7f08863e4); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCBuddyGroupEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub EventType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peventtype: *mut RTC_GROUP_EVENT_TYPE) -> ::windows::core::HRESULT, + pub Group: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppgroup: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Buddy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppbuddy: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCClient(::windows::core::IUnknown); +impl IRTCClient { + pub unsafe fn Initialize(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Initialize)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Shutdown(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Shutdown)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn PrepareForShutdown(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).PrepareForShutdown)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn SetEventFilter(&self, lfilter: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).SetEventFilter)(::windows::core::Interface::as_raw(self), lfilter).ok() + } + pub unsafe fn EventFilter(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EventFilter)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn SetPreferredMediaTypes(&self, lmediatypes: i32, fpersistent: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).SetPreferredMediaTypes)(::windows::core::Interface::as_raw(self), lmediatypes, fpersistent.into_param().abi()).ok() + } + pub unsafe fn PreferredMediaTypes(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).PreferredMediaTypes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn MediaCapabilities(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).MediaCapabilities)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn CreateSession(&self, entype: RTC_SESSION_TYPE, bstrlocalphoneuri: P0, pprofile: P1, lflags: i32) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).CreateSession)(::windows::core::Interface::as_raw(self), entype, bstrlocalphoneuri.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + } + pub unsafe fn SetListenForIncomingSessions(&self, enlisten: RTC_LISTEN_MODE) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).SetListenForIncomingSessions)(::windows::core::Interface::as_raw(self), enlisten).ok() + } + pub unsafe fn ListenForIncomingSessions(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).ListenForIncomingSessions)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"] + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub unsafe fn get_NetworkAddresses(&self, ftcp: P0, fexternal: P1) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam, + P1: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_NetworkAddresses)(::windows::core::Interface::as_raw(self), ftcp.into_param().abi(), fexternal.into_param().abi(), &mut result__).from_abi(result__) + } + pub unsafe fn put_Volume(&self, endevice: RTC_AUDIO_DEVICE, lvolume: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).put_Volume)(::windows::core::Interface::as_raw(self), endevice, lvolume).ok() + } + pub unsafe fn get_Volume(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_Volume)(::windows::core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn put_AudioMuted(&self, endevice: RTC_AUDIO_DEVICE, fmuted: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).put_AudioMuted)(::windows::core::Interface::as_raw(self), endevice, fmuted.into_param().abi()).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn get_AudioMuted(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_AudioMuted)(::windows::core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"] + #[cfg(all(feature = "Win32_Media_DirectShow", feature = "Win32_System_Com"))] + pub unsafe fn get_IVideoWindow(&self, endevice: RTC_VIDEO_DEVICE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_IVideoWindow)(::windows::core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + } + pub unsafe fn put_PreferredAudioDevice(&self, endevice: RTC_AUDIO_DEVICE, bstrdevicename: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).put_PreferredAudioDevice)(::windows::core::Interface::as_raw(self), endevice, bstrdevicename.into_param().abi()).ok() + } + pub unsafe fn get_PreferredAudioDevice(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).get_PreferredAudioDevice)(::windows::core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + } + pub unsafe fn put_PreferredVolume(&self, endevice: RTC_AUDIO_DEVICE, lvolume: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).put_PreferredVolume)(::windows::core::Interface::as_raw(self), endevice, lvolume).ok() + } + pub unsafe fn get_PreferredVolume(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_PreferredVolume)(::windows::core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn SetPreferredAEC(&self, benable: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).SetPreferredAEC)(::windows::core::Interface::as_raw(self), benable.into_param().abi()).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn PreferredAEC(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).PreferredAEC)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetPreferredVideoDevice(&self, bstrdevicename: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetPreferredVideoDevice)(::windows::core::Interface::as_raw(self), bstrdevicename.into_param().abi()).ok() + } + pub unsafe fn PreferredVideoDevice(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).PreferredVideoDevice)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ActiveMedia(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).ActiveMedia)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetMaxBitrate(&self, lmaxbitrate: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).SetMaxBitrate)(::windows::core::Interface::as_raw(self), lmaxbitrate).ok() + } + pub unsafe fn MaxBitrate(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).MaxBitrate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetTemporalSpatialTradeOff(&self, lvalue: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).SetTemporalSpatialTradeOff)(::windows::core::Interface::as_raw(self), lvalue).ok() + } + pub unsafe fn TemporalSpatialTradeOff(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).TemporalSpatialTradeOff)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn NetworkQuality(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).NetworkQuality)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StartT120Applet(&self, enapplet: RTC_T120_APPLET) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).StartT120Applet)(::windows::core::Interface::as_raw(self), enapplet).ok() + } + pub unsafe fn StopT120Applets(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).StopT120Applets)(::windows::core::Interface::as_raw(self)).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn get_IsT120AppletRunning(&self, enapplet: RTC_T120_APPLET) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_IsT120AppletRunning)(::windows::core::Interface::as_raw(self), enapplet, &mut result__).from_abi(result__) + } + pub unsafe fn LocalUserURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).LocalUserURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetLocalUserURI(&self, bstruseruri: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetLocalUserURI)(::windows::core::Interface::as_raw(self), bstruseruri.into_param().abi()).ok() + } + pub unsafe fn LocalUserName(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).LocalUserName)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetLocalUserName(&self, bstrusername: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetLocalUserName)(::windows::core::Interface::as_raw(self), bstrusername.into_param().abi()).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn PlayRing(&self, entype: RTC_RING_TYPE, bplay: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).PlayRing)(::windows::core::Interface::as_raw(self), entype, bplay.into_param().abi()).ok() + } + pub unsafe fn SendDTMF(&self, endtmf: RTC_DTMF) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).SendDTMF)(::windows::core::Interface::as_raw(self), endtmf).ok() + } + pub unsafe fn InvokeTuningWizard(&self, hwndparent: isize) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).InvokeTuningWizard)(::windows::core::Interface::as_raw(self), hwndparent).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn IsTuned(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).IsTuned)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCClient, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCClient { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCClient {} +impl ::core::fmt::Debug for IRTCClient { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCClient").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCClient { + type Vtable = IRTCClient_Vtbl; +} +impl ::core::clone::Clone for IRTCClient { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCClient { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x07829e45_9a34_408e_a011_bddf13487cd1); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCClient_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Initialize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Shutdown: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub PrepareForShutdown: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub SetEventFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lfilter: i32) -> ::windows::core::HRESULT, + pub EventFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plfilter: *mut i32) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub SetPreferredMediaTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lmediatypes: i32, fpersistent: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + SetPreferredMediaTypes: usize, + pub PreferredMediaTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmediatypes: *mut i32) -> ::windows::core::HRESULT, + pub MediaCapabilities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmediatypes: *mut i32) -> ::windows::core::HRESULT, + pub CreateSession: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, entype: RTC_SESSION_TYPE, bstrlocalphoneuri: ::std::mem::MaybeUninit<::windows::core::BSTR>, pprofile: *mut ::core::ffi::c_void, lflags: i32, ppsession: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub SetListenForIncomingSessions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enlisten: RTC_LISTEN_MODE) -> ::windows::core::HRESULT, + pub ListenForIncomingSessions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penlisten: *mut RTC_LISTEN_MODE) -> ::windows::core::HRESULT, + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub get_NetworkAddresses: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ftcp: super::super::Foundation::VARIANT_BOOL, fexternal: super::super::Foundation::VARIANT_BOOL, pvaddresses: *mut super::Com::VARIANT) -> ::windows::core::HRESULT, + #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))] + get_NetworkAddresses: usize, + pub put_Volume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, endevice: RTC_AUDIO_DEVICE, lvolume: i32) -> ::windows::core::HRESULT, + pub get_Volume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, endevice: RTC_AUDIO_DEVICE, plvolume: *mut i32) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub put_AudioMuted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, endevice: RTC_AUDIO_DEVICE, fmuted: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + put_AudioMuted: usize, + #[cfg(feature = "Win32_Foundation")] + pub get_AudioMuted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, endevice: RTC_AUDIO_DEVICE, pfmuted: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + get_AudioMuted: usize, + #[cfg(all(feature = "Win32_Media_DirectShow", feature = "Win32_System_Com"))] + pub get_IVideoWindow: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, endevice: RTC_VIDEO_DEVICE, ppivideowindow: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(all(feature = "Win32_Media_DirectShow", feature = "Win32_System_Com")))] + get_IVideoWindow: usize, + pub put_PreferredAudioDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, endevice: RTC_AUDIO_DEVICE, bstrdevicename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub get_PreferredAudioDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, endevice: RTC_AUDIO_DEVICE, pbstrdevicename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub put_PreferredVolume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, endevice: RTC_AUDIO_DEVICE, lvolume: i32) -> ::windows::core::HRESULT, + pub get_PreferredVolume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, endevice: RTC_AUDIO_DEVICE, plvolume: *mut i32) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub SetPreferredAEC: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, benable: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + SetPreferredAEC: usize, + #[cfg(feature = "Win32_Foundation")] + pub PreferredAEC: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + PreferredAEC: usize, + pub SetPreferredVideoDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrdevicename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub PreferredVideoDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdevicename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ActiveMedia: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmediatype: *mut i32) -> ::windows::core::HRESULT, + pub SetMaxBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lmaxbitrate: i32) -> ::windows::core::HRESULT, + pub MaxBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmaxbitrate: *mut i32) -> ::windows::core::HRESULT, + pub SetTemporalSpatialTradeOff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lvalue: i32) -> ::windows::core::HRESULT, + pub TemporalSpatialTradeOff: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plvalue: *mut i32) -> ::windows::core::HRESULT, + pub NetworkQuality: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plnetworkquality: *mut i32) -> ::windows::core::HRESULT, + pub StartT120Applet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enapplet: RTC_T120_APPLET) -> ::windows::core::HRESULT, + pub StopT120Applets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub get_IsT120AppletRunning: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enapplet: RTC_T120_APPLET, pfrunning: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + get_IsT120AppletRunning: usize, + pub LocalUserURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstruseruri: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetLocalUserURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstruseruri: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub LocalUserName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrusername: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetLocalUserName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrusername: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub PlayRing: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, entype: RTC_RING_TYPE, bplay: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + PlayRing: usize, + pub SendDTMF: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, endtmf: RTC_DTMF) -> ::windows::core::HRESULT, + pub InvokeTuningWizard: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwndparent: isize) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub IsTuned: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pftuned: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + IsTuned: usize, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCClient2(::windows::core::IUnknown); +impl IRTCClient2 { + pub unsafe fn Initialize(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.Initialize)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Shutdown(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.Shutdown)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn PrepareForShutdown(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.PrepareForShutdown)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn SetEventFilter(&self, lfilter: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.SetEventFilter)(::windows::core::Interface::as_raw(self), lfilter).ok() + } + pub unsafe fn EventFilter(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.EventFilter)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn SetPreferredMediaTypes(&self, lmediatypes: i32, fpersistent: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.SetPreferredMediaTypes)(::windows::core::Interface::as_raw(self), lmediatypes, fpersistent.into_param().abi()).ok() + } + pub unsafe fn PreferredMediaTypes(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.PreferredMediaTypes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn MediaCapabilities(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.MediaCapabilities)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn CreateSession(&self, entype: RTC_SESSION_TYPE, bstrlocalphoneuri: P0, pprofile: P1, lflags: i32) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.CreateSession)(::windows::core::Interface::as_raw(self), entype, bstrlocalphoneuri.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + } + pub unsafe fn SetListenForIncomingSessions(&self, enlisten: RTC_LISTEN_MODE) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.SetListenForIncomingSessions)(::windows::core::Interface::as_raw(self), enlisten).ok() + } + pub unsafe fn ListenForIncomingSessions(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.ListenForIncomingSessions)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"] + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub unsafe fn get_NetworkAddresses(&self, ftcp: P0, fexternal: P1) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam, + P1: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.get_NetworkAddresses)(::windows::core::Interface::as_raw(self), ftcp.into_param().abi(), fexternal.into_param().abi(), &mut result__).from_abi(result__) + } + pub unsafe fn put_Volume(&self, endevice: RTC_AUDIO_DEVICE, lvolume: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.put_Volume)(::windows::core::Interface::as_raw(self), endevice, lvolume).ok() + } + pub unsafe fn get_Volume(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.get_Volume)(::windows::core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn put_AudioMuted(&self, endevice: RTC_AUDIO_DEVICE, fmuted: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.put_AudioMuted)(::windows::core::Interface::as_raw(self), endevice, fmuted.into_param().abi()).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn get_AudioMuted(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.get_AudioMuted)(::windows::core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Media_DirectShow\"`, `\"Win32_System_Com\"`*"] + #[cfg(all(feature = "Win32_Media_DirectShow", feature = "Win32_System_Com"))] + pub unsafe fn get_IVideoWindow(&self, endevice: RTC_VIDEO_DEVICE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.get_IVideoWindow)(::windows::core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + } + pub unsafe fn put_PreferredAudioDevice(&self, endevice: RTC_AUDIO_DEVICE, bstrdevicename: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.put_PreferredAudioDevice)(::windows::core::Interface::as_raw(self), endevice, bstrdevicename.into_param().abi()).ok() + } + pub unsafe fn get_PreferredAudioDevice(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.get_PreferredAudioDevice)(::windows::core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + } + pub unsafe fn put_PreferredVolume(&self, endevice: RTC_AUDIO_DEVICE, lvolume: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.put_PreferredVolume)(::windows::core::Interface::as_raw(self), endevice, lvolume).ok() + } + pub unsafe fn get_PreferredVolume(&self, endevice: RTC_AUDIO_DEVICE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.get_PreferredVolume)(::windows::core::Interface::as_raw(self), endevice, &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn SetPreferredAEC(&self, benable: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.SetPreferredAEC)(::windows::core::Interface::as_raw(self), benable.into_param().abi()).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn PreferredAEC(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.PreferredAEC)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetPreferredVideoDevice(&self, bstrdevicename: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SetPreferredVideoDevice)(::windows::core::Interface::as_raw(self), bstrdevicename.into_param().abi()).ok() + } + pub unsafe fn PreferredVideoDevice(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.PreferredVideoDevice)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ActiveMedia(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.ActiveMedia)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetMaxBitrate(&self, lmaxbitrate: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.SetMaxBitrate)(::windows::core::Interface::as_raw(self), lmaxbitrate).ok() + } + pub unsafe fn MaxBitrate(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.MaxBitrate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetTemporalSpatialTradeOff(&self, lvalue: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.SetTemporalSpatialTradeOff)(::windows::core::Interface::as_raw(self), lvalue).ok() + } + pub unsafe fn TemporalSpatialTradeOff(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.TemporalSpatialTradeOff)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn NetworkQuality(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.NetworkQuality)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StartT120Applet(&self, enapplet: RTC_T120_APPLET) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.StartT120Applet)(::windows::core::Interface::as_raw(self), enapplet).ok() + } + pub unsafe fn StopT120Applets(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.StopT120Applets)(::windows::core::Interface::as_raw(self)).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn get_IsT120AppletRunning(&self, enapplet: RTC_T120_APPLET) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.get_IsT120AppletRunning)(::windows::core::Interface::as_raw(self), enapplet, &mut result__).from_abi(result__) + } + pub unsafe fn LocalUserURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.LocalUserURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetLocalUserURI(&self, bstruseruri: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SetLocalUserURI)(::windows::core::Interface::as_raw(self), bstruseruri.into_param().abi()).ok() + } + pub unsafe fn LocalUserName(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.LocalUserName)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetLocalUserName(&self, bstrusername: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SetLocalUserName)(::windows::core::Interface::as_raw(self), bstrusername.into_param().abi()).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn PlayRing(&self, entype: RTC_RING_TYPE, bplay: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.PlayRing)(::windows::core::Interface::as_raw(self), entype, bplay.into_param().abi()).ok() + } + pub unsafe fn SendDTMF(&self, endtmf: RTC_DTMF) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.SendDTMF)(::windows::core::Interface::as_raw(self), endtmf).ok() + } + pub unsafe fn InvokeTuningWizard(&self, hwndparent: isize) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.InvokeTuningWizard)(::windows::core::Interface::as_raw(self), hwndparent).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn IsTuned(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.IsTuned)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn put_AnswerMode(&self, entype: RTC_SESSION_TYPE, enmode: RTC_ANSWER_MODE) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).put_AnswerMode)(::windows::core::Interface::as_raw(self), entype, enmode).ok() + } + pub unsafe fn get_AnswerMode(&self, entype: RTC_SESSION_TYPE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_AnswerMode)(::windows::core::Interface::as_raw(self), entype, &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn InvokeTuningWizardEx(&self, hwndparent: isize, fallowaudio: P0, fallowvideo: P1) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + P1: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).InvokeTuningWizardEx)(::windows::core::Interface::as_raw(self), hwndparent, fallowaudio.into_param().abi(), fallowvideo.into_param().abi()).ok() + } + pub unsafe fn Version(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Version)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetClientName(&self, bstrclientname: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetClientName)(::windows::core::Interface::as_raw(self), bstrclientname.into_param().abi()).ok() + } + pub unsafe fn SetClientCurVer(&self, bstrclientcurver: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetClientCurVer)(::windows::core::Interface::as_raw(self), bstrclientcurver.into_param().abi()).ok() + } + pub unsafe fn InitializeEx(&self, lflags: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).InitializeEx)(::windows::core::Interface::as_raw(self), lflags).ok() + } + pub unsafe fn CreateSessionWithDescription(&self, bstrcontenttype: P0, bstrsessiondescription: P1, pprofile: P2, lflags: i32) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).CreateSessionWithDescription)(::windows::core::Interface::as_raw(self), bstrcontenttype.into_param().abi(), bstrsessiondescription.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + } + pub unsafe fn SetSessionDescriptionManager(&self, psessiondescriptionmanager: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).SetSessionDescriptionManager)(::windows::core::Interface::as_raw(self), psessiondescriptionmanager.into_param().abi()).ok() + } + pub unsafe fn put_PreferredSecurityLevel(&self, ensecuritytype: RTC_SECURITY_TYPE, ensecuritylevel: RTC_SECURITY_LEVEL) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).put_PreferredSecurityLevel)(::windows::core::Interface::as_raw(self), ensecuritytype, ensecuritylevel).ok() + } + pub unsafe fn get_PreferredSecurityLevel(&self, ensecuritytype: RTC_SECURITY_TYPE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_PreferredSecurityLevel)(::windows::core::Interface::as_raw(self), ensecuritytype, &mut result__).from_abi(result__) + } + pub unsafe fn put_AllowedPorts(&self, ltransport: i32, enlistenmode: RTC_LISTEN_MODE) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).put_AllowedPorts)(::windows::core::Interface::as_raw(self), ltransport, enlistenmode).ok() + } + pub unsafe fn get_AllowedPorts(&self, ltransport: i32) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_AllowedPorts)(::windows::core::Interface::as_raw(self), ltransport, &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCClient2, ::windows::core::IUnknown, IRTCClient); +impl ::core::cmp::PartialEq for IRTCClient2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCClient2 {} +impl ::core::fmt::Debug for IRTCClient2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCClient2").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCClient2 { + type Vtable = IRTCClient2_Vtbl; +} +impl ::core::clone::Clone for IRTCClient2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCClient2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0c91d71d_1064_42da_bfa5_572beb8eea84); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCClient2_Vtbl { + pub base__: IRTCClient_Vtbl, + pub put_AnswerMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, entype: RTC_SESSION_TYPE, enmode: RTC_ANSWER_MODE) -> ::windows::core::HRESULT, + pub get_AnswerMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, entype: RTC_SESSION_TYPE, penmode: *mut RTC_ANSWER_MODE) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub InvokeTuningWizardEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwndparent: isize, fallowaudio: super::super::Foundation::VARIANT_BOOL, fallowvideo: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + InvokeTuningWizardEx: usize, + pub Version: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plversion: *mut i32) -> ::windows::core::HRESULT, + pub SetClientName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrclientname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetClientCurVer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrclientcurver: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub InitializeEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lflags: i32) -> ::windows::core::HRESULT, + pub CreateSessionWithDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrcontenttype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrsessiondescription: ::std::mem::MaybeUninit<::windows::core::BSTR>, pprofile: *mut ::core::ffi::c_void, lflags: i32, ppsession2: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub SetSessionDescriptionManager: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psessiondescriptionmanager: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub put_PreferredSecurityLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ensecuritytype: RTC_SECURITY_TYPE, ensecuritylevel: RTC_SECURITY_LEVEL) -> ::windows::core::HRESULT, + pub get_PreferredSecurityLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ensecuritytype: RTC_SECURITY_TYPE, pensecuritylevel: *mut RTC_SECURITY_LEVEL) -> ::windows::core::HRESULT, + pub put_AllowedPorts: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ltransport: i32, enlistenmode: RTC_LISTEN_MODE) -> ::windows::core::HRESULT, + pub get_AllowedPorts: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ltransport: i32, penlistenmode: *mut RTC_LISTEN_MODE) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCClientEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCClientEvent { + pub unsafe fn EventType(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EventType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Client(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Client)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCClientEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCClientEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCClientEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCClientEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCClientEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCClientEvent { + type Vtable = IRTCClientEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCClientEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCClientEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2b493b7a_3cba_4170_9c8b_76a9dacdd644); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCClientEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub EventType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peneventtype: *mut RTC_CLIENT_EVENT_TYPE) -> ::windows::core::HRESULT, + pub Client: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppclient: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCClientPortManagement(::windows::core::IUnknown); +impl IRTCClientPortManagement { + pub unsafe fn StartListenAddressAndPort(&self, bstrinternallocaladdress: P0, linternallocalport: i32) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).StartListenAddressAndPort)(::windows::core::Interface::as_raw(self), bstrinternallocaladdress.into_param().abi(), linternallocalport).ok() + } + pub unsafe fn StopListenAddressAndPort(&self, bstrinternallocaladdress: P0, linternallocalport: i32) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).StopListenAddressAndPort)(::windows::core::Interface::as_raw(self), bstrinternallocaladdress.into_param().abi(), linternallocalport).ok() + } + pub unsafe fn GetPortRange(&self, enporttype: RTC_PORT_TYPE, plminvalue: *mut i32, plmaxvalue: *mut i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).GetPortRange)(::windows::core::Interface::as_raw(self), enporttype, plminvalue, plmaxvalue).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCClientPortManagement, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCClientPortManagement { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCClientPortManagement {} +impl ::core::fmt::Debug for IRTCClientPortManagement { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCClientPortManagement").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCClientPortManagement { + type Vtable = IRTCClientPortManagement_Vtbl; +} +impl ::core::clone::Clone for IRTCClientPortManagement { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCClientPortManagement { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd5df3f03_4bde_4417_aefe_71177bdaea66); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCClientPortManagement_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub StartListenAddressAndPort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrinternallocaladdress: ::std::mem::MaybeUninit<::windows::core::BSTR>, linternallocalport: i32) -> ::windows::core::HRESULT, + pub StopListenAddressAndPort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrinternallocaladdress: ::std::mem::MaybeUninit<::windows::core::BSTR>, linternallocalport: i32) -> ::windows::core::HRESULT, + pub GetPortRange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enporttype: RTC_PORT_TYPE, plminvalue: *mut i32, plmaxvalue: *mut i32) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCClientPresence(::windows::core::IUnknown); +impl IRTCClientPresence { + #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"] + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub unsafe fn EnablePresence(&self, fusestorage: P0, varstorage: super::Com::VARIANT) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).EnablePresence)(::windows::core::Interface::as_raw(self), fusestorage.into_param().abi(), ::core::mem::transmute(varstorage)).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"] + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub unsafe fn Export(&self, varstorage: super::Com::VARIANT) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Export)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(varstorage)).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"] + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub unsafe fn Import(&self, varstorage: super::Com::VARIANT, freplaceall: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).Import)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(varstorage), freplaceall.into_param().abi()).ok() + } + pub unsafe fn EnumerateBuddies(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EnumerateBuddies)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Buddies(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Buddies)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn get_Buddy(&self, bstrpresentityuri: P0) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_Buddy)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn AddBuddy(&self, bstrpresentityuri: P0, bstrusername: P1, bstrdata: P2, fpersistent: P3, pprofile: P4, lflags: i32) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam<::windows::core::BSTR>, + P3: ::windows::core::IntoParam, + P4: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).AddBuddy)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fpersistent.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + } + pub unsafe fn RemoveBuddy(&self, pbuddy: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).RemoveBuddy)(::windows::core::Interface::as_raw(self), pbuddy.into_param().abi()).ok() + } + pub unsafe fn EnumerateWatchers(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EnumerateWatchers)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Watchers(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Watchers)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn get_Watcher(&self, bstrpresentityuri: P0) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_Watcher)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn AddWatcher(&self, bstrpresentityuri: P0, bstrusername: P1, bstrdata: P2, fblocked: P3, fpersistent: P4) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam<::windows::core::BSTR>, + P3: ::windows::core::IntoParam, + P4: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).AddWatcher)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fblocked.into_param().abi(), fpersistent.into_param().abi(), &mut result__).from_abi(result__) + } + pub unsafe fn RemoveWatcher(&self, pwatcher: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).RemoveWatcher)(::windows::core::Interface::as_raw(self), pwatcher.into_param().abi()).ok() + } + pub unsafe fn SetLocalPresenceInfo(&self, enstatus: RTC_PRESENCE_STATUS, bstrnotes: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetLocalPresenceInfo)(::windows::core::Interface::as_raw(self), enstatus, bstrnotes.into_param().abi()).ok() + } + pub unsafe fn OfferWatcherMode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).OfferWatcherMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetOfferWatcherMode(&self, enmode: RTC_OFFER_WATCHER_MODE) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).SetOfferWatcherMode)(::windows::core::Interface::as_raw(self), enmode).ok() + } + pub unsafe fn PrivacyMode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).PrivacyMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetPrivacyMode(&self, enmode: RTC_PRIVACY_MODE) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).SetPrivacyMode)(::windows::core::Interface::as_raw(self), enmode).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCClientPresence, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCClientPresence { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCClientPresence {} +impl ::core::fmt::Debug for IRTCClientPresence { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCClientPresence").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCClientPresence { + type Vtable = IRTCClientPresence_Vtbl; +} +impl ::core::clone::Clone for IRTCClientPresence { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCClientPresence { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x11c3cbcc_0744_42d1_968a_51aa1bb274c6); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCClientPresence_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub EnablePresence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fusestorage: super::super::Foundation::VARIANT_BOOL, varstorage: super::Com::VARIANT) -> ::windows::core::HRESULT, + #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))] + EnablePresence: usize, + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub Export: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, varstorage: super::Com::VARIANT) -> ::windows::core::HRESULT, + #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))] + Export: usize, + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub Import: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, varstorage: super::Com::VARIANT, freplaceall: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))] + Import: usize, + pub EnumerateBuddies: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_System_Com")] + pub Buddies: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_System_Com"))] + Buddies: usize, + pub get_Buddy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrpresentityuri: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppbuddy: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub AddBuddy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrpresentityuri: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrusername: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdata: ::std::mem::MaybeUninit<::windows::core::BSTR>, fpersistent: super::super::Foundation::VARIANT_BOOL, pprofile: *mut ::core::ffi::c_void, lflags: i32, ppbuddy: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + AddBuddy: usize, + pub RemoveBuddy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuddy: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub EnumerateWatchers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_System_Com")] + pub Watchers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_System_Com"))] + Watchers: usize, + pub get_Watcher: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrpresentityuri: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppwatcher: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub AddWatcher: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrpresentityuri: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrusername: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdata: ::std::mem::MaybeUninit<::windows::core::BSTR>, fblocked: super::super::Foundation::VARIANT_BOOL, fpersistent: super::super::Foundation::VARIANT_BOOL, ppwatcher: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + AddWatcher: usize, + pub RemoveWatcher: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwatcher: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub SetLocalPresenceInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enstatus: RTC_PRESENCE_STATUS, bstrnotes: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub OfferWatcherMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penmode: *mut RTC_OFFER_WATCHER_MODE) -> ::windows::core::HRESULT, + pub SetOfferWatcherMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enmode: RTC_OFFER_WATCHER_MODE) -> ::windows::core::HRESULT, + pub PrivacyMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penmode: *mut RTC_PRIVACY_MODE) -> ::windows::core::HRESULT, + pub SetPrivacyMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enmode: RTC_PRIVACY_MODE) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCClientPresence2(::windows::core::IUnknown); +impl IRTCClientPresence2 { + #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"] + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub unsafe fn EnablePresence(&self, fusestorage: P0, varstorage: super::Com::VARIANT) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.EnablePresence)(::windows::core::Interface::as_raw(self), fusestorage.into_param().abi(), ::core::mem::transmute(varstorage)).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"] + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub unsafe fn Export(&self, varstorage: super::Com::VARIANT) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.Export)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(varstorage)).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"] + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub unsafe fn Import(&self, varstorage: super::Com::VARIANT, freplaceall: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.Import)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(varstorage), freplaceall.into_param().abi()).ok() + } + pub unsafe fn EnumerateBuddies(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.EnumerateBuddies)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Buddies(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Buddies)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn get_Buddy(&self, bstrpresentityuri: P0) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.get_Buddy)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn AddBuddy(&self, bstrpresentityuri: P0, bstrusername: P1, bstrdata: P2, fpersistent: P3, pprofile: P4, lflags: i32) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam<::windows::core::BSTR>, + P3: ::windows::core::IntoParam, + P4: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.AddBuddy)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fpersistent.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + } + pub unsafe fn RemoveBuddy(&self, pbuddy: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.RemoveBuddy)(::windows::core::Interface::as_raw(self), pbuddy.into_param().abi()).ok() + } + pub unsafe fn EnumerateWatchers(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.EnumerateWatchers)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Watchers(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Watchers)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn get_Watcher(&self, bstrpresentityuri: P0) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.get_Watcher)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn AddWatcher(&self, bstrpresentityuri: P0, bstrusername: P1, bstrdata: P2, fblocked: P3, fpersistent: P4) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam<::windows::core::BSTR>, + P3: ::windows::core::IntoParam, + P4: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.AddWatcher)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fblocked.into_param().abi(), fpersistent.into_param().abi(), &mut result__).from_abi(result__) + } + pub unsafe fn RemoveWatcher(&self, pwatcher: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.RemoveWatcher)(::windows::core::Interface::as_raw(self), pwatcher.into_param().abi()).ok() + } + pub unsafe fn SetLocalPresenceInfo(&self, enstatus: RTC_PRESENCE_STATUS, bstrnotes: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SetLocalPresenceInfo)(::windows::core::Interface::as_raw(self), enstatus, bstrnotes.into_param().abi()).ok() + } + pub unsafe fn OfferWatcherMode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.OfferWatcherMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetOfferWatcherMode(&self, enmode: RTC_OFFER_WATCHER_MODE) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.SetOfferWatcherMode)(::windows::core::Interface::as_raw(self), enmode).ok() + } + pub unsafe fn PrivacyMode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.PrivacyMode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetPrivacyMode(&self, enmode: RTC_PRIVACY_MODE) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.SetPrivacyMode)(::windows::core::Interface::as_raw(self), enmode).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"] + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub unsafe fn EnablePresenceEx(&self, pprofile: P0, varstorage: super::Com::VARIANT, lflags: i32) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).EnablePresenceEx)(::windows::core::Interface::as_raw(self), pprofile.into_param().abi(), ::core::mem::transmute(varstorage), lflags).ok() + } + pub unsafe fn DisablePresence(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).DisablePresence)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn AddGroup(&self, bstrgroupname: P0, bstrdata: P1, pprofile: P2, lflags: i32) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).AddGroup)(::windows::core::Interface::as_raw(self), bstrgroupname.into_param().abi(), bstrdata.into_param().abi(), pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + } + pub unsafe fn RemoveGroup(&self, pgroup: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).RemoveGroup)(::windows::core::Interface::as_raw(self), pgroup.into_param().abi()).ok() + } + pub unsafe fn EnumerateGroups(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EnumerateGroups)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Groups(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Groups)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn get_Group(&self, bstrgroupname: P0) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_Group)(::windows::core::Interface::as_raw(self), bstrgroupname.into_param().abi(), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn AddWatcherEx(&self, bstrpresentityuri: P0, bstrusername: P1, bstrdata: P2, enstate: RTC_WATCHER_STATE, fpersistent: P3, enscope: RTC_ACE_SCOPE, pprofile: P4, lflags: i32) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam<::windows::core::BSTR>, + P3: ::windows::core::IntoParam, + P4: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).AddWatcherEx)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), enstate, fpersistent.into_param().abi(), enscope, pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + } + pub unsafe fn get_WatcherEx(&self, enmode: RTC_WATCHER_MATCH_MODE, bstrpresentityuri: P0) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_WatcherEx)(::windows::core::Interface::as_raw(self), enmode, bstrpresentityuri.into_param().abi(), &mut result__).from_abi(result__) + } + pub unsafe fn put_PresenceProperty(&self, enproperty: RTC_PRESENCE_PROPERTY, bstrproperty: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).put_PresenceProperty)(::windows::core::Interface::as_raw(self), enproperty, bstrproperty.into_param().abi()).ok() + } + pub unsafe fn get_PresenceProperty(&self, enproperty: RTC_PRESENCE_PROPERTY) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).get_PresenceProperty)(::windows::core::Interface::as_raw(self), enproperty, &mut result__).from_abi(result__) + } + pub unsafe fn SetPresenceData(&self, bstrnamespace: P0, bstrdata: P1) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetPresenceData)(::windows::core::Interface::as_raw(self), bstrnamespace.into_param().abi(), bstrdata.into_param().abi()).ok() + } + pub unsafe fn GetPresenceData(&self, pbstrnamespace: *mut ::windows::core::BSTR, pbstrdata: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).GetPresenceData)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrnamespace), ::core::mem::transmute(pbstrdata)).ok() + } + pub unsafe fn GetLocalPresenceInfo(&self, penstatus: *mut RTC_PRESENCE_STATUS, pbstrnotes: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).GetLocalPresenceInfo)(::windows::core::Interface::as_raw(self), penstatus, ::core::mem::transmute(pbstrnotes)).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn AddBuddyEx(&self, bstrpresentityuri: P0, bstrusername: P1, bstrdata: P2, fpersistent: P3, ensubscriptiontype: RTC_BUDDY_SUBSCRIPTION_TYPE, pprofile: P4, lflags: i32) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam<::windows::core::BSTR>, + P3: ::windows::core::IntoParam, + P4: ::windows::core::IntoParam, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).AddBuddyEx)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi(), bstrusername.into_param().abi(), bstrdata.into_param().abi(), fpersistent.into_param().abi(), ensubscriptiontype, pprofile.into_param().abi(), lflags, &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCClientPresence2, ::windows::core::IUnknown, IRTCClientPresence); +impl ::core::cmp::PartialEq for IRTCClientPresence2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCClientPresence2 {} +impl ::core::fmt::Debug for IRTCClientPresence2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCClientPresence2").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCClientPresence2 { + type Vtable = IRTCClientPresence2_Vtbl; +} +impl ::core::clone::Clone for IRTCClientPresence2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCClientPresence2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xad1809e8_62f7_4783_909a_29c9d2cb1d34); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCClientPresence2_Vtbl { + pub base__: IRTCClientPresence_Vtbl, + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub EnablePresenceEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprofile: *mut ::core::ffi::c_void, varstorage: super::Com::VARIANT, lflags: i32) -> ::windows::core::HRESULT, + #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))] + EnablePresenceEx: usize, + pub DisablePresence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub AddGroup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrgroupname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdata: ::std::mem::MaybeUninit<::windows::core::BSTR>, pprofile: *mut ::core::ffi::c_void, lflags: i32, ppgroup: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub RemoveGroup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pgroup: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub EnumerateGroups: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_System_Com")] + pub Groups: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_System_Com"))] + Groups: usize, + pub get_Group: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrgroupname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppgroup: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub AddWatcherEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrpresentityuri: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrusername: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdata: ::std::mem::MaybeUninit<::windows::core::BSTR>, enstate: RTC_WATCHER_STATE, fpersistent: super::super::Foundation::VARIANT_BOOL, enscope: RTC_ACE_SCOPE, pprofile: *mut ::core::ffi::c_void, lflags: i32, ppwatcher: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + AddWatcherEx: usize, + pub get_WatcherEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enmode: RTC_WATCHER_MATCH_MODE, bstrpresentityuri: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppwatcher: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub put_PresenceProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enproperty: RTC_PRESENCE_PROPERTY, bstrproperty: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub get_PresenceProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enproperty: RTC_PRESENCE_PROPERTY, pbstrproperty: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetPresenceData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrnamespace: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub GetPresenceData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrnamespace: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrdata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub GetLocalPresenceInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penstatus: *mut RTC_PRESENCE_STATUS, pbstrnotes: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub AddBuddyEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrpresentityuri: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrusername: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdata: ::std::mem::MaybeUninit<::windows::core::BSTR>, fpersistent: super::super::Foundation::VARIANT_BOOL, ensubscriptiontype: RTC_BUDDY_SUBSCRIPTION_TYPE, pprofile: *mut ::core::ffi::c_void, lflags: i32, ppbuddy: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + AddBuddyEx: usize, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCClientProvisioning(::windows::core::IUnknown); +impl IRTCClientProvisioning { + pub unsafe fn CreateProfile(&self, bstrprofilexml: P0) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).CreateProfile)(::windows::core::Interface::as_raw(self), bstrprofilexml.into_param().abi(), &mut result__).from_abi(result__) + } + pub unsafe fn EnableProfile(&self, pprofile: P0, lregisterflags: i32) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).EnableProfile)(::windows::core::Interface::as_raw(self), pprofile.into_param().abi(), lregisterflags).ok() + } + pub unsafe fn DisableProfile(&self, pprofile: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).DisableProfile)(::windows::core::Interface::as_raw(self), pprofile.into_param().abi()).ok() + } + pub unsafe fn EnumerateProfiles(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EnumerateProfiles)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Profiles(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Profiles)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn GetProfile(&self, bstruseraccount: P0, bstruserpassword: P1, bstruseruri: P2, bstrserver: P3, ltransport: i32, lcookie: isize) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam<::windows::core::BSTR>, + P3: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).GetProfile)(::windows::core::Interface::as_raw(self), bstruseraccount.into_param().abi(), bstruserpassword.into_param().abi(), bstruseruri.into_param().abi(), bstrserver.into_param().abi(), ltransport, lcookie).ok() + } + pub unsafe fn SessionCapabilities(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).SessionCapabilities)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCClientProvisioning, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCClientProvisioning { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCClientProvisioning {} +impl ::core::fmt::Debug for IRTCClientProvisioning { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCClientProvisioning").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCClientProvisioning { + type Vtable = IRTCClientProvisioning_Vtbl; +} +impl ::core::clone::Clone for IRTCClientProvisioning { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCClientProvisioning { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb9f5cf06_65b9_4a80_a0e6_73cae3ef3822); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCClientProvisioning_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub CreateProfile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrprofilexml: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppprofile: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub EnableProfile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprofile: *mut ::core::ffi::c_void, lregisterflags: i32) -> ::windows::core::HRESULT, + pub DisableProfile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprofile: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub EnumerateProfiles: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_System_Com")] + pub Profiles: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_System_Com"))] + Profiles: usize, + pub GetProfile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstruseraccount: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstruserpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstruseruri: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrserver: ::std::mem::MaybeUninit<::windows::core::BSTR>, ltransport: i32, lcookie: isize) -> ::windows::core::HRESULT, + pub SessionCapabilities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plsupportedsessions: *mut i32) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCClientProvisioning2(::windows::core::IUnknown); +impl IRTCClientProvisioning2 { + pub unsafe fn CreateProfile(&self, bstrprofilexml: P0) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.CreateProfile)(::windows::core::Interface::as_raw(self), bstrprofilexml.into_param().abi(), &mut result__).from_abi(result__) + } + pub unsafe fn EnableProfile(&self, pprofile: P0, lregisterflags: i32) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.EnableProfile)(::windows::core::Interface::as_raw(self), pprofile.into_param().abi(), lregisterflags).ok() + } + pub unsafe fn DisableProfile(&self, pprofile: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.DisableProfile)(::windows::core::Interface::as_raw(self), pprofile.into_param().abi()).ok() + } + pub unsafe fn EnumerateProfiles(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.EnumerateProfiles)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Profiles(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Profiles)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn GetProfile(&self, bstruseraccount: P0, bstruserpassword: P1, bstruseruri: P2, bstrserver: P3, ltransport: i32, lcookie: isize) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam<::windows::core::BSTR>, + P3: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.GetProfile)(::windows::core::Interface::as_raw(self), bstruseraccount.into_param().abi(), bstruserpassword.into_param().abi(), bstruseruri.into_param().abi(), bstrserver.into_param().abi(), ltransport, lcookie).ok() + } + pub unsafe fn SessionCapabilities(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.SessionCapabilities)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn EnableProfileEx(&self, pprofile: P0, lregisterflags: i32, lroamingflags: i32) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).EnableProfileEx)(::windows::core::Interface::as_raw(self), pprofile.into_param().abi(), lregisterflags, lroamingflags).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCClientProvisioning2, ::windows::core::IUnknown, IRTCClientProvisioning); +impl ::core::cmp::PartialEq for IRTCClientProvisioning2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCClientProvisioning2 {} +impl ::core::fmt::Debug for IRTCClientProvisioning2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCClientProvisioning2").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCClientProvisioning2 { + type Vtable = IRTCClientProvisioning2_Vtbl; +} +impl ::core::clone::Clone for IRTCClientProvisioning2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCClientProvisioning2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa70909b5_f40e_4587_bb75_e6bc0845023e); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCClientProvisioning2_Vtbl { + pub base__: IRTCClientProvisioning_Vtbl, + pub EnableProfileEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprofile: *mut ::core::ffi::c_void, lregisterflags: i32, lroamingflags: i32) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCCollection(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCCollection { + pub unsafe fn Count(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"] + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub unsafe fn get_Item(&self, index: i32) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__) + } + pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> { + let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>(); + (::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCCollection, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCCollection { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCCollection {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCCollection { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCCollection").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCCollection { + type Vtable = IRTCCollection_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCCollection { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCCollection { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xec7c8096_b918_4044_94f1_e4fba0361d5c); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCCollection_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lcount: *mut i32) -> ::windows::core::HRESULT, + #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] + pub get_Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, pvariant: *mut super::Com::VARIANT) -> ::windows::core::HRESULT, + #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))] + get_Item: usize, + pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppnewenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCDispatchEventNotification(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCDispatchEventNotification {} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCDispatchEventNotification, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCDispatchEventNotification { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCDispatchEventNotification {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCDispatchEventNotification { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCDispatchEventNotification").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCDispatchEventNotification { + type Vtable = IRTCDispatchEventNotification_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCDispatchEventNotification { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCDispatchEventNotification { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x176ddfbe_fec0_4d55_bc87_84cff1ef7f91); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCDispatchEventNotification_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCEnumBuddies(::windows::core::IUnknown); +impl IRTCEnumBuddies { + pub unsafe fn Next(&self, ppelements: &mut [::core::option::Option], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), ppelements.len() as _, ::core::mem::transmute(ppelements.as_ptr()), ::core::mem::transmute(pceltfetched.unwrap_or(::std::ptr::null_mut()))).ok() + } + pub unsafe fn Reset(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Skip(&self, celt: u32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), celt).ok() + } + pub unsafe fn Clone(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCEnumBuddies, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCEnumBuddies { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCEnumBuddies {} +impl ::core::fmt::Debug for IRTCEnumBuddies { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCEnumBuddies").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCEnumBuddies { + type Vtable = IRTCEnumBuddies_Vtbl; +} +impl ::core::clone::Clone for IRTCEnumBuddies { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCEnumBuddies { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf7296917_5569_4b3b_b3af_98d1144b2b87); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCEnumBuddies_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, ppelements: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT, + pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT, + pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCEnumGroups(::windows::core::IUnknown); +impl IRTCEnumGroups { + pub unsafe fn Next(&self, ppelements: &mut [::core::option::Option], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), ppelements.len() as _, ::core::mem::transmute(ppelements.as_ptr()), ::core::mem::transmute(pceltfetched.unwrap_or(::std::ptr::null_mut()))).ok() + } + pub unsafe fn Reset(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Skip(&self, celt: u32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), celt).ok() + } + pub unsafe fn Clone(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCEnumGroups, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCEnumGroups { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCEnumGroups {} +impl ::core::fmt::Debug for IRTCEnumGroups { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCEnumGroups").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCEnumGroups { + type Vtable = IRTCEnumGroups_Vtbl; +} +impl ::core::clone::Clone for IRTCEnumGroups { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCEnumGroups { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x742378d6_a141_4415_8f27_35d99076cf5d); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCEnumGroups_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, ppelements: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT, + pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT, + pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCEnumParticipants(::windows::core::IUnknown); +impl IRTCEnumParticipants { + pub unsafe fn Next(&self, ppelements: &mut [::core::option::Option], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), ppelements.len() as _, ::core::mem::transmute(ppelements.as_ptr()), ::core::mem::transmute(pceltfetched.unwrap_or(::std::ptr::null_mut()))).ok() + } + pub unsafe fn Reset(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Skip(&self, celt: u32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), celt).ok() + } + pub unsafe fn Clone(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCEnumParticipants, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCEnumParticipants { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCEnumParticipants {} +impl ::core::fmt::Debug for IRTCEnumParticipants { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCEnumParticipants").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCEnumParticipants { + type Vtable = IRTCEnumParticipants_Vtbl; +} +impl ::core::clone::Clone for IRTCEnumParticipants { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCEnumParticipants { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfcd56f29_4a4f_41b2_ba5c_f5bccc060bf6); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCEnumParticipants_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, ppelements: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT, + pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT, + pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCEnumPresenceDevices(::windows::core::IUnknown); +impl IRTCEnumPresenceDevices { + pub unsafe fn Next(&self, ppelements: &mut [::core::option::Option], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), ppelements.len() as _, ::core::mem::transmute(ppelements.as_ptr()), ::core::mem::transmute(pceltfetched.unwrap_or(::std::ptr::null_mut()))).ok() + } + pub unsafe fn Reset(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Skip(&self, celt: u32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), celt).ok() + } + pub unsafe fn Clone(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCEnumPresenceDevices, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCEnumPresenceDevices { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCEnumPresenceDevices {} +impl ::core::fmt::Debug for IRTCEnumPresenceDevices { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCEnumPresenceDevices").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCEnumPresenceDevices { + type Vtable = IRTCEnumPresenceDevices_Vtbl; +} +impl ::core::clone::Clone for IRTCEnumPresenceDevices { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCEnumPresenceDevices { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x708c2ab7_8bf8_42f8_8c7d_635197ad5539); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCEnumPresenceDevices_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, ppelements: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT, + pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT, + pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCEnumProfiles(::windows::core::IUnknown); +impl IRTCEnumProfiles { + pub unsafe fn Next(&self, ppelements: &mut [::core::option::Option], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), ppelements.len() as _, ::core::mem::transmute(ppelements.as_ptr()), ::core::mem::transmute(pceltfetched.unwrap_or(::std::ptr::null_mut()))).ok() + } + pub unsafe fn Reset(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Skip(&self, celt: u32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), celt).ok() + } + pub unsafe fn Clone(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCEnumProfiles, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCEnumProfiles { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCEnumProfiles {} +impl ::core::fmt::Debug for IRTCEnumProfiles { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCEnumProfiles").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCEnumProfiles { + type Vtable = IRTCEnumProfiles_Vtbl; +} +impl ::core::clone::Clone for IRTCEnumProfiles { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCEnumProfiles { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x29b7c41c_ed82_4bca_84ad_39d5101b58e3); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCEnumProfiles_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, ppelements: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT, + pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT, + pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCEnumUserSearchResults(::windows::core::IUnknown); +impl IRTCEnumUserSearchResults { + pub unsafe fn Next(&self, ppelements: &mut [::core::option::Option], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), ppelements.len() as _, ::core::mem::transmute(ppelements.as_ptr()), ::core::mem::transmute(pceltfetched.unwrap_or(::std::ptr::null_mut()))).ok() + } + pub unsafe fn Reset(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Skip(&self, celt: u32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), celt).ok() + } + pub unsafe fn Clone(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCEnumUserSearchResults, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCEnumUserSearchResults { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCEnumUserSearchResults {} +impl ::core::fmt::Debug for IRTCEnumUserSearchResults { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCEnumUserSearchResults").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCEnumUserSearchResults { + type Vtable = IRTCEnumUserSearchResults_Vtbl; +} +impl ::core::clone::Clone for IRTCEnumUserSearchResults { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCEnumUserSearchResults { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x83d4d877_aa5d_4a5b_8d0e_002a8067e0e8); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCEnumUserSearchResults_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, ppelements: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT, + pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT, + pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCEnumWatchers(::windows::core::IUnknown); +impl IRTCEnumWatchers { + pub unsafe fn Next(&self, ppelements: &mut [::core::option::Option], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), ppelements.len() as _, ::core::mem::transmute(ppelements.as_ptr()), ::core::mem::transmute(pceltfetched.unwrap_or(::std::ptr::null_mut()))).ok() + } + pub unsafe fn Reset(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Skip(&self, celt: u32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), celt).ok() + } + pub unsafe fn Clone(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCEnumWatchers, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCEnumWatchers { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCEnumWatchers {} +impl ::core::fmt::Debug for IRTCEnumWatchers { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCEnumWatchers").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCEnumWatchers { + type Vtable = IRTCEnumWatchers_Vtbl; +} +impl ::core::clone::Clone for IRTCEnumWatchers { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCEnumWatchers { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa87d55d7_db74_4ed1_9ca4_77a0e41b413e); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCEnumWatchers_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, ppelements: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT, + pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT, + pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCEventNotification(::windows::core::IUnknown); +impl IRTCEventNotification { + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Event(&self, rtcevent: RTC_EVENT, pevent: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).Event)(::windows::core::Interface::as_raw(self), rtcevent, pevent.into_param().abi()).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCEventNotification, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCEventNotification { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCEventNotification {} +impl ::core::fmt::Debug for IRTCEventNotification { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCEventNotification").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCEventNotification { + type Vtable = IRTCEventNotification_Vtbl; +} +impl ::core::clone::Clone for IRTCEventNotification { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCEventNotification { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x13fa24c7_5748_4b21_91f5_7397609ce747); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCEventNotification_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + #[cfg(feature = "Win32_System_Com")] + pub Event: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rtcevent: RTC_EVENT, pevent: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_System_Com"))] + Event: usize, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCInfoEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCInfoEvent { + pub unsafe fn Session(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Session)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Participant(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Participant)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Info(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Info)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn InfoHeader(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).InfoHeader)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCInfoEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCInfoEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCInfoEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCInfoEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCInfoEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCInfoEvent { + type Vtable = IRTCInfoEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCInfoEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCInfoEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4e1d68ae_1912_4f49_b2c3_594fadfd425f); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCInfoEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Session: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppsession: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Participant: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppparticipant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Info: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrinfo: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub InfoHeader: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrinfoheader: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCIntensityEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCIntensityEvent { + pub unsafe fn Level(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Level)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Min(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Min)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Max(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Max)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Direction(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Direction)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCIntensityEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCIntensityEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCIntensityEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCIntensityEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCIntensityEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCIntensityEvent { + type Vtable = IRTCIntensityEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCIntensityEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCIntensityEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4c23bf51_390c_4992_a41d_41eec05b2a4b); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCIntensityEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Level: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pllevel: *mut i32) -> ::windows::core::HRESULT, + pub Min: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmin: *mut i32) -> ::windows::core::HRESULT, + pub Max: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmax: *mut i32) -> ::windows::core::HRESULT, + pub Direction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pendirection: *mut RTC_AUDIO_DEVICE) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCMediaEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCMediaEvent { + pub unsafe fn MediaType(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).MediaType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn EventType(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EventType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn EventReason(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EventReason)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCMediaEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCMediaEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCMediaEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCMediaEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCMediaEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCMediaEvent { + type Vtable = IRTCMediaEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCMediaEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCMediaEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x099944fb_bcda_453e_8c41_e13da2adf7f3); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCMediaEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub MediaType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmediatype: *mut i32) -> ::windows::core::HRESULT, + pub EventType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peneventtype: *mut RTC_MEDIA_EVENT_TYPE) -> ::windows::core::HRESULT, + pub EventReason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peneventreason: *mut RTC_MEDIA_EVENT_REASON) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCMediaRequestEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCMediaRequestEvent { + pub unsafe fn Session(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Session)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ProposedMedia(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).ProposedMedia)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn CurrentMedia(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).CurrentMedia)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Accept(&self, lmediatypes: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Accept)(::windows::core::Interface::as_raw(self), lmediatypes).ok() + } + pub unsafe fn get_RemotePreferredSecurityLevel(&self, ensecuritytype: RTC_SECURITY_TYPE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_RemotePreferredSecurityLevel)(::windows::core::Interface::as_raw(self), ensecuritytype, &mut result__).from_abi(result__) + } + pub unsafe fn Reject(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Reject)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCMediaRequestEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCMediaRequestEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCMediaRequestEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCMediaRequestEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCMediaRequestEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCMediaRequestEvent { + type Vtable = IRTCMediaRequestEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCMediaRequestEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCMediaRequestEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x52572d15_148c_4d97_a36c_2da55c289d63); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCMediaRequestEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Session: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppsession: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub ProposedMedia: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmediatypes: *mut i32) -> ::windows::core::HRESULT, + pub CurrentMedia: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plmediatypes: *mut i32) -> ::windows::core::HRESULT, + pub Accept: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lmediatypes: i32) -> ::windows::core::HRESULT, + pub get_RemotePreferredSecurityLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ensecuritytype: RTC_SECURITY_TYPE, pensecuritylevel: *mut RTC_SECURITY_LEVEL) -> ::windows::core::HRESULT, + pub Reject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstate: *mut RTC_REINVITE_STATE) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCMessagingEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCMessagingEvent { + pub unsafe fn Session(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Session)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Participant(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Participant)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn EventType(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EventType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Message(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Message)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn MessageHeader(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).MessageHeader)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn UserStatus(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).UserStatus)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCMessagingEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCMessagingEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCMessagingEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCMessagingEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCMessagingEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCMessagingEvent { + type Vtable = IRTCMessagingEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCMessagingEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCMessagingEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd3609541_1b29_4de5_a4ad_5aebaf319512); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCMessagingEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Session: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppsession: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Participant: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppparticipant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub EventType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peneventtype: *mut RTC_MESSAGING_EVENT_TYPE) -> ::windows::core::HRESULT, + pub Message: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrmessage: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub MessageHeader: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrmessageheader: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub UserStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penuserstatus: *mut RTC_MESSAGING_USER_STATUS) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCParticipant(::windows::core::IUnknown); +impl IRTCParticipant { + pub unsafe fn UserURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).UserURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn Removable(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Removable)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Session(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Session)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCParticipant, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCParticipant { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCParticipant {} +impl ::core::fmt::Debug for IRTCParticipant { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCParticipant").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCParticipant { + type Vtable = IRTCParticipant_Vtbl; +} +impl ::core::clone::Clone for IRTCParticipant { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCParticipant { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xae86add5_26b1_4414_af1d_b94cd938d739); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCParticipant_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub UserURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstruseruri: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub Removable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfremovable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + Removable: usize, + pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penstate: *mut RTC_PARTICIPANT_STATE) -> ::windows::core::HRESULT, + pub Session: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppsession: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCParticipantStateChangeEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCParticipantStateChangeEvent { + pub unsafe fn Participant(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Participant)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCParticipantStateChangeEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCParticipantStateChangeEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCParticipantStateChangeEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCParticipantStateChangeEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCParticipantStateChangeEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCParticipantStateChangeEvent { + type Vtable = IRTCParticipantStateChangeEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCParticipantStateChangeEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCParticipantStateChangeEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x09bcb597_f0fa_48f9_b420_468cea7fde04); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCParticipantStateChangeEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Participant: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppparticipant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penstate: *mut RTC_PARTICIPANT_STATE) -> ::windows::core::HRESULT, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCPortManager(::windows::core::IUnknown); +impl IRTCPortManager { + pub unsafe fn GetMapping(&self, bstrremoteaddress: P0, enporttype: RTC_PORT_TYPE, pbstrinternallocaladdress: *mut ::windows::core::BSTR, plinternallocalport: *mut i32, pbstrexternallocaladdress: *mut ::windows::core::BSTR, plexternallocalport: *mut i32) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).GetMapping)(::windows::core::Interface::as_raw(self), bstrremoteaddress.into_param().abi(), enporttype, ::core::mem::transmute(pbstrinternallocaladdress), plinternallocalport, ::core::mem::transmute(pbstrexternallocaladdress), plexternallocalport).ok() + } + pub unsafe fn UpdateRemoteAddress(&self, bstrremoteaddress: P0, bstrinternallocaladdress: P1, linternallocalport: i32, bstrexternallocaladdress: P2, lexternallocalport: i32) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).UpdateRemoteAddress)(::windows::core::Interface::as_raw(self), bstrremoteaddress.into_param().abi(), bstrinternallocaladdress.into_param().abi(), linternallocalport, bstrexternallocaladdress.into_param().abi(), lexternallocalport).ok() + } + pub unsafe fn ReleaseMapping(&self, bstrinternallocaladdress: P0, linternallocalport: i32, bstrexternallocaladdress: P1, lexternallocaladdress: i32) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).ReleaseMapping)(::windows::core::Interface::as_raw(self), bstrinternallocaladdress.into_param().abi(), linternallocalport, bstrexternallocaladdress.into_param().abi(), lexternallocaladdress).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCPortManager, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCPortManager { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCPortManager {} +impl ::core::fmt::Debug for IRTCPortManager { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCPortManager").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCPortManager { + type Vtable = IRTCPortManager_Vtbl; +} +impl ::core::clone::Clone for IRTCPortManager { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCPortManager { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xda77c14b_6208_43ca_8ddf_5b60a0a69fac); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCPortManager_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub GetMapping: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrremoteaddress: ::std::mem::MaybeUninit<::windows::core::BSTR>, enporttype: RTC_PORT_TYPE, pbstrinternallocaladdress: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, plinternallocalport: *mut i32, pbstrexternallocaladdress: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, plexternallocalport: *mut i32) -> ::windows::core::HRESULT, + pub UpdateRemoteAddress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrremoteaddress: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrinternallocaladdress: ::std::mem::MaybeUninit<::windows::core::BSTR>, linternallocalport: i32, bstrexternallocaladdress: ::std::mem::MaybeUninit<::windows::core::BSTR>, lexternallocalport: i32) -> ::windows::core::HRESULT, + pub ReleaseMapping: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrinternallocaladdress: ::std::mem::MaybeUninit<::windows::core::BSTR>, linternallocalport: i32, bstrexternallocaladdress: ::std::mem::MaybeUninit<::windows::core::BSTR>, lexternallocaladdress: i32) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCPresenceContact(::windows::core::IUnknown); +impl IRTCPresenceContact { + pub unsafe fn PresentityURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).PresentityURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetPresentityURI(&self, bstrpresentityuri: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetPresentityURI)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi()).ok() + } + pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetName(&self, bstrname: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetName)(::windows::core::Interface::as_raw(self), bstrname.into_param().abi()).ok() + } + pub unsafe fn Data(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Data)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetData)(::windows::core::Interface::as_raw(self), bstrdata.into_param().abi()).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn Persistent(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Persistent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn SetPersistent(&self, fpersistent: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).SetPersistent)(::windows::core::Interface::as_raw(self), fpersistent.into_param().abi()).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCPresenceContact, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCPresenceContact { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCPresenceContact {} +impl ::core::fmt::Debug for IRTCPresenceContact { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCPresenceContact").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCPresenceContact { + type Vtable = IRTCPresenceContact_Vtbl; +} +impl ::core::clone::Clone for IRTCPresenceContact { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCPresenceContact { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8b22f92c_cd90_42db_a733_212205c3e3df); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCPresenceContact_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub PresentityURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrpresentityuri: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetPresentityURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrpresentityuri: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub Data: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrdata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub Persistent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfpersistent: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + Persistent: usize, + #[cfg(feature = "Win32_Foundation")] + pub SetPersistent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fpersistent: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + SetPersistent: usize, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCPresenceDataEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCPresenceDataEvent { + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusText(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).StatusText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn GetPresenceData(&self, pbstrnamespace: *mut ::windows::core::BSTR, pbstrdata: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).GetPresenceData)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrnamespace), ::core::mem::transmute(pbstrdata)).ok() + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCPresenceDataEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCPresenceDataEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCPresenceDataEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCPresenceDataEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCPresenceDataEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCPresenceDataEvent { + type Vtable = IRTCPresenceDataEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCPresenceDataEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCPresenceDataEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x38f0e78c_8b87_4c04_a82d_aedd83c909bb); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCPresenceDataEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, + pub StatusText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrstatustext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub GetPresenceData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrnamespace: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrdata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCPresenceDevice(::windows::core::IUnknown); +impl IRTCPresenceDevice { + pub unsafe fn Status(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Status)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Notes(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Notes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn get_PresenceProperty(&self, enproperty: RTC_PRESENCE_PROPERTY) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).get_PresenceProperty)(::windows::core::Interface::as_raw(self), enproperty, &mut result__).from_abi(result__) + } + pub unsafe fn GetPresenceData(&self, pbstrnamespace: *mut ::windows::core::BSTR, pbstrdata: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).GetPresenceData)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrnamespace), ::core::mem::transmute(pbstrdata)).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCPresenceDevice, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCPresenceDevice { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCPresenceDevice {} +impl ::core::fmt::Debug for IRTCPresenceDevice { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCPresenceDevice").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCPresenceDevice { + type Vtable = IRTCPresenceDevice_Vtbl; +} +impl ::core::clone::Clone for IRTCPresenceDevice { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCPresenceDevice { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbc6a90dd_ad9a_48da_9b0c_2515e38521ad); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCPresenceDevice_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penstatus: *mut RTC_PRESENCE_STATUS) -> ::windows::core::HRESULT, + pub Notes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrnotes: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub get_PresenceProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enproperty: RTC_PRESENCE_PROPERTY, pbstrproperty: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub GetPresenceData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrnamespace: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrdata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCPresencePropertyEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCPresencePropertyEvent { + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusText(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).StatusText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn PresenceProperty(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).PresenceProperty)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Value(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Value)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCPresencePropertyEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCPresencePropertyEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCPresencePropertyEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCPresencePropertyEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCPresencePropertyEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCPresencePropertyEvent { + type Vtable = IRTCPresencePropertyEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCPresencePropertyEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCPresencePropertyEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf777f570_a820_49d5_86bd_e099493f1518); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCPresencePropertyEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, + pub StatusText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrstatustext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub PresenceProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penpresprop: *mut RTC_PRESENCE_PROPERTY) -> ::windows::core::HRESULT, + pub Value: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCPresenceStatusEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCPresenceStatusEvent { + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusText(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).StatusText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn GetLocalPresenceInfo(&self, penstatus: *mut RTC_PRESENCE_STATUS, pbstrnotes: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).GetLocalPresenceInfo)(::windows::core::Interface::as_raw(self), penstatus, ::core::mem::transmute(pbstrnotes)).ok() + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCPresenceStatusEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCPresenceStatusEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCPresenceStatusEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCPresenceStatusEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCPresenceStatusEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCPresenceStatusEvent { + type Vtable = IRTCPresenceStatusEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCPresenceStatusEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCPresenceStatusEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x78673f32_4a0f_462c_89aa_ee7706707678); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCPresenceStatusEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, + pub StatusText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrstatustext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub GetLocalPresenceInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penstatus: *mut RTC_PRESENCE_STATUS, pbstrnotes: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCProfile(::windows::core::IUnknown); +impl IRTCProfile { + pub unsafe fn Key(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Key)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn XML(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).XML)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ProviderName(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ProviderName)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn get_ProviderURI(&self, enuri: RTC_PROVIDER_URI) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).get_ProviderURI)(::windows::core::Interface::as_raw(self), enuri, &mut result__).from_abi(result__) + } + pub unsafe fn ProviderData(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ProviderData)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ClientName(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ClientName)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn ClientBanner(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).ClientBanner)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ClientMinVer(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ClientMinVer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ClientCurVer(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ClientCurVer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ClientUpdateURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ClientUpdateURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ClientData(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ClientData)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn UserURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).UserURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn UserName(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).UserName)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn UserAccount(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).UserAccount)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetCredentials(&self, bstruseruri: P0, bstruseraccount: P1, bstrpassword: P2) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetCredentials)(::windows::core::Interface::as_raw(self), bstruseruri.into_param().abi(), bstruseraccount.into_param().abi(), bstrpassword.into_param().abi()).ok() + } + pub unsafe fn SessionCapabilities(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).SessionCapabilities)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCProfile, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCProfile { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCProfile {} +impl ::core::fmt::Debug for IRTCProfile { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCProfile").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCProfile { + type Vtable = IRTCProfile_Vtbl; +} +impl ::core::clone::Clone for IRTCProfile { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCProfile { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd07eca9e_4062_4dd4_9e7d_722a49ba7303); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCProfile_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Key: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrkey: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub XML: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrxml: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ProviderName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub get_ProviderURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enuri: RTC_PROVIDER_URI, pbstruri: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ProviderData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ClientName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub ClientBanner: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfbanner: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + ClientBanner: usize, + pub ClientMinVer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrminver: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ClientCurVer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrcurver: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ClientUpdateURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrupdateuri: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ClientData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub UserURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstruseruri: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub UserName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrusername: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub UserAccount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstruseraccount: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetCredentials: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstruseruri: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstruseraccount: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SessionCapabilities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plsupportedsessions: *mut i32) -> ::windows::core::HRESULT, + pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penstate: *mut RTC_REGISTRATION_STATE) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCProfile2(::windows::core::IUnknown); +impl IRTCProfile2 { + pub unsafe fn Key(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.Key)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn XML(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.XML)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ProviderName(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.ProviderName)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn get_ProviderURI(&self, enuri: RTC_PROVIDER_URI) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.get_ProviderURI)(::windows::core::Interface::as_raw(self), enuri, &mut result__).from_abi(result__) + } + pub unsafe fn ProviderData(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.ProviderData)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ClientName(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.ClientName)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn ClientBanner(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.ClientBanner)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ClientMinVer(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.ClientMinVer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ClientCurVer(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.ClientCurVer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ClientUpdateURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.ClientUpdateURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ClientData(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.ClientData)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn UserURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.UserURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn UserName(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.UserName)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn UserAccount(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.UserAccount)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetCredentials(&self, bstruseruri: P0, bstruseraccount: P1, bstrpassword: P2) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + P2: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SetCredentials)(::windows::core::Interface::as_raw(self), bstruseruri.into_param().abi(), bstruseraccount.into_param().abi(), bstrpassword.into_param().abi()).ok() + } + pub unsafe fn SessionCapabilities(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.SessionCapabilities)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Realm(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).Realm)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetRealm(&self, bstrrealm: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetRealm)(::windows::core::Interface::as_raw(self), bstrrealm.into_param().abi()).ok() + } + pub unsafe fn AllowedAuth(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).AllowedAuth)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetAllowedAuth(&self, lallowedauth: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).SetAllowedAuth)(::windows::core::Interface::as_raw(self), lallowedauth).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCProfile2, ::windows::core::IUnknown, IRTCProfile); +impl ::core::cmp::PartialEq for IRTCProfile2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCProfile2 {} +impl ::core::fmt::Debug for IRTCProfile2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCProfile2").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCProfile2 { + type Vtable = IRTCProfile2_Vtbl; +} +impl ::core::clone::Clone for IRTCProfile2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCProfile2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4b81f84e_bdc7_4184_9154_3cb2dd7917fb); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCProfile2_Vtbl { + pub base__: IRTCProfile_Vtbl, + pub Realm: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrrealm: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetRealm: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrrealm: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub AllowedAuth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plallowedauth: *mut i32) -> ::windows::core::HRESULT, + pub SetAllowedAuth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lallowedauth: i32) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCProfileEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCProfileEvent { + pub unsafe fn Profile(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Profile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Cookie(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Cookie)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCProfileEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCProfileEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCProfileEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCProfileEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCProfileEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCProfileEvent { + type Vtable = IRTCProfileEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCProfileEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCProfileEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd6d5ab3b_770e_43e8_800a_79b062395fca); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCProfileEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Profile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppprofile: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Cookie: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plcookie: *mut isize) -> ::windows::core::HRESULT, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCProfileEvent2(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCProfileEvent2 { + pub unsafe fn Profile(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Profile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Cookie(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Cookie)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn EventType(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EventType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCProfileEvent2, ::windows::core::IUnknown, super::Com::IDispatch, IRTCProfileEvent); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCProfileEvent2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCProfileEvent2 {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCProfileEvent2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCProfileEvent2").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCProfileEvent2 { + type Vtable = IRTCProfileEvent2_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCProfileEvent2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCProfileEvent2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x62e56edc_03fa_4121_94fb_23493fd0ae64); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCProfileEvent2_Vtbl { + pub base__: IRTCProfileEvent_Vtbl, + pub EventType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peventtype: *mut RTC_PROFILE_EVENT_TYPE) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCReInviteEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCReInviteEvent { + pub unsafe fn Session(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Session)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Accept(&self, bstrcontenttype: P0, bstrsessiondescription: P1) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).Accept)(::windows::core::Interface::as_raw(self), bstrcontenttype.into_param().abi(), bstrsessiondescription.into_param().abi()).ok() + } + pub unsafe fn Reject(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Reject)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn GetRemoteSessionDescription(&self, pbstrcontenttype: *mut ::windows::core::BSTR, pbstrsessiondescription: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).GetRemoteSessionDescription)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrcontenttype), ::core::mem::transmute(pbstrsessiondescription)).ok() + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCReInviteEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCReInviteEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCReInviteEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCReInviteEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCReInviteEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCReInviteEvent { + type Vtable = IRTCReInviteEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCReInviteEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCReInviteEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x11558d84_204c_43e7_99b0_2034e9417f7d); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCReInviteEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Session: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppsession2: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Accept: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrcontenttype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrsessiondescription: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub Reject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstate: *mut RTC_REINVITE_STATE) -> ::windows::core::HRESULT, + pub GetRemoteSessionDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrcontenttype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrsessiondescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCRegistrationStateChangeEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCRegistrationStateChangeEvent { + pub unsafe fn Profile(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Profile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusText(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).StatusText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCRegistrationStateChangeEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCRegistrationStateChangeEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCRegistrationStateChangeEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCRegistrationStateChangeEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCRegistrationStateChangeEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCRegistrationStateChangeEvent { + type Vtable = IRTCRegistrationStateChangeEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCRegistrationStateChangeEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCRegistrationStateChangeEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x62d0991b_50ab_4f02_b948_ca94f26f8f95); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCRegistrationStateChangeEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Profile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppprofile: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penstate: *mut RTC_REGISTRATION_STATE) -> ::windows::core::HRESULT, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, + pub StatusText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrstatustext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCRoamingEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCRoamingEvent { + pub unsafe fn EventType(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EventType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Profile(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Profile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusText(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).StatusText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCRoamingEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCRoamingEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCRoamingEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCRoamingEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCRoamingEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCRoamingEvent { + type Vtable = IRTCRoamingEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCRoamingEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCRoamingEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x79960a6b_0cb1_4dc8_a805_7318e99902e8); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCRoamingEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub EventType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peventtype: *mut RTC_ROAMING_EVENT_TYPE) -> ::windows::core::HRESULT, + pub Profile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppprofile: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, + pub StatusText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrstatustext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCSession(::windows::core::IUnknown); +impl IRTCSession { + pub unsafe fn Client(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Client)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Type(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Type)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Profile(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Profile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Participants(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Participants)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Answer(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Answer)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Terminate(&self, enreason: RTC_TERMINATE_REASON) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Terminate)(::windows::core::Interface::as_raw(self), enreason).ok() + } + pub unsafe fn Redirect(&self, entype: RTC_SESSION_TYPE, bstrlocalphoneuri: P0, pprofile: P1, lflags: i32) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).Redirect)(::windows::core::Interface::as_raw(self), entype, bstrlocalphoneuri.into_param().abi(), pprofile.into_param().abi(), lflags).ok() + } + pub unsafe fn AddParticipant(&self, bstraddress: P0, bstrname: P1) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).AddParticipant)(::windows::core::Interface::as_raw(self), bstraddress.into_param().abi(), bstrname.into_param().abi(), &mut result__).from_abi(result__) + } + pub unsafe fn RemoveParticipant(&self, pparticipant: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).RemoveParticipant)(::windows::core::Interface::as_raw(self), pparticipant.into_param().abi()).ok() + } + pub unsafe fn EnumerateParticipants(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EnumerateParticipants)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn CanAddParticipants(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).CanAddParticipants)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn RedirectedUserURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).RedirectedUserURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn RedirectedUserName(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).RedirectedUserName)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn NextRedirectedUser(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).NextRedirectedUser)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn SendMessage(&self, bstrmessageheader: P0, bstrmessage: P1, lcookie: isize) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SendMessage)(::windows::core::Interface::as_raw(self), bstrmessageheader.into_param().abi(), bstrmessage.into_param().abi(), lcookie).ok() + } + pub unsafe fn SendMessageStatus(&self, enuserstatus: RTC_MESSAGING_USER_STATUS, lcookie: isize) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).SendMessageStatus)(::windows::core::Interface::as_raw(self), enuserstatus, lcookie).ok() + } + pub unsafe fn AddStream(&self, lmediatype: i32, lcookie: isize) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).AddStream)(::windows::core::Interface::as_raw(self), lmediatype, lcookie).ok() + } + pub unsafe fn RemoveStream(&self, lmediatype: i32, lcookie: isize) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).RemoveStream)(::windows::core::Interface::as_raw(self), lmediatype, lcookie).ok() + } + pub unsafe fn put_EncryptionKey(&self, lmediatype: i32, encryptionkey: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).put_EncryptionKey)(::windows::core::Interface::as_raw(self), lmediatype, encryptionkey.into_param().abi()).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCSession, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCSession { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCSession {} +impl ::core::fmt::Debug for IRTCSession { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCSession").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCSession { + type Vtable = IRTCSession_Vtbl; +} +impl ::core::clone::Clone for IRTCSession { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCSession { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x387c8086_99be_42fb_9973_7c0fc0ca9fa8); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCSession_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Client: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppclient: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penstate: *mut RTC_SESSION_STATE) -> ::windows::core::HRESULT, + pub Type: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pentype: *mut RTC_SESSION_TYPE) -> ::windows::core::HRESULT, + pub Profile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppprofile: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_System_Com")] + pub Participants: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_System_Com"))] + Participants: usize, + pub Answer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Terminate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enreason: RTC_TERMINATE_REASON) -> ::windows::core::HRESULT, + pub Redirect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, entype: RTC_SESSION_TYPE, bstrlocalphoneuri: ::std::mem::MaybeUninit<::windows::core::BSTR>, pprofile: *mut ::core::ffi::c_void, lflags: i32) -> ::windows::core::HRESULT, + pub AddParticipant: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstraddress: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppparticipant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub RemoveParticipant: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pparticipant: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub EnumerateParticipants: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub CanAddParticipants: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfcanadd: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + CanAddParticipants: usize, + pub RedirectedUserURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstruseruri: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub RedirectedUserName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrusername: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub NextRedirectedUser: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub SendMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrmessageheader: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrmessage: ::std::mem::MaybeUninit<::windows::core::BSTR>, lcookie: isize) -> ::windows::core::HRESULT, + pub SendMessageStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enuserstatus: RTC_MESSAGING_USER_STATUS, lcookie: isize) -> ::windows::core::HRESULT, + pub AddStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lmediatype: i32, lcookie: isize) -> ::windows::core::HRESULT, + pub RemoveStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lmediatype: i32, lcookie: isize) -> ::windows::core::HRESULT, + pub put_EncryptionKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lmediatype: i32, encryptionkey: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCSession2(::windows::core::IUnknown); +impl IRTCSession2 { + pub unsafe fn Client(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Client)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Type(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Type)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Profile(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Profile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Participants(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Participants)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Answer(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.Answer)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Terminate(&self, enreason: RTC_TERMINATE_REASON) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.Terminate)(::windows::core::Interface::as_raw(self), enreason).ok() + } + pub unsafe fn Redirect(&self, entype: RTC_SESSION_TYPE, bstrlocalphoneuri: P0, pprofile: P1, lflags: i32) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.Redirect)(::windows::core::Interface::as_raw(self), entype, bstrlocalphoneuri.into_param().abi(), pprofile.into_param().abi(), lflags).ok() + } + pub unsafe fn AddParticipant(&self, bstraddress: P0, bstrname: P1) -> ::windows::core::Result + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.AddParticipant)(::windows::core::Interface::as_raw(self), bstraddress.into_param().abi(), bstrname.into_param().abi(), &mut result__).from_abi(result__) + } + pub unsafe fn RemoveParticipant(&self, pparticipant: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.RemoveParticipant)(::windows::core::Interface::as_raw(self), pparticipant.into_param().abi()).ok() + } + pub unsafe fn EnumerateParticipants(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.EnumerateParticipants)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn CanAddParticipants(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.CanAddParticipants)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn RedirectedUserURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.RedirectedUserURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn RedirectedUserName(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.RedirectedUserName)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn NextRedirectedUser(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.NextRedirectedUser)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn SendMessage(&self, bstrmessageheader: P0, bstrmessage: P1, lcookie: isize) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SendMessage)(::windows::core::Interface::as_raw(self), bstrmessageheader.into_param().abi(), bstrmessage.into_param().abi(), lcookie).ok() + } + pub unsafe fn SendMessageStatus(&self, enuserstatus: RTC_MESSAGING_USER_STATUS, lcookie: isize) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.SendMessageStatus)(::windows::core::Interface::as_raw(self), enuserstatus, lcookie).ok() + } + pub unsafe fn AddStream(&self, lmediatype: i32, lcookie: isize) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.AddStream)(::windows::core::Interface::as_raw(self), lmediatype, lcookie).ok() + } + pub unsafe fn RemoveStream(&self, lmediatype: i32, lcookie: isize) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.RemoveStream)(::windows::core::Interface::as_raw(self), lmediatype, lcookie).ok() + } + pub unsafe fn put_EncryptionKey(&self, lmediatype: i32, encryptionkey: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.put_EncryptionKey)(::windows::core::Interface::as_raw(self), lmediatype, encryptionkey.into_param().abi()).ok() + } + pub unsafe fn SendInfo(&self, bstrinfoheader: P0, bstrinfo: P1, lcookie: isize) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SendInfo)(::windows::core::Interface::as_raw(self), bstrinfoheader.into_param().abi(), bstrinfo.into_param().abi(), lcookie).ok() + } + pub unsafe fn put_PreferredSecurityLevel(&self, ensecuritytype: RTC_SECURITY_TYPE, ensecuritylevel: RTC_SECURITY_LEVEL) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).put_PreferredSecurityLevel)(::windows::core::Interface::as_raw(self), ensecuritytype, ensecuritylevel).ok() + } + pub unsafe fn get_PreferredSecurityLevel(&self, ensecuritytype: RTC_SECURITY_TYPE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_PreferredSecurityLevel)(::windows::core::Interface::as_raw(self), ensecuritytype, &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn IsSecurityEnabled(&self, ensecuritytype: RTC_SECURITY_TYPE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).IsSecurityEnabled)(::windows::core::Interface::as_raw(self), ensecuritytype, &mut result__).from_abi(result__) + } + pub unsafe fn AnswerWithSessionDescription(&self, bstrcontenttype: P0, bstrsessiondescription: P1) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).AnswerWithSessionDescription)(::windows::core::Interface::as_raw(self), bstrcontenttype.into_param().abi(), bstrsessiondescription.into_param().abi()).ok() + } + pub unsafe fn ReInviteWithSessionDescription(&self, bstrcontenttype: P0, bstrsessiondescription: P1, lcookie: isize) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).ReInviteWithSessionDescription)(::windows::core::Interface::as_raw(self), bstrcontenttype.into_param().abi(), bstrsessiondescription.into_param().abi(), lcookie).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCSession2, ::windows::core::IUnknown, IRTCSession); +impl ::core::cmp::PartialEq for IRTCSession2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCSession2 {} +impl ::core::fmt::Debug for IRTCSession2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCSession2").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCSession2 { + type Vtable = IRTCSession2_Vtbl; +} +impl ::core::clone::Clone for IRTCSession2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCSession2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x17d7cdfc_b007_484c_99d2_86a8a820991d); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCSession2_Vtbl { + pub base__: IRTCSession_Vtbl, + pub SendInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrinfoheader: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrinfo: ::std::mem::MaybeUninit<::windows::core::BSTR>, lcookie: isize) -> ::windows::core::HRESULT, + pub put_PreferredSecurityLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ensecuritytype: RTC_SECURITY_TYPE, ensecuritylevel: RTC_SECURITY_LEVEL) -> ::windows::core::HRESULT, + pub get_PreferredSecurityLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ensecuritytype: RTC_SECURITY_TYPE, pensecuritylevel: *mut RTC_SECURITY_LEVEL) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub IsSecurityEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ensecuritytype: RTC_SECURITY_TYPE, pfsecurityenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + IsSecurityEnabled: usize, + pub AnswerWithSessionDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrcontenttype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrsessiondescription: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ReInviteWithSessionDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrcontenttype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrsessiondescription: ::std::mem::MaybeUninit<::windows::core::BSTR>, lcookie: isize) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCSessionCallControl(::windows::core::IUnknown); +impl IRTCSessionCallControl { + pub unsafe fn Hold(&self, lcookie: isize) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Hold)(::windows::core::Interface::as_raw(self), lcookie).ok() + } + pub unsafe fn UnHold(&self, lcookie: isize) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).UnHold)(::windows::core::Interface::as_raw(self), lcookie).ok() + } + pub unsafe fn Forward(&self, bstrforwardtouri: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).Forward)(::windows::core::Interface::as_raw(self), bstrforwardtouri.into_param().abi()).ok() + } + pub unsafe fn Refer(&self, bstrrefertouri: P0, bstrrefercookie: P1) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).Refer)(::windows::core::Interface::as_raw(self), bstrrefertouri.into_param().abi(), bstrrefercookie.into_param().abi()).ok() + } + pub unsafe fn SetReferredByURI(&self, bstrreferredbyuri: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetReferredByURI)(::windows::core::Interface::as_raw(self), bstrreferredbyuri.into_param().abi()).ok() + } + pub unsafe fn ReferredByURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ReferredByURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetReferCookie(&self, bstrrefercookie: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetReferCookie)(::windows::core::Interface::as_raw(self), bstrrefercookie.into_param().abi()).ok() + } + pub unsafe fn ReferCookie(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ReferCookie)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn IsReferred(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).IsReferred)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCSessionCallControl, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCSessionCallControl { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCSessionCallControl {} +impl ::core::fmt::Debug for IRTCSessionCallControl { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCSessionCallControl").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCSessionCallControl { + type Vtable = IRTCSessionCallControl_Vtbl; +} +impl ::core::clone::Clone for IRTCSessionCallControl { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCSessionCallControl { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe9a50d94_190b_4f82_9530_3b8ebf60758a); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCSessionCallControl_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub Hold: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lcookie: isize) -> ::windows::core::HRESULT, + pub UnHold: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lcookie: isize) -> ::windows::core::HRESULT, + pub Forward: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrforwardtouri: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub Refer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrrefertouri: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrrefercookie: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetReferredByURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrreferredbyuri: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ReferredByURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrreferredbyuri: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SetReferCookie: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrrefercookie: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ReferCookie: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrrefercookie: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub IsReferred: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfisreferred: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + IsReferred: usize, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCSessionDescriptionManager(::windows::core::IUnknown); +impl IRTCSessionDescriptionManager { + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn EvaluateSessionDescription(&self, bstrcontenttype: P0, bstrsessiondescription: P1, pfapplicationsession: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).EvaluateSessionDescription)(::windows::core::Interface::as_raw(self), bstrcontenttype.into_param().abi(), bstrsessiondescription.into_param().abi(), pfapplicationsession).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCSessionDescriptionManager, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCSessionDescriptionManager { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCSessionDescriptionManager {} +impl ::core::fmt::Debug for IRTCSessionDescriptionManager { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCSessionDescriptionManager").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCSessionDescriptionManager { + type Vtable = IRTCSessionDescriptionManager_Vtbl; +} +impl ::core::clone::Clone for IRTCSessionDescriptionManager { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCSessionDescriptionManager { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xba7f518e_d336_4070_93a6_865395c843f9); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCSessionDescriptionManager_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + #[cfg(feature = "Win32_Foundation")] + pub EvaluateSessionDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrcontenttype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrsessiondescription: ::std::mem::MaybeUninit<::windows::core::BSTR>, pfapplicationsession: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + EvaluateSessionDescription: usize, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCSessionOperationCompleteEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCSessionOperationCompleteEvent { + pub unsafe fn Session(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Session)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Cookie(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Cookie)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusText(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).StatusText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCSessionOperationCompleteEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCSessionOperationCompleteEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCSessionOperationCompleteEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCSessionOperationCompleteEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCSessionOperationCompleteEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCSessionOperationCompleteEvent { + type Vtable = IRTCSessionOperationCompleteEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCSessionOperationCompleteEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCSessionOperationCompleteEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa6bff4c0_f7c8_4d3c_9a41_3550f78a95b0); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCSessionOperationCompleteEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Session: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppsession: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Cookie: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plcookie: *mut isize) -> ::windows::core::HRESULT, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, + pub StatusText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrstatustext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCSessionOperationCompleteEvent2(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCSessionOperationCompleteEvent2 { + pub unsafe fn Session(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Session)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Cookie(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Cookie)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusText(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.StatusText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Participant(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Participant)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn GetRemoteSessionDescription(&self, pbstrcontenttype: *mut ::windows::core::BSTR, pbstrsessiondescription: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).GetRemoteSessionDescription)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrcontenttype), ::core::mem::transmute(pbstrsessiondescription)).ok() + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCSessionOperationCompleteEvent2, ::windows::core::IUnknown, super::Com::IDispatch, IRTCSessionOperationCompleteEvent); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCSessionOperationCompleteEvent2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCSessionOperationCompleteEvent2 {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCSessionOperationCompleteEvent2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCSessionOperationCompleteEvent2").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCSessionOperationCompleteEvent2 { + type Vtable = IRTCSessionOperationCompleteEvent2_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCSessionOperationCompleteEvent2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCSessionOperationCompleteEvent2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf6fc2a9b_d5bc_4241_b436_1b8460c13832); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCSessionOperationCompleteEvent2_Vtbl { + pub base__: IRTCSessionOperationCompleteEvent_Vtbl, + pub Participant: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppparticipant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub GetRemoteSessionDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrcontenttype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrsessiondescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCSessionPortManagement(::windows::core::IUnknown); +impl IRTCSessionPortManagement { + pub unsafe fn SetPortManager(&self, pportmanager: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).SetPortManager)(::windows::core::Interface::as_raw(self), pportmanager.into_param().abi()).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCSessionPortManagement, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCSessionPortManagement { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCSessionPortManagement {} +impl ::core::fmt::Debug for IRTCSessionPortManagement { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCSessionPortManagement").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCSessionPortManagement { + type Vtable = IRTCSessionPortManagement_Vtbl; +} +impl ::core::clone::Clone for IRTCSessionPortManagement { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCSessionPortManagement { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa072f1d6_0286_4e1f_85f2_17a2948456ec); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCSessionPortManagement_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub SetPortManager: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pportmanager: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCSessionReferStatusEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCSessionReferStatusEvent { + pub unsafe fn Session(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Session)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ReferStatus(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).ReferStatus)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusText(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).StatusText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCSessionReferStatusEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCSessionReferStatusEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCSessionReferStatusEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCSessionReferStatusEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCSessionReferStatusEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCSessionReferStatusEvent { + type Vtable = IRTCSessionReferStatusEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCSessionReferStatusEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCSessionReferStatusEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3d8fc2cd_5d76_44ab_bb68_2a80353b34a2); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCSessionReferStatusEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Session: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppsession: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub ReferStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penreferstatus: *mut RTC_SESSION_REFER_STATUS) -> ::windows::core::HRESULT, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, + pub StatusText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrstatustext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCSessionReferredEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCSessionReferredEvent { + pub unsafe fn Session(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Session)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ReferredByURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ReferredByURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ReferToURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ReferToURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ReferCookie(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).ReferCookie)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Accept(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Accept)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn Reject(&self) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).Reject)(::windows::core::Interface::as_raw(self)).ok() + } + pub unsafe fn SetReferredSessionState(&self, enstate: RTC_SESSION_STATE) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).SetReferredSessionState)(::windows::core::Interface::as_raw(self), enstate).ok() + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCSessionReferredEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCSessionReferredEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCSessionReferredEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCSessionReferredEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCSessionReferredEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCSessionReferredEvent { + type Vtable = IRTCSessionReferredEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCSessionReferredEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCSessionReferredEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x176a6828_4fcc_4f28_a862_04597a6cf1c4); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCSessionReferredEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Session: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppsession: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub ReferredByURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrreferredbyuri: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ReferToURI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrreferouri: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub ReferCookie: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrrefercookie: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub Accept: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Reject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub SetReferredSessionState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enstate: RTC_SESSION_STATE) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCSessionStateChangeEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCSessionStateChangeEvent { + pub unsafe fn Session(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Session)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusText(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).StatusText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCSessionStateChangeEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCSessionStateChangeEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCSessionStateChangeEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCSessionStateChangeEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCSessionStateChangeEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCSessionStateChangeEvent { + type Vtable = IRTCSessionStateChangeEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCSessionStateChangeEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCSessionStateChangeEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb5bad703_5952_48b3_9321_7f4500521506); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCSessionStateChangeEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Session: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppsession: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penstate: *mut RTC_SESSION_STATE) -> ::windows::core::HRESULT, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, + pub StatusText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrstatustext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCSessionStateChangeEvent2(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCSessionStateChangeEvent2 { + pub unsafe fn Session(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Session)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusText(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.StatusText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn MediaTypes(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).MediaTypes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn get_RemotePreferredSecurityLevel(&self, ensecuritytype: RTC_SECURITY_TYPE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_RemotePreferredSecurityLevel)(::windows::core::Interface::as_raw(self), ensecuritytype, &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn IsForked(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).IsForked)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn GetRemoteSessionDescription(&self, pbstrcontenttype: *mut ::windows::core::BSTR, pbstrsessiondescription: *mut ::windows::core::BSTR) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).GetRemoteSessionDescription)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbstrcontenttype), ::core::mem::transmute(pbstrsessiondescription)).ok() + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCSessionStateChangeEvent2, ::windows::core::IUnknown, super::Com::IDispatch, IRTCSessionStateChangeEvent); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCSessionStateChangeEvent2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCSessionStateChangeEvent2 {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCSessionStateChangeEvent2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCSessionStateChangeEvent2").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCSessionStateChangeEvent2 { + type Vtable = IRTCSessionStateChangeEvent2_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCSessionStateChangeEvent2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCSessionStateChangeEvent2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4f933171_6f95_4880_80d9_2ec8d495d261); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCSessionStateChangeEvent2_Vtbl { + pub base__: IRTCSessionStateChangeEvent_Vtbl, + pub MediaTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmediatypes: *mut i32) -> ::windows::core::HRESULT, + pub get_RemotePreferredSecurityLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ensecuritytype: RTC_SECURITY_TYPE, pensecuritylevel: *mut RTC_SECURITY_LEVEL) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub IsForked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfisforked: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + IsForked: usize, + pub GetRemoteSessionDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrcontenttype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrsessiondescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCUserSearch(::windows::core::IUnknown); +impl IRTCUserSearch { + pub unsafe fn CreateQuery(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).CreateQuery)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn ExecuteSearch(&self, pquery: P0, pprofile: P1, lcookie: isize) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + P1: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).ExecuteSearch)(::windows::core::Interface::as_raw(self), pquery.into_param().abi(), pprofile.into_param().abi(), lcookie).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCUserSearch, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCUserSearch { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCUserSearch {} +impl ::core::fmt::Debug for IRTCUserSearch { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCUserSearch").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCUserSearch { + type Vtable = IRTCUserSearch_Vtbl; +} +impl ::core::clone::Clone for IRTCUserSearch { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCUserSearch { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb619882b_860c_4db4_be1b_693b6505bbe5); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCUserSearch_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub CreateQuery: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppquery: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub ExecuteSearch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pquery: *mut ::core::ffi::c_void, pprofile: *mut ::core::ffi::c_void, lcookie: isize) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCUserSearchQuery(::windows::core::IUnknown); +impl IRTCUserSearchQuery { + pub unsafe fn put_SearchTerm(&self, bstrname: P0, bstrvalue: P1) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + P1: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).put_SearchTerm)(::windows::core::Interface::as_raw(self), bstrname.into_param().abi(), bstrvalue.into_param().abi()).ok() + } + pub unsafe fn get_SearchTerm(&self, bstrname: P0) -> ::windows::core::Result<::windows::core::BSTR> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).get_SearchTerm)(::windows::core::Interface::as_raw(self), bstrname.into_param().abi(), &mut result__).from_abi(result__) + } + pub unsafe fn SearchTerms(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).SearchTerms)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn put_SearchPreference(&self, enpreference: RTC_USER_SEARCH_PREFERENCE, lvalue: i32) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).put_SearchPreference)(::windows::core::Interface::as_raw(self), enpreference, lvalue).ok() + } + pub unsafe fn get_SearchPreference(&self, enpreference: RTC_USER_SEARCH_PREFERENCE) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).get_SearchPreference)(::windows::core::Interface::as_raw(self), enpreference, &mut result__).from_abi(result__) + } + pub unsafe fn SetSearchDomain(&self, bstrdomain: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).SetSearchDomain)(::windows::core::Interface::as_raw(self), bstrdomain.into_param().abi()).ok() + } + pub unsafe fn SearchDomain(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).SearchDomain)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCUserSearchQuery, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCUserSearchQuery { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCUserSearchQuery {} +impl ::core::fmt::Debug for IRTCUserSearchQuery { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCUserSearchQuery").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCUserSearchQuery { + type Vtable = IRTCUserSearchQuery_Vtbl; +} +impl ::core::clone::Clone for IRTCUserSearchQuery { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCUserSearchQuery { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x288300f5_d23a_4365_9a73_9985c98c2881); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCUserSearchQuery_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub put_SearchTerm: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub get_SearchTerm: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SearchTerms: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrnames: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub put_SearchPreference: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enpreference: RTC_USER_SEARCH_PREFERENCE, lvalue: i32) -> ::windows::core::HRESULT, + pub get_SearchPreference: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enpreference: RTC_USER_SEARCH_PREFERENCE, plvalue: *mut i32) -> ::windows::core::HRESULT, + pub SetSearchDomain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrdomain: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, + pub SearchDomain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdomain: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCUserSearchResult(::windows::core::IUnknown); +impl IRTCUserSearchResult { + pub unsafe fn get_Value(&self, encolumn: RTC_USER_SEARCH_COLUMN) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).get_Value)(::windows::core::Interface::as_raw(self), encolumn, &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCUserSearchResult, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for IRTCUserSearchResult { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCUserSearchResult {} +impl ::core::fmt::Debug for IRTCUserSearchResult { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCUserSearchResult").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCUserSearchResult { + type Vtable = IRTCUserSearchResult_Vtbl; +} +impl ::core::clone::Clone for IRTCUserSearchResult { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCUserSearchResult { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x851278b2_9592_480f_8db5_2de86b26b54d); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCUserSearchResult_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + pub get_Value: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encolumn: RTC_USER_SEARCH_COLUMN, pbstrvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCUserSearchResultsEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCUserSearchResultsEvent { + pub unsafe fn EnumerateResults(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EnumerateResults)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_System_Com\"`*"] + #[cfg(feature = "Win32_System_Com")] + pub unsafe fn Results(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Results)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Profile(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Profile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Query(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Query)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Cookie(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Cookie)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn MoreAvailable(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).MoreAvailable)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCUserSearchResultsEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCUserSearchResultsEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCUserSearchResultsEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCUserSearchResultsEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCUserSearchResultsEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCUserSearchResultsEvent { + type Vtable = IRTCUserSearchResultsEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCUserSearchResultsEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCUserSearchResultsEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd8c8c3cd_7fac_4088_81c5_c24cbc0938e3); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCUserSearchResultsEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub EnumerateResults: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_System_Com")] + pub Results: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_System_Com"))] + Results: usize, + pub Profile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppprofile: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Query: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppquery: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Cookie: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plcookie: *mut isize) -> ::windows::core::HRESULT, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, + #[cfg(feature = "Win32_Foundation")] + pub MoreAvailable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfmoreavailable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Foundation"))] + MoreAvailable: usize, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCWatcher(::windows::core::IUnknown); +impl IRTCWatcher { + pub unsafe fn PresentityURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.PresentityURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetPresentityURI(&self, bstrpresentityuri: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SetPresentityURI)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi()).ok() + } + pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetName(&self, bstrname: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SetName)(::windows::core::Interface::as_raw(self), bstrname.into_param().abi()).ok() + } + pub unsafe fn Data(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.Data)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.SetData)(::windows::core::Interface::as_raw(self), bstrdata.into_param().abi()).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn Persistent(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Persistent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn SetPersistent(&self, fpersistent: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.SetPersistent)(::windows::core::Interface::as_raw(self), fpersistent.into_param().abi()).ok() + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetState(&self, enstate: RTC_WATCHER_STATE) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).SetState)(::windows::core::Interface::as_raw(self), enstate).ok() + } +} +::windows::imp::interface_hierarchy!(IRTCWatcher, ::windows::core::IUnknown, IRTCPresenceContact); +impl ::core::cmp::PartialEq for IRTCWatcher { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCWatcher {} +impl ::core::fmt::Debug for IRTCWatcher { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCWatcher").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCWatcher { + type Vtable = IRTCWatcher_Vtbl; +} +impl ::core::clone::Clone for IRTCWatcher { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCWatcher { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc7cedad8_346b_4d1b_ac02_a2088df9be4f); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCWatcher_Vtbl { + pub base__: IRTCPresenceContact_Vtbl, + pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penstate: *mut RTC_WATCHER_STATE) -> ::windows::core::HRESULT, + pub SetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enstate: RTC_WATCHER_STATE) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct IRTCWatcher2(::windows::core::IUnknown); +impl IRTCWatcher2 { + pub unsafe fn PresentityURI(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.base__.PresentityURI)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetPresentityURI(&self, bstrpresentityuri: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.base__.SetPresentityURI)(::windows::core::Interface::as_raw(self), bstrpresentityuri.into_param().abi()).ok() + } + pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.base__.Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetName(&self, bstrname: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.base__.SetName)(::windows::core::Interface::as_raw(self), bstrname.into_param().abi()).ok() + } + pub unsafe fn Data(&self) -> ::windows::core::Result<::windows::core::BSTR> { + let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>(); + (::windows::core::Interface::vtable(self).base__.base__.Data)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetData(&self, bstrdata: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam<::windows::core::BSTR>, + { + (::windows::core::Interface::vtable(self).base__.base__.SetData)(::windows::core::Interface::as_raw(self), bstrdata.into_param().abi()).ok() + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn Persistent(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.base__.Persistent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + #[doc = "*Required features: `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub unsafe fn SetPersistent(&self, fpersistent: P0) -> ::windows::core::Result<()> + where + P0: ::windows::core::IntoParam, + { + (::windows::core::Interface::vtable(self).base__.base__.SetPersistent)(::windows::core::Interface::as_raw(self), fpersistent.into_param().abi()).ok() + } + pub unsafe fn State(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn SetState(&self, enstate: RTC_WATCHER_STATE) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).base__.SetState)(::windows::core::Interface::as_raw(self), enstate).ok() + } + pub unsafe fn Profile(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Profile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn Scope(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Scope)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +::windows::imp::interface_hierarchy!(IRTCWatcher2, ::windows::core::IUnknown, IRTCPresenceContact, IRTCWatcher); +impl ::core::cmp::PartialEq for IRTCWatcher2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for IRTCWatcher2 {} +impl ::core::fmt::Debug for IRTCWatcher2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCWatcher2").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for IRTCWatcher2 { + type Vtable = IRTCWatcher2_Vtbl; +} +impl ::core::clone::Clone for IRTCWatcher2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for IRTCWatcher2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd4d9967f_d011_4b1d_91e3_aba78f96393d); +} +#[repr(C)] +#[doc(hidden)] +pub struct IRTCWatcher2_Vtbl { + pub base__: IRTCWatcher_Vtbl, + pub Profile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppprofile: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub Scope: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penscope: *mut RTC_ACE_SCOPE) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCWatcherEvent(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCWatcherEvent { + pub unsafe fn Watcher(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).Watcher)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCWatcherEvent, ::windows::core::IUnknown, super::Com::IDispatch); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCWatcherEvent { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCWatcherEvent {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCWatcherEvent { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCWatcherEvent").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCWatcherEvent { + type Vtable = IRTCWatcherEvent_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCWatcherEvent { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCWatcherEvent { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf30d7261_587a_424f_822c_312788f43548); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCWatcherEvent_Vtbl { + pub base__: super::Com::IDispatch_Vtbl, + pub Watcher: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppwatcher: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_System_Com\"`*"] +#[cfg(feature = "Win32_System_Com")] +#[repr(transparent)] +pub struct IRTCWatcherEvent2(::windows::core::IUnknown); +#[cfg(feature = "Win32_System_Com")] +impl IRTCWatcherEvent2 { + pub unsafe fn Watcher(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).base__.Watcher)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn EventType(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).EventType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } + pub unsafe fn StatusCode(&self) -> ::windows::core::Result { + let mut result__ = ::windows::core::zeroed::(); + (::windows::core::Interface::vtable(self).StatusCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__) + } +} +#[cfg(feature = "Win32_System_Com")] +::windows::imp::interface_hierarchy!(IRTCWatcherEvent2, ::windows::core::IUnknown, super::Com::IDispatch, IRTCWatcherEvent); +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::PartialEq for IRTCWatcherEvent2 { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::cmp::Eq for IRTCWatcherEvent2 {} +#[cfg(feature = "Win32_System_Com")] +impl ::core::fmt::Debug for IRTCWatcherEvent2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("IRTCWatcherEvent2").field(&self.0).finish() + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::Interface for IRTCWatcherEvent2 { + type Vtable = IRTCWatcherEvent2_Vtbl; +} +#[cfg(feature = "Win32_System_Com")] +impl ::core::clone::Clone for IRTCWatcherEvent2 { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +#[cfg(feature = "Win32_System_Com")] +unsafe impl ::windows::core::ComInterface for IRTCWatcherEvent2 { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe52891e8_188c_49af_b005_98ed13f83f9c); +} +#[cfg(feature = "Win32_System_Com")] +#[repr(C)] +#[doc(hidden)] +pub struct IRTCWatcherEvent2_Vtbl { + pub base__: IRTCWatcherEvent_Vtbl, + pub EventType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peventtype: *mut RTC_WATCHER_EVENT_TYPE) -> ::windows::core::HRESULT, + pub StatusCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plstatuscode: *mut i32) -> ::windows::core::HRESULT, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +pub struct ITransportSettingsInternal(::windows::core::IUnknown); +impl ITransportSettingsInternal { + #[doc = "*Required features: `\"Win32_Networking_WinSock\"`*"] + #[cfg(feature = "Win32_Networking_WinSock")] + pub unsafe fn ApplySetting(&self, setting: *mut TRANSPORT_SETTING) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).ApplySetting)(::windows::core::Interface::as_raw(self), setting).ok() + } + #[doc = "*Required features: `\"Win32_Networking_WinSock\"`*"] + #[cfg(feature = "Win32_Networking_WinSock")] + pub unsafe fn QuerySetting(&self, setting: *mut TRANSPORT_SETTING) -> ::windows::core::Result<()> { + (::windows::core::Interface::vtable(self).QuerySetting)(::windows::core::Interface::as_raw(self), setting).ok() + } +} +::windows::imp::interface_hierarchy!(ITransportSettingsInternal, ::windows::core::IUnknown); +impl ::core::cmp::PartialEq for ITransportSettingsInternal { + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} +impl ::core::cmp::Eq for ITransportSettingsInternal {} +impl ::core::fmt::Debug for ITransportSettingsInternal { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("ITransportSettingsInternal").field(&self.0).finish() + } +} +unsafe impl ::windows::core::Interface for ITransportSettingsInternal { + type Vtable = ITransportSettingsInternal_Vtbl; +} +impl ::core::clone::Clone for ITransportSettingsInternal { + fn clone(&self) -> Self { + Self(self.0.clone()) + } +} +unsafe impl ::windows::core::ComInterface for ITransportSettingsInternal { + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5123e076_29e3_4bfd_84fe_0192d411e3e8); +} +#[repr(C)] +#[doc(hidden)] +pub struct ITransportSettingsInternal_Vtbl { + pub base__: ::windows::core::IUnknown_Vtbl, + #[cfg(feature = "Win32_Networking_WinSock")] + pub ApplySetting: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, setting: *mut TRANSPORT_SETTING) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Networking_WinSock"))] + ApplySetting: usize, + #[cfg(feature = "Win32_Networking_WinSock")] + pub QuerySetting: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, setting: *mut TRANSPORT_SETTING) -> ::windows::core::HRESULT, + #[cfg(not(feature = "Win32_Networking_WinSock"))] + QuerySetting: usize, +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const FACILITY_PINT_STATUS_CODE: u32 = 240u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const FACILITY_RTC_INTERFACE: u32 = 238u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const FACILITY_SIP_STATUS_CODE: u32 = 239u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAU_BASIC: u32 = 1u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAU_DIGEST: u32 = 2u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAU_KERBEROS: u32 = 8u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAU_NTLM: u32 = 4u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAU_USE_LOGON_CRED: u32 = 65536u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCCS_FAIL_ON_REDIRECT: u32 = 2u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCCS_FORCE_PROFILE: u32 = 1u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCClient: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7a42ea29_a2b7_40c4_b091_f6f024aa89be); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_ALL: u32 = 33554431u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_BUDDY: u32 = 256u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_BUDDY2: u32 = 262144u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_CLIENT: u32 = 1u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_GROUP: u32 = 8192u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_INFO: u32 = 4096u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_INTENSITY: u32 = 64u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_MEDIA: u32 = 32u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_MEDIA_REQUEST: u32 = 16384u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_MESSAGING: u32 = 128u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_PARTICIPANT_STATE_CHANGE: u32 = 16u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_PRESENCE_DATA: u32 = 8388608u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_PRESENCE_PROPERTY: u32 = 131072u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_PRESENCE_STATUS: u32 = 16777216u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_PROFILE: u32 = 1024u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_REGISTRATION_STATE_CHANGE: u32 = 2u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_REINVITE: u32 = 4194304u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_ROAMING: u32 = 65536u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_SESSION_OPERATION_COMPLETE: u32 = 8u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_SESSION_REFERRED: u32 = 2097152u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_SESSION_REFER_STATUS: u32 = 1048576u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_SESSION_STATE_CHANGE: u32 = 4u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_USERSEARCH: u32 = 2048u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_WATCHER: u32 = 512u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCEF_WATCHER2: u32 = 524288u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCIF_DISABLE_MEDIA: u32 = 1u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCIF_DISABLE_STRICT_DNS: u32 = 8u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCIF_DISABLE_UPNP: u32 = 2u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCIF_ENABLE_SERVER_CLASS: u32 = 4u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMT_AUDIO_RECEIVE: u32 = 2u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMT_AUDIO_SEND: u32 = 1u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMT_T120_SENDRECV: u32 = 16u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMT_VIDEO_RECEIVE: u32 = 8u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMT_VIDEO_SEND: u32 = 4u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRF_REGISTER_ALL: u32 = 15u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRF_REGISTER_INVITE_SESSIONS: u32 = 1u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRF_REGISTER_MESSAGE_SESSIONS: u32 = 2u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRF_REGISTER_NOTIFY: u32 = 8u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRF_REGISTER_PRESENCE: u32 = 4u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRMF_ALL_ROAMING: u32 = 15u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRMF_BUDDY_ROAMING: u32 = 1u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRMF_PRESENCE_ROAMING: u32 = 4u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRMF_PROFILE_ROAMING: u32 = 8u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRMF_WATCHER_ROAMING: u32 = 2u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSI_APPLICATION: u32 = 32u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSI_IM: u32 = 8u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSI_MULTIPARTY_IM: u32 = 16u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSI_PC_TO_PC: u32 = 1u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSI_PC_TO_PHONE: u32 = 2u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSI_PHONE_TO_PHONE: u32 = 4u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTR_TCP: u32 = 2u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTR_TLS: u32 = 4u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTR_UDP: u32 = 1u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_ANOTHER_MEDIA_SESSION_ACTIVE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885961i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_BASIC_AUTH_SET_TLS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886017i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_CLIENT_ALREADY_INITIALIZED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886042i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_CLIENT_ALREADY_SHUT_DOWN: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886041i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_CLIENT_NOT_INITIALIZED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886043i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_DESTINATION_ADDRESS_LOCAL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886061i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_DESTINATION_ADDRESS_MULTICAST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886059i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_DUPLICATE_BUDDY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886006i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_DUPLICATE_GROUP: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885998i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_DUPLICATE_REALM: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886013i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_DUPLICATE_WATCHER: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886005i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_ACL_LIST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886000i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_ADDRESS_LOCAL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886060i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_BUDDY_LIST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886001i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_LISTEN_SOCKET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885957i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_OBJECT_STATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885983i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_PORTRANGE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885988i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_PREFERENCE_LIST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885991i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_PROFILE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886034i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_PROXY_ADDRESS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886058i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_REGISTRATION_STATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885971i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_SESSION_STATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886038i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_SESSION_TYPE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886039i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_INVALID_SIP_URL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886062i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_LISTENING_SOCKET_NOT_EXIST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885958i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_LOCAL_PHONE_NEEDED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886036i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MALFORMED_XML: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886004i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MAX_PENDING_OPERATIONS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885990i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MAX_REDIRECTS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885960i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MEDIA_AEC: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886044i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MEDIA_AUDIO_DEVICE_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886047i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MEDIA_CONTROLLER_STATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886049i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MEDIA_DISABLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885970i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MEDIA_ENABLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885969i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MEDIA_NEED_TERMINAL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886048i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MEDIA_SESSION_IN_HOLD: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885962i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MEDIA_SESSION_NOT_EXIST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885963i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_MEDIA_VIDEO_DEVICE_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886046i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_NOT_ALLOWED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885950i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_NOT_EXIST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885992i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_NOT_PRESENCE_PROFILE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885974i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_NO_BUDDY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885996i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_NO_DEVICE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886035i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_NO_GROUP: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885999i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_NO_PROFILE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886037i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_NO_REALM: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885994i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_NO_TRANSPORT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885993i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_NO_WATCHER: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885995i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_OPERATION_WITH_TOO_MANY_PARTICIPANTS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886018i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PINT_STATUS_REJECTED_ALL_BUSY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131755001i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PINT_STATUS_REJECTED_BADNUMBER: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131754997i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PINT_STATUS_REJECTED_BUSY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131755003i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PINT_STATUS_REJECTED_CANCELLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131754998i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PINT_STATUS_REJECTED_NO_ANSWER: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131755002i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PINT_STATUS_REJECTED_PL_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131755000i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PINT_STATUS_REJECTED_SW_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131754999i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PLATFORM_NOT_SUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885952i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_POLICY_NOT_ALLOW: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886012i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PORT_MANAGER_ALREADY_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885956i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PORT_MAPPING_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886010i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PORT_MAPPING_UNAVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886011i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PRESENCE_ENABLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885982i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PRESENCE_NOT_ENABLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886040i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_INVALID_SERVER_AUTHMETHOD: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886024i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_INVALID_SERVER_PROTOCOL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886025i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_INVALID_SERVER_ROLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886023i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_INVALID_SESSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886021i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_INVALID_SESSION_PARTY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886020i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_INVALID_SESSION_TYPE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886019i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_MULTIPLE_REGISTRARS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886022i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_NO_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886032i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_NO_NAME: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886031i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_NO_PROVISION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886033i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_NO_SERVER: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886028i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_NO_SERVER_ADDRESS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886027i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_NO_SERVER_PROTOCOL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886026i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_NO_USER: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886030i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_NO_USER_URI: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886029i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_PROFILE_SERVER_UNAUTHORIZED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886014i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_REDIRECT_PROCESSING_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885959i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_REFER_NOT_ACCEPTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885968i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_REFER_NOT_ALLOWED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885967i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_REFER_NOT_EXIST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885966i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_REGISTRATION_DEACTIVATED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885949i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_REGISTRATION_REJECTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885948i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_REGISTRATION_UNREGISTERED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885947i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_ROAMING_ENABLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885981i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_ROAMING_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886002i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_ROAMING_OPERATION_INTERRUPTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886003i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SDP_CONNECTION_ADDR: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886070i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SDP_FAILED_TO_BUILD: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886067i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SDP_MULTICAST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886071i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SDP_NOT_PRESENT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886074i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SDP_NO_MEDIA: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886069i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SDP_PARSE_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886073i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SDP_UPDATE_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886072i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SECURITY_LEVEL_ALREADY_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885955i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SECURITY_LEVEL_NOT_COMPATIBLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886009i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SECURITY_LEVEL_NOT_DEFINED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886008i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SECURITY_LEVEL_NOT_SUPPORTED_BY_PARTICIPANT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886007i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_ADDITIONAL_PARTY_IN_TWO_PARTY_SESSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885986i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_AUTH_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886063i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_AUTH_HEADER_SENT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886065i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_AUTH_TIME_SKEW: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885972i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_AUTH_TYPE_NOT_SUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886064i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_CALL_CONNECTION_NOT_ESTABLISHED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885987i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_CALL_DISCONNECTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886055i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_CODECS_DO_NOT_MATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886080i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_DNS_FAIL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885978i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_HEADER_NOT_PRESENT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886075i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_HIGH_SECURITY_SET_TLS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886016i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_HOLD_OPERATION_PENDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885965i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_INVALID_CERTIFICATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885979i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_INVITEE_PARTY_TIMEOUT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885973i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_INVITE_TRANSACTION_PENDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886066i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_NEED_MORE_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886056i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_NO_STREAM: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886077i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_OTHER_PARTY_JOIN_IN_PROGRESS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885984i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_PARSE_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886076i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_PARTY_ALREADY_IN_SESSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885985i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_PEER_PARTICIPANT_IN_MULTIPARTY_SESSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885951i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_REFER_OPERATION_PENDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885953i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_REQUEST_DESTINATION_ADDR_NOT_PRESENT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886054i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_SSL_NEGOTIATION_TIMEOUT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886051i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_SSL_TUNNEL_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886052i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_STACK_SHUTDOWN: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886050i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_STREAM_NOT_PRESENT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886078i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_STREAM_PRESENT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886079i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_TCP_FAIL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885977i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_TIMEOUT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886068i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_TLS_FAIL: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885975i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_TLS_INCOMPATIBLE_ENCRYPTION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885980i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_TRANSPORT_NOT_SUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886057i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_UDP_SIZE_EXCEEDED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886053i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_SIP_UNHOLD_OPERATION_PENDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885964i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_START_STREAM: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131886045i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_ADDRESS_INCOMPLETE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820060i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_AMBIGUOUS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820059i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_BAD_EXTENSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820124i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_BAD_REQUEST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820144i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_BUSY_HERE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820058i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_CONFLICT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820135i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_FORBIDDEN: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820141i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_GONE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820134i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_LENGTH_REQUIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820133i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_LOOP_DETECTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820062i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_METHOD_NOT_ALLOWED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820139i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_NOT_ACCEPTABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820138i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820140i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_PAYMENT_REQUIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820142i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_PROXY_AUTHENTICATION_REQUIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820137i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_REQUEST_ENTITY_TOO_LARGE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820131i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_REQUEST_TIMEOUT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820136i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_REQUEST_URI_TOO_LARGE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820130i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_TEMPORARILY_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820064i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_TOO_MANY_HOPS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820061i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_TRANSACTION_DOES_NOT_EXIST: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820063i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_UNAUTHORIZED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820143i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_CLIENT_UNSUPPORTED_MEDIA_TYPE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820129i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_GLOBAL_BUSY_EVERYWHERE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131819944i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_GLOBAL_DECLINE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131819941i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131819940i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_GLOBAL_NOT_ACCEPTABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131819938i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_INFO_CALL_FORWARDING: ::windows::core::HRESULT = ::windows::core::HRESULT(15663285i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_INFO_QUEUED: ::windows::core::HRESULT = ::windows::core::HRESULT(15663286i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_INFO_RINGING: ::windows::core::HRESULT = ::windows::core::HRESULT(15663284i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_INFO_TRYING: ::windows::core::HRESULT = ::windows::core::HRESULT(15663204i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_NOT_ACCEPTABLE_HERE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820056i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_REDIRECT_ALTERNATIVE_SERVICE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820164i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_REDIRECT_MOVED_PERMANENTLY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820243i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_REDIRECT_MOVED_TEMPORARILY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820242i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_REDIRECT_MULTIPLE_CHOICES: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820244i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_REDIRECT_SEE_OTHER: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820241i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_REDIRECT_USE_PROXY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820239i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_REQUEST_TERMINATED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820057i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_SERVER_BAD_GATEWAY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820042i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_SERVER_INTERNAL_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820044i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_SERVER_NOT_IMPLEMENTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820043i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_SERVER_SERVER_TIMEOUT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820040i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_SERVER_SERVICE_UNAVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820041i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_SERVER_VERSION_NOT_SUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131820039i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_SESSION_PROGRESS: ::windows::core::HRESULT = ::windows::core::HRESULT(15663287i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_STATUS_SUCCESS: ::windows::core::HRESULT = ::windows::core::HRESULT(15663304i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_TOO_MANY_GROUPS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885997i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_TOO_MANY_RETRIES: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885989i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_TOO_SMALL_EXPIRES_VALUE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885976i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_E_UDP_NOT_SUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2131885954i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_S_ROAMING_NOT_SUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(15597633i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const STATUS_SEVERITY_RTC_ERROR: u32 = 2u32; +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_ACE_SCOPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAS_SCOPE_USER: RTC_ACE_SCOPE = RTC_ACE_SCOPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAS_SCOPE_DOMAIN: RTC_ACE_SCOPE = RTC_ACE_SCOPE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAS_SCOPE_ALL: RTC_ACE_SCOPE = RTC_ACE_SCOPE(2i32); +impl ::core::marker::Copy for RTC_ACE_SCOPE {} +impl ::core::clone::Clone for RTC_ACE_SCOPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_ACE_SCOPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_ACE_SCOPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_ACE_SCOPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_ACE_SCOPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_ANSWER_MODE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAM_OFFER_SESSION_EVENT: RTC_ANSWER_MODE = RTC_ANSWER_MODE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAM_AUTOMATICALLY_ACCEPT: RTC_ANSWER_MODE = RTC_ANSWER_MODE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAM_AUTOMATICALLY_REJECT: RTC_ANSWER_MODE = RTC_ANSWER_MODE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAM_NOT_SUPPORTED: RTC_ANSWER_MODE = RTC_ANSWER_MODE(3i32); +impl ::core::marker::Copy for RTC_ANSWER_MODE {} +impl ::core::clone::Clone for RTC_ANSWER_MODE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_ANSWER_MODE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_ANSWER_MODE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_ANSWER_MODE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_ANSWER_MODE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_AUDIO_DEVICE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAD_SPEAKER: RTC_AUDIO_DEVICE = RTC_AUDIO_DEVICE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCAD_MICROPHONE: RTC_AUDIO_DEVICE = RTC_AUDIO_DEVICE(1i32); +impl ::core::marker::Copy for RTC_AUDIO_DEVICE {} +impl ::core::clone::Clone for RTC_AUDIO_DEVICE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_AUDIO_DEVICE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_AUDIO_DEVICE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_AUDIO_DEVICE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_AUDIO_DEVICE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_BUDDY_EVENT_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCBET_BUDDY_ADD: RTC_BUDDY_EVENT_TYPE = RTC_BUDDY_EVENT_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCBET_BUDDY_REMOVE: RTC_BUDDY_EVENT_TYPE = RTC_BUDDY_EVENT_TYPE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCBET_BUDDY_UPDATE: RTC_BUDDY_EVENT_TYPE = RTC_BUDDY_EVENT_TYPE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCBET_BUDDY_STATE_CHANGE: RTC_BUDDY_EVENT_TYPE = RTC_BUDDY_EVENT_TYPE(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCBET_BUDDY_ROAMED: RTC_BUDDY_EVENT_TYPE = RTC_BUDDY_EVENT_TYPE(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCBET_BUDDY_SUBSCRIBED: RTC_BUDDY_EVENT_TYPE = RTC_BUDDY_EVENT_TYPE(5i32); +impl ::core::marker::Copy for RTC_BUDDY_EVENT_TYPE {} +impl ::core::clone::Clone for RTC_BUDDY_EVENT_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_BUDDY_EVENT_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_BUDDY_EVENT_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_BUDDY_EVENT_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_BUDDY_EVENT_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_BUDDY_SUBSCRIPTION_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCBT_SUBSCRIBED: RTC_BUDDY_SUBSCRIPTION_TYPE = RTC_BUDDY_SUBSCRIPTION_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCBT_ALWAYS_OFFLINE: RTC_BUDDY_SUBSCRIPTION_TYPE = RTC_BUDDY_SUBSCRIPTION_TYPE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCBT_ALWAYS_ONLINE: RTC_BUDDY_SUBSCRIPTION_TYPE = RTC_BUDDY_SUBSCRIPTION_TYPE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCBT_POLL: RTC_BUDDY_SUBSCRIPTION_TYPE = RTC_BUDDY_SUBSCRIPTION_TYPE(3i32); +impl ::core::marker::Copy for RTC_BUDDY_SUBSCRIPTION_TYPE {} +impl ::core::clone::Clone for RTC_BUDDY_SUBSCRIPTION_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_BUDDY_SUBSCRIPTION_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_BUDDY_SUBSCRIPTION_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_BUDDY_SUBSCRIPTION_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_BUDDY_SUBSCRIPTION_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_CLIENT_EVENT_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCCET_VOLUME_CHANGE: RTC_CLIENT_EVENT_TYPE = RTC_CLIENT_EVENT_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCCET_DEVICE_CHANGE: RTC_CLIENT_EVENT_TYPE = RTC_CLIENT_EVENT_TYPE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCCET_NETWORK_QUALITY_CHANGE: RTC_CLIENT_EVENT_TYPE = RTC_CLIENT_EVENT_TYPE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCCET_ASYNC_CLEANUP_DONE: RTC_CLIENT_EVENT_TYPE = RTC_CLIENT_EVENT_TYPE(3i32); +impl ::core::marker::Copy for RTC_CLIENT_EVENT_TYPE {} +impl ::core::clone::Clone for RTC_CLIENT_EVENT_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_CLIENT_EVENT_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_CLIENT_EVENT_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_CLIENT_EVENT_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_CLIENT_EVENT_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_DTMF(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_0: RTC_DTMF = RTC_DTMF(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_1: RTC_DTMF = RTC_DTMF(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_2: RTC_DTMF = RTC_DTMF(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_3: RTC_DTMF = RTC_DTMF(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_4: RTC_DTMF = RTC_DTMF(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_5: RTC_DTMF = RTC_DTMF(5i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_6: RTC_DTMF = RTC_DTMF(6i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_7: RTC_DTMF = RTC_DTMF(7i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_8: RTC_DTMF = RTC_DTMF(8i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_9: RTC_DTMF = RTC_DTMF(9i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_STAR: RTC_DTMF = RTC_DTMF(10i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_POUND: RTC_DTMF = RTC_DTMF(11i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_A: RTC_DTMF = RTC_DTMF(12i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_B: RTC_DTMF = RTC_DTMF(13i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_C: RTC_DTMF = RTC_DTMF(14i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_D: RTC_DTMF = RTC_DTMF(15i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTC_DTMF_FLASH: RTC_DTMF = RTC_DTMF(16i32); +impl ::core::marker::Copy for RTC_DTMF {} +impl ::core::clone::Clone for RTC_DTMF { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_DTMF { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_DTMF { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_DTMF { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_DTMF").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_EVENT(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_CLIENT: RTC_EVENT = RTC_EVENT(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_REGISTRATION_STATE_CHANGE: RTC_EVENT = RTC_EVENT(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_SESSION_STATE_CHANGE: RTC_EVENT = RTC_EVENT(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_SESSION_OPERATION_COMPLETE: RTC_EVENT = RTC_EVENT(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_PARTICIPANT_STATE_CHANGE: RTC_EVENT = RTC_EVENT(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_MEDIA: RTC_EVENT = RTC_EVENT(5i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_INTENSITY: RTC_EVENT = RTC_EVENT(6i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_MESSAGING: RTC_EVENT = RTC_EVENT(7i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_BUDDY: RTC_EVENT = RTC_EVENT(8i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_WATCHER: RTC_EVENT = RTC_EVENT(9i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_PROFILE: RTC_EVENT = RTC_EVENT(10i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_USERSEARCH: RTC_EVENT = RTC_EVENT(11i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_INFO: RTC_EVENT = RTC_EVENT(12i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_GROUP: RTC_EVENT = RTC_EVENT(13i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_MEDIA_REQUEST: RTC_EVENT = RTC_EVENT(14i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_ROAMING: RTC_EVENT = RTC_EVENT(15i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_PRESENCE_PROPERTY: RTC_EVENT = RTC_EVENT(16i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_PRESENCE_DATA: RTC_EVENT = RTC_EVENT(17i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_PRESENCE_STATUS: RTC_EVENT = RTC_EVENT(18i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_SESSION_REFER_STATUS: RTC_EVENT = RTC_EVENT(19i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_SESSION_REFERRED: RTC_EVENT = RTC_EVENT(20i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCE_REINVITE: RTC_EVENT = RTC_EVENT(21i32); +impl ::core::marker::Copy for RTC_EVENT {} +impl ::core::clone::Clone for RTC_EVENT { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_EVENT { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_EVENT { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_EVENT { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_EVENT").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_GROUP_EVENT_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCGET_GROUP_ADD: RTC_GROUP_EVENT_TYPE = RTC_GROUP_EVENT_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCGET_GROUP_REMOVE: RTC_GROUP_EVENT_TYPE = RTC_GROUP_EVENT_TYPE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCGET_GROUP_UPDATE: RTC_GROUP_EVENT_TYPE = RTC_GROUP_EVENT_TYPE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCGET_GROUP_BUDDY_ADD: RTC_GROUP_EVENT_TYPE = RTC_GROUP_EVENT_TYPE(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCGET_GROUP_BUDDY_REMOVE: RTC_GROUP_EVENT_TYPE = RTC_GROUP_EVENT_TYPE(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCGET_GROUP_ROAMED: RTC_GROUP_EVENT_TYPE = RTC_GROUP_EVENT_TYPE(5i32); +impl ::core::marker::Copy for RTC_GROUP_EVENT_TYPE {} +impl ::core::clone::Clone for RTC_GROUP_EVENT_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_GROUP_EVENT_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_GROUP_EVENT_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_GROUP_EVENT_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_GROUP_EVENT_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_LISTEN_MODE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCLM_NONE: RTC_LISTEN_MODE = RTC_LISTEN_MODE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCLM_DYNAMIC: RTC_LISTEN_MODE = RTC_LISTEN_MODE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCLM_BOTH: RTC_LISTEN_MODE = RTC_LISTEN_MODE(2i32); +impl ::core::marker::Copy for RTC_LISTEN_MODE {} +impl ::core::clone::Clone for RTC_LISTEN_MODE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_LISTEN_MODE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_LISTEN_MODE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_LISTEN_MODE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_LISTEN_MODE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_MEDIA_EVENT_REASON(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMER_NORMAL: RTC_MEDIA_EVENT_REASON = RTC_MEDIA_EVENT_REASON(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMER_HOLD: RTC_MEDIA_EVENT_REASON = RTC_MEDIA_EVENT_REASON(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMER_TIMEOUT: RTC_MEDIA_EVENT_REASON = RTC_MEDIA_EVENT_REASON(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMER_BAD_DEVICE: RTC_MEDIA_EVENT_REASON = RTC_MEDIA_EVENT_REASON(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMER_NO_PORT: RTC_MEDIA_EVENT_REASON = RTC_MEDIA_EVENT_REASON(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMER_PORT_MAPPING_FAILED: RTC_MEDIA_EVENT_REASON = RTC_MEDIA_EVENT_REASON(5i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMER_REMOTE_REQUEST: RTC_MEDIA_EVENT_REASON = RTC_MEDIA_EVENT_REASON(6i32); +impl ::core::marker::Copy for RTC_MEDIA_EVENT_REASON {} +impl ::core::clone::Clone for RTC_MEDIA_EVENT_REASON { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_MEDIA_EVENT_REASON { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_MEDIA_EVENT_REASON { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_MEDIA_EVENT_REASON { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_MEDIA_EVENT_REASON").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_MEDIA_EVENT_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMET_STOPPED: RTC_MEDIA_EVENT_TYPE = RTC_MEDIA_EVENT_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMET_STARTED: RTC_MEDIA_EVENT_TYPE = RTC_MEDIA_EVENT_TYPE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMET_FAILED: RTC_MEDIA_EVENT_TYPE = RTC_MEDIA_EVENT_TYPE(2i32); +impl ::core::marker::Copy for RTC_MEDIA_EVENT_TYPE {} +impl ::core::clone::Clone for RTC_MEDIA_EVENT_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_MEDIA_EVENT_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_MEDIA_EVENT_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_MEDIA_EVENT_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_MEDIA_EVENT_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_MESSAGING_EVENT_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMSET_MESSAGE: RTC_MESSAGING_EVENT_TYPE = RTC_MESSAGING_EVENT_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMSET_STATUS: RTC_MESSAGING_EVENT_TYPE = RTC_MESSAGING_EVENT_TYPE(1i32); +impl ::core::marker::Copy for RTC_MESSAGING_EVENT_TYPE {} +impl ::core::clone::Clone for RTC_MESSAGING_EVENT_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_MESSAGING_EVENT_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_MESSAGING_EVENT_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_MESSAGING_EVENT_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_MESSAGING_EVENT_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_MESSAGING_USER_STATUS(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMUS_IDLE: RTC_MESSAGING_USER_STATUS = RTC_MESSAGING_USER_STATUS(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCMUS_TYPING: RTC_MESSAGING_USER_STATUS = RTC_MESSAGING_USER_STATUS(1i32); +impl ::core::marker::Copy for RTC_MESSAGING_USER_STATUS {} +impl ::core::clone::Clone for RTC_MESSAGING_USER_STATUS { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_MESSAGING_USER_STATUS { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_MESSAGING_USER_STATUS { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_MESSAGING_USER_STATUS { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_MESSAGING_USER_STATUS").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_OFFER_WATCHER_MODE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCOWM_OFFER_WATCHER_EVENT: RTC_OFFER_WATCHER_MODE = RTC_OFFER_WATCHER_MODE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCOWM_AUTOMATICALLY_ADD_WATCHER: RTC_OFFER_WATCHER_MODE = RTC_OFFER_WATCHER_MODE(1i32); +impl ::core::marker::Copy for RTC_OFFER_WATCHER_MODE {} +impl ::core::clone::Clone for RTC_OFFER_WATCHER_MODE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_OFFER_WATCHER_MODE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_OFFER_WATCHER_MODE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_OFFER_WATCHER_MODE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_OFFER_WATCHER_MODE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_PARTICIPANT_STATE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPS_IDLE: RTC_PARTICIPANT_STATE = RTC_PARTICIPANT_STATE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPS_PENDING: RTC_PARTICIPANT_STATE = RTC_PARTICIPANT_STATE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPS_INCOMING: RTC_PARTICIPANT_STATE = RTC_PARTICIPANT_STATE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPS_ANSWERING: RTC_PARTICIPANT_STATE = RTC_PARTICIPANT_STATE(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPS_INPROGRESS: RTC_PARTICIPANT_STATE = RTC_PARTICIPANT_STATE(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPS_ALERTING: RTC_PARTICIPANT_STATE = RTC_PARTICIPANT_STATE(5i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPS_CONNECTED: RTC_PARTICIPANT_STATE = RTC_PARTICIPANT_STATE(6i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPS_DISCONNECTING: RTC_PARTICIPANT_STATE = RTC_PARTICIPANT_STATE(7i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPS_DISCONNECTED: RTC_PARTICIPANT_STATE = RTC_PARTICIPANT_STATE(8i32); +impl ::core::marker::Copy for RTC_PARTICIPANT_STATE {} +impl ::core::clone::Clone for RTC_PARTICIPANT_STATE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_PARTICIPANT_STATE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_PARTICIPANT_STATE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_PARTICIPANT_STATE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_PARTICIPANT_STATE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_PORT_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPT_AUDIO_RTP: RTC_PORT_TYPE = RTC_PORT_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPT_AUDIO_RTCP: RTC_PORT_TYPE = RTC_PORT_TYPE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPT_VIDEO_RTP: RTC_PORT_TYPE = RTC_PORT_TYPE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPT_VIDEO_RTCP: RTC_PORT_TYPE = RTC_PORT_TYPE(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPT_SIP: RTC_PORT_TYPE = RTC_PORT_TYPE(4i32); +impl ::core::marker::Copy for RTC_PORT_TYPE {} +impl ::core::clone::Clone for RTC_PORT_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_PORT_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_PORT_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_PORT_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_PORT_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_PRESENCE_PROPERTY(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPP_PHONENUMBER: RTC_PRESENCE_PROPERTY = RTC_PRESENCE_PROPERTY(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPP_DISPLAYNAME: RTC_PRESENCE_PROPERTY = RTC_PRESENCE_PROPERTY(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPP_EMAIL: RTC_PRESENCE_PROPERTY = RTC_PRESENCE_PROPERTY(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPP_DEVICE_NAME: RTC_PRESENCE_PROPERTY = RTC_PRESENCE_PROPERTY(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPP_MULTIPLE: RTC_PRESENCE_PROPERTY = RTC_PRESENCE_PROPERTY(4i32); +impl ::core::marker::Copy for RTC_PRESENCE_PROPERTY {} +impl ::core::clone::Clone for RTC_PRESENCE_PROPERTY { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_PRESENCE_PROPERTY { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_PRESENCE_PROPERTY { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_PRESENCE_PROPERTY { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_PRESENCE_PROPERTY").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_PRESENCE_STATUS(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCXS_PRESENCE_OFFLINE: RTC_PRESENCE_STATUS = RTC_PRESENCE_STATUS(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCXS_PRESENCE_ONLINE: RTC_PRESENCE_STATUS = RTC_PRESENCE_STATUS(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCXS_PRESENCE_AWAY: RTC_PRESENCE_STATUS = RTC_PRESENCE_STATUS(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCXS_PRESENCE_IDLE: RTC_PRESENCE_STATUS = RTC_PRESENCE_STATUS(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCXS_PRESENCE_BUSY: RTC_PRESENCE_STATUS = RTC_PRESENCE_STATUS(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCXS_PRESENCE_BE_RIGHT_BACK: RTC_PRESENCE_STATUS = RTC_PRESENCE_STATUS(5i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCXS_PRESENCE_ON_THE_PHONE: RTC_PRESENCE_STATUS = RTC_PRESENCE_STATUS(6i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCXS_PRESENCE_OUT_TO_LUNCH: RTC_PRESENCE_STATUS = RTC_PRESENCE_STATUS(7i32); +impl ::core::marker::Copy for RTC_PRESENCE_STATUS {} +impl ::core::clone::Clone for RTC_PRESENCE_STATUS { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_PRESENCE_STATUS { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_PRESENCE_STATUS { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_PRESENCE_STATUS { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_PRESENCE_STATUS").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_PRIVACY_MODE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPM_BLOCK_LIST_EXCLUDED: RTC_PRIVACY_MODE = RTC_PRIVACY_MODE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPM_ALLOW_LIST_ONLY: RTC_PRIVACY_MODE = RTC_PRIVACY_MODE(1i32); +impl ::core::marker::Copy for RTC_PRIVACY_MODE {} +impl ::core::clone::Clone for RTC_PRIVACY_MODE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_PRIVACY_MODE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_PRIVACY_MODE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_PRIVACY_MODE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_PRIVACY_MODE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_PROFILE_EVENT_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPFET_PROFILE_GET: RTC_PROFILE_EVENT_TYPE = RTC_PROFILE_EVENT_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPFET_PROFILE_UPDATE: RTC_PROFILE_EVENT_TYPE = RTC_PROFILE_EVENT_TYPE(1i32); +impl ::core::marker::Copy for RTC_PROFILE_EVENT_TYPE {} +impl ::core::clone::Clone for RTC_PROFILE_EVENT_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_PROFILE_EVENT_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_PROFILE_EVENT_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_PROFILE_EVENT_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_PROFILE_EVENT_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_PROVIDER_URI(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPU_URIHOMEPAGE: RTC_PROVIDER_URI = RTC_PROVIDER_URI(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPU_URIHELPDESK: RTC_PROVIDER_URI = RTC_PROVIDER_URI(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPU_URIPERSONALACCOUNT: RTC_PROVIDER_URI = RTC_PROVIDER_URI(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPU_URIDISPLAYDURINGCALL: RTC_PROVIDER_URI = RTC_PROVIDER_URI(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCPU_URIDISPLAYDURINGIDLE: RTC_PROVIDER_URI = RTC_PROVIDER_URI(4i32); +impl ::core::marker::Copy for RTC_PROVIDER_URI {} +impl ::core::clone::Clone for RTC_PROVIDER_URI { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_PROVIDER_URI { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_PROVIDER_URI { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_PROVIDER_URI { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_PROVIDER_URI").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_REGISTRATION_STATE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRS_NOT_REGISTERED: RTC_REGISTRATION_STATE = RTC_REGISTRATION_STATE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRS_REGISTERING: RTC_REGISTRATION_STATE = RTC_REGISTRATION_STATE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRS_REGISTERED: RTC_REGISTRATION_STATE = RTC_REGISTRATION_STATE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRS_REJECTED: RTC_REGISTRATION_STATE = RTC_REGISTRATION_STATE(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRS_UNREGISTERING: RTC_REGISTRATION_STATE = RTC_REGISTRATION_STATE(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRS_ERROR: RTC_REGISTRATION_STATE = RTC_REGISTRATION_STATE(5i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRS_LOGGED_OFF: RTC_REGISTRATION_STATE = RTC_REGISTRATION_STATE(6i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRS_LOCAL_PA_LOGGED_OFF: RTC_REGISTRATION_STATE = RTC_REGISTRATION_STATE(7i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRS_REMOTE_PA_LOGGED_OFF: RTC_REGISTRATION_STATE = RTC_REGISTRATION_STATE(8i32); +impl ::core::marker::Copy for RTC_REGISTRATION_STATE {} +impl ::core::clone::Clone for RTC_REGISTRATION_STATE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_REGISTRATION_STATE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_REGISTRATION_STATE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_REGISTRATION_STATE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_REGISTRATION_STATE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_REINVITE_STATE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRIN_INCOMING: RTC_REINVITE_STATE = RTC_REINVITE_STATE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRIN_SUCCEEDED: RTC_REINVITE_STATE = RTC_REINVITE_STATE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRIN_FAIL: RTC_REINVITE_STATE = RTC_REINVITE_STATE(2i32); +impl ::core::marker::Copy for RTC_REINVITE_STATE {} +impl ::core::clone::Clone for RTC_REINVITE_STATE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_REINVITE_STATE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_REINVITE_STATE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_REINVITE_STATE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_REINVITE_STATE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_RING_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRT_PHONE: RTC_RING_TYPE = RTC_RING_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRT_MESSAGE: RTC_RING_TYPE = RTC_RING_TYPE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRT_RINGBACK: RTC_RING_TYPE = RTC_RING_TYPE(2i32); +impl ::core::marker::Copy for RTC_RING_TYPE {} +impl ::core::clone::Clone for RTC_RING_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_RING_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_RING_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_RING_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_RING_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_ROAMING_EVENT_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRET_BUDDY_ROAMING: RTC_ROAMING_EVENT_TYPE = RTC_ROAMING_EVENT_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRET_WATCHER_ROAMING: RTC_ROAMING_EVENT_TYPE = RTC_ROAMING_EVENT_TYPE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRET_PRESENCE_ROAMING: RTC_ROAMING_EVENT_TYPE = RTC_ROAMING_EVENT_TYPE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRET_PROFILE_ROAMING: RTC_ROAMING_EVENT_TYPE = RTC_ROAMING_EVENT_TYPE(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCRET_WPENDING_ROAMING: RTC_ROAMING_EVENT_TYPE = RTC_ROAMING_EVENT_TYPE(4i32); +impl ::core::marker::Copy for RTC_ROAMING_EVENT_TYPE {} +impl ::core::clone::Clone for RTC_ROAMING_EVENT_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_ROAMING_EVENT_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_ROAMING_EVENT_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_ROAMING_EVENT_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_ROAMING_EVENT_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_SECURITY_LEVEL(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSECL_UNSUPPORTED: RTC_SECURITY_LEVEL = RTC_SECURITY_LEVEL(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSECL_SUPPORTED: RTC_SECURITY_LEVEL = RTC_SECURITY_LEVEL(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSECL_REQUIRED: RTC_SECURITY_LEVEL = RTC_SECURITY_LEVEL(3i32); +impl ::core::marker::Copy for RTC_SECURITY_LEVEL {} +impl ::core::clone::Clone for RTC_SECURITY_LEVEL { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_SECURITY_LEVEL { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_SECURITY_LEVEL { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_SECURITY_LEVEL { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_SECURITY_LEVEL").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_SECURITY_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSECT_AUDIO_VIDEO_MEDIA_ENCRYPTION: RTC_SECURITY_TYPE = RTC_SECURITY_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSECT_T120_MEDIA_ENCRYPTION: RTC_SECURITY_TYPE = RTC_SECURITY_TYPE(1i32); +impl ::core::marker::Copy for RTC_SECURITY_TYPE {} +impl ::core::clone::Clone for RTC_SECURITY_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_SECURITY_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_SECURITY_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_SECURITY_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_SECURITY_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_SESSION_REFER_STATUS(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSRS_REFERRING: RTC_SESSION_REFER_STATUS = RTC_SESSION_REFER_STATUS(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSRS_ACCEPTED: RTC_SESSION_REFER_STATUS = RTC_SESSION_REFER_STATUS(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSRS_ERROR: RTC_SESSION_REFER_STATUS = RTC_SESSION_REFER_STATUS(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSRS_REJECTED: RTC_SESSION_REFER_STATUS = RTC_SESSION_REFER_STATUS(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSRS_DROPPED: RTC_SESSION_REFER_STATUS = RTC_SESSION_REFER_STATUS(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSRS_DONE: RTC_SESSION_REFER_STATUS = RTC_SESSION_REFER_STATUS(5i32); +impl ::core::marker::Copy for RTC_SESSION_REFER_STATUS {} +impl ::core::clone::Clone for RTC_SESSION_REFER_STATUS { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_SESSION_REFER_STATUS { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_SESSION_REFER_STATUS { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_SESSION_REFER_STATUS { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_SESSION_REFER_STATUS").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_SESSION_STATE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSS_IDLE: RTC_SESSION_STATE = RTC_SESSION_STATE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSS_INCOMING: RTC_SESSION_STATE = RTC_SESSION_STATE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSS_ANSWERING: RTC_SESSION_STATE = RTC_SESSION_STATE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSS_INPROGRESS: RTC_SESSION_STATE = RTC_SESSION_STATE(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSS_CONNECTED: RTC_SESSION_STATE = RTC_SESSION_STATE(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSS_DISCONNECTED: RTC_SESSION_STATE = RTC_SESSION_STATE(5i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSS_HOLD: RTC_SESSION_STATE = RTC_SESSION_STATE(6i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCSS_REFER: RTC_SESSION_STATE = RTC_SESSION_STATE(7i32); +impl ::core::marker::Copy for RTC_SESSION_STATE {} +impl ::core::clone::Clone for RTC_SESSION_STATE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_SESSION_STATE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_SESSION_STATE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_SESSION_STATE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_SESSION_STATE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_SESSION_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCST_PC_TO_PC: RTC_SESSION_TYPE = RTC_SESSION_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCST_PC_TO_PHONE: RTC_SESSION_TYPE = RTC_SESSION_TYPE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCST_PHONE_TO_PHONE: RTC_SESSION_TYPE = RTC_SESSION_TYPE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCST_IM: RTC_SESSION_TYPE = RTC_SESSION_TYPE(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCST_MULTIPARTY_IM: RTC_SESSION_TYPE = RTC_SESSION_TYPE(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCST_APPLICATION: RTC_SESSION_TYPE = RTC_SESSION_TYPE(5i32); +impl ::core::marker::Copy for RTC_SESSION_TYPE {} +impl ::core::clone::Clone for RTC_SESSION_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_SESSION_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_SESSION_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_SESSION_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_SESSION_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_T120_APPLET(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTA_WHITEBOARD: RTC_T120_APPLET = RTC_T120_APPLET(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTA_APPSHARING: RTC_T120_APPLET = RTC_T120_APPLET(1i32); +impl ::core::marker::Copy for RTC_T120_APPLET {} +impl ::core::clone::Clone for RTC_T120_APPLET { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_T120_APPLET { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_T120_APPLET { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_T120_APPLET { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_T120_APPLET").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_TERMINATE_REASON(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTR_NORMAL: RTC_TERMINATE_REASON = RTC_TERMINATE_REASON(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTR_DND: RTC_TERMINATE_REASON = RTC_TERMINATE_REASON(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTR_BUSY: RTC_TERMINATE_REASON = RTC_TERMINATE_REASON(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTR_REJECT: RTC_TERMINATE_REASON = RTC_TERMINATE_REASON(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTR_TIMEOUT: RTC_TERMINATE_REASON = RTC_TERMINATE_REASON(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTR_SHUTDOWN: RTC_TERMINATE_REASON = RTC_TERMINATE_REASON(5i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTR_INSUFFICIENT_SECURITY_LEVEL: RTC_TERMINATE_REASON = RTC_TERMINATE_REASON(6i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCTR_NOT_SUPPORTED: RTC_TERMINATE_REASON = RTC_TERMINATE_REASON(7i32); +impl ::core::marker::Copy for RTC_TERMINATE_REASON {} +impl ::core::clone::Clone for RTC_TERMINATE_REASON { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_TERMINATE_REASON { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_TERMINATE_REASON { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_TERMINATE_REASON { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_TERMINATE_REASON").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_USER_SEARCH_COLUMN(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSC_URI: RTC_USER_SEARCH_COLUMN = RTC_USER_SEARCH_COLUMN(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSC_DISPLAYNAME: RTC_USER_SEARCH_COLUMN = RTC_USER_SEARCH_COLUMN(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSC_TITLE: RTC_USER_SEARCH_COLUMN = RTC_USER_SEARCH_COLUMN(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSC_OFFICE: RTC_USER_SEARCH_COLUMN = RTC_USER_SEARCH_COLUMN(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSC_PHONE: RTC_USER_SEARCH_COLUMN = RTC_USER_SEARCH_COLUMN(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSC_COMPANY: RTC_USER_SEARCH_COLUMN = RTC_USER_SEARCH_COLUMN(5i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSC_CITY: RTC_USER_SEARCH_COLUMN = RTC_USER_SEARCH_COLUMN(6i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSC_STATE: RTC_USER_SEARCH_COLUMN = RTC_USER_SEARCH_COLUMN(7i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSC_COUNTRY: RTC_USER_SEARCH_COLUMN = RTC_USER_SEARCH_COLUMN(8i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSC_EMAIL: RTC_USER_SEARCH_COLUMN = RTC_USER_SEARCH_COLUMN(9i32); +impl ::core::marker::Copy for RTC_USER_SEARCH_COLUMN {} +impl ::core::clone::Clone for RTC_USER_SEARCH_COLUMN { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_USER_SEARCH_COLUMN { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_USER_SEARCH_COLUMN { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_USER_SEARCH_COLUMN { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_USER_SEARCH_COLUMN").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_USER_SEARCH_PREFERENCE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSP_MAX_MATCHES: RTC_USER_SEARCH_PREFERENCE = RTC_USER_SEARCH_PREFERENCE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCUSP_TIME_LIMIT: RTC_USER_SEARCH_PREFERENCE = RTC_USER_SEARCH_PREFERENCE(1i32); +impl ::core::marker::Copy for RTC_USER_SEARCH_PREFERENCE {} +impl ::core::clone::Clone for RTC_USER_SEARCH_PREFERENCE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_USER_SEARCH_PREFERENCE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_USER_SEARCH_PREFERENCE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_USER_SEARCH_PREFERENCE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_USER_SEARCH_PREFERENCE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_VIDEO_DEVICE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCVD_RECEIVE: RTC_VIDEO_DEVICE = RTC_VIDEO_DEVICE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCVD_PREVIEW: RTC_VIDEO_DEVICE = RTC_VIDEO_DEVICE(1i32); +impl ::core::marker::Copy for RTC_VIDEO_DEVICE {} +impl ::core::clone::Clone for RTC_VIDEO_DEVICE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_VIDEO_DEVICE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_VIDEO_DEVICE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_VIDEO_DEVICE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_VIDEO_DEVICE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_WATCHER_EVENT_TYPE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWET_WATCHER_ADD: RTC_WATCHER_EVENT_TYPE = RTC_WATCHER_EVENT_TYPE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWET_WATCHER_REMOVE: RTC_WATCHER_EVENT_TYPE = RTC_WATCHER_EVENT_TYPE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWET_WATCHER_UPDATE: RTC_WATCHER_EVENT_TYPE = RTC_WATCHER_EVENT_TYPE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWET_WATCHER_OFFERING: RTC_WATCHER_EVENT_TYPE = RTC_WATCHER_EVENT_TYPE(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWET_WATCHER_ROAMED: RTC_WATCHER_EVENT_TYPE = RTC_WATCHER_EVENT_TYPE(4i32); +impl ::core::marker::Copy for RTC_WATCHER_EVENT_TYPE {} +impl ::core::clone::Clone for RTC_WATCHER_EVENT_TYPE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_WATCHER_EVENT_TYPE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_WATCHER_EVENT_TYPE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_WATCHER_EVENT_TYPE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_WATCHER_EVENT_TYPE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_WATCHER_MATCH_MODE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWMM_EXACT_MATCH: RTC_WATCHER_MATCH_MODE = RTC_WATCHER_MATCH_MODE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWMM_BEST_ACE_MATCH: RTC_WATCHER_MATCH_MODE = RTC_WATCHER_MATCH_MODE(1i32); +impl ::core::marker::Copy for RTC_WATCHER_MATCH_MODE {} +impl ::core::clone::Clone for RTC_WATCHER_MATCH_MODE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_WATCHER_MATCH_MODE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_WATCHER_MATCH_MODE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_WATCHER_MATCH_MODE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_WATCHER_MATCH_MODE").field(&self.0).finish() + } +} +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +#[repr(transparent)] +#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] +pub struct RTC_WATCHER_STATE(pub i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWS_UNKNOWN: RTC_WATCHER_STATE = RTC_WATCHER_STATE(0i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWS_OFFERING: RTC_WATCHER_STATE = RTC_WATCHER_STATE(1i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWS_ALLOWED: RTC_WATCHER_STATE = RTC_WATCHER_STATE(2i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWS_BLOCKED: RTC_WATCHER_STATE = RTC_WATCHER_STATE(3i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWS_DENIED: RTC_WATCHER_STATE = RTC_WATCHER_STATE(4i32); +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`*"] +pub const RTCWS_PROMPT: RTC_WATCHER_STATE = RTC_WATCHER_STATE(5i32); +impl ::core::marker::Copy for RTC_WATCHER_STATE {} +impl ::core::clone::Clone for RTC_WATCHER_STATE { + fn clone(&self) -> Self { + *self + } +} +impl ::core::default::Default for RTC_WATCHER_STATE { + fn default() -> Self { + Self(0) + } +} +impl ::windows::core::TypeKind for RTC_WATCHER_STATE { + type TypeKind = ::windows::core::CopyType; +} +impl ::core::fmt::Debug for RTC_WATCHER_STATE { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple("RTC_WATCHER_STATE").field(&self.0).finish() + } +} +#[repr(C)] +#[doc = "*Required features: `\"Win32_System_RealTimeCommunications\"`, `\"Win32_Networking_WinSock\"`*"] +#[cfg(feature = "Win32_Networking_WinSock")] +pub struct TRANSPORT_SETTING { + pub SettingId: super::super::Networking::WinSock::TRANSPORT_SETTING_ID, + pub Length: *mut u32, + pub Value: *mut u8, +} +#[cfg(feature = "Win32_Networking_WinSock")] +impl ::core::marker::Copy for TRANSPORT_SETTING {} +#[cfg(feature = "Win32_Networking_WinSock")] +impl ::core::clone::Clone for TRANSPORT_SETTING { + fn clone(&self) -> Self { + *self + } +} +#[cfg(feature = "Win32_Networking_WinSock")] +impl ::core::fmt::Debug for TRANSPORT_SETTING { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_struct("TRANSPORT_SETTING").field("SettingId", &self.SettingId).field("Length", &self.Length).field("Value", &self.Value).finish() + } +} +#[cfg(feature = "Win32_Networking_WinSock")] +impl ::windows::core::TypeKind for TRANSPORT_SETTING { + type TypeKind = ::windows::core::CopyType; +} +#[cfg(feature = "Win32_Networking_WinSock")] +impl ::core::cmp::PartialEq for TRANSPORT_SETTING { + fn eq(&self, other: &Self) -> bool { + self.SettingId == other.SettingId && self.Length == other.Length && self.Value == other.Value + } +} +#[cfg(feature = "Win32_Networking_WinSock")] +impl ::core::cmp::Eq for TRANSPORT_SETTING {} +#[cfg(feature = "Win32_Networking_WinSock")] +impl ::core::default::Default for TRANSPORT_SETTING { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[cfg(feature = "implement")] +::core::include!("impl.rs");