]> git.proxmox.com Git - rustc.git/blob - vendor/windows/src/Windows/Win32/Gaming/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / Gaming / mod.rs
1 #[doc = "*Required features: `\"Win32_Gaming\"`, `\"Win32_Foundation\"`*"]
2 #[cfg(feature = "Win32_Foundation")]
3 #[inline]
4 pub unsafe fn CheckGamingPrivilegeSilently(privilegeid: u32, scope: &::windows::core::HSTRING, policy: &::windows::core::HSTRING) -> ::windows::core::Result<super::Foundation::BOOL> {
5 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-1.dll""system" fn CheckGamingPrivilegeSilently ( privilegeid : u32 , scope : ::std::mem::MaybeUninit <::windows::core::HSTRING > , policy : ::std::mem::MaybeUninit <::windows::core::HSTRING > , hasprivilege : *mut super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
6 let mut result__ = ::windows::core::zeroed::<super::Foundation::BOOL>();
7 CheckGamingPrivilegeSilently(privilegeid, ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(policy), &mut result__).from_abi(result__)
8 }
9 #[doc = "*Required features: `\"Win32_Gaming\"`, `\"Win32_Foundation\"`*"]
10 #[cfg(feature = "Win32_Foundation")]
11 #[inline]
12 pub unsafe fn CheckGamingPrivilegeSilentlyForUser<P0>(user: P0, privilegeid: u32, scope: &::windows::core::HSTRING, policy: &::windows::core::HSTRING) -> ::windows::core::Result<super::Foundation::BOOL>
13 where
14 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
15 {
16 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-2.dll""system" fn CheckGamingPrivilegeSilentlyForUser ( user : * mut::core::ffi::c_void , privilegeid : u32 , scope : ::std::mem::MaybeUninit <::windows::core::HSTRING > , policy : ::std::mem::MaybeUninit <::windows::core::HSTRING > , hasprivilege : *mut super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
17 let mut result__ = ::windows::core::zeroed::<super::Foundation::BOOL>();
18 CheckGamingPrivilegeSilentlyForUser(user.into_param().abi(), privilegeid, ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(policy), &mut result__).from_abi(result__)
19 }
20 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
21 #[inline]
22 pub unsafe fn CheckGamingPrivilegeWithUI(privilegeid: u32, scope: &::windows::core::HSTRING, policy: &::windows::core::HSTRING, friendlymessage: &::windows::core::HSTRING, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
23 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-1.dll""system" fn CheckGamingPrivilegeWithUI ( privilegeid : u32 , scope : ::std::mem::MaybeUninit <::windows::core::HSTRING > , policy : ::std::mem::MaybeUninit <::windows::core::HSTRING > , friendlymessage : ::std::mem::MaybeUninit <::windows::core::HSTRING > , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
24 CheckGamingPrivilegeWithUI(privilegeid, ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(policy), ::core::mem::transmute_copy(friendlymessage), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
25 }
26 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
27 #[inline]
28 pub unsafe fn CheckGamingPrivilegeWithUIForUser<P0>(user: P0, privilegeid: u32, scope: &::windows::core::HSTRING, policy: &::windows::core::HSTRING, friendlymessage: &::windows::core::HSTRING, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
29 where
30 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
31 {
32 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-2.dll""system" fn CheckGamingPrivilegeWithUIForUser ( user : * mut::core::ffi::c_void , privilegeid : u32 , scope : ::std::mem::MaybeUninit <::windows::core::HSTRING > , policy : ::std::mem::MaybeUninit <::windows::core::HSTRING > , friendlymessage : ::std::mem::MaybeUninit <::windows::core::HSTRING > , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
33 CheckGamingPrivilegeWithUIForUser(user.into_param().abi(), privilegeid, ::core::mem::transmute_copy(scope), ::core::mem::transmute_copy(policy), ::core::mem::transmute_copy(friendlymessage), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
34 }
35 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
36 #[inline]
37 pub unsafe fn GetExpandedResourceExclusiveCpuCount() -> ::windows::core::Result<u32> {
38 ::windows::imp::link ! ( "api-ms-win-gaming-expandedresources-l1-1-0.dll""system" fn GetExpandedResourceExclusiveCpuCount ( exclusivecpucount : *mut u32 ) -> :: windows::core::HRESULT );
39 let mut result__ = ::windows::core::zeroed::<u32>();
40 GetExpandedResourceExclusiveCpuCount(&mut result__).from_abi(result__)
41 }
42 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
43 #[inline]
44 pub unsafe fn GetGamingDeviceModelInformation() -> ::windows::core::Result<GAMING_DEVICE_MODEL_INFORMATION> {
45 ::windows::imp::link ! ( "api-ms-win-gaming-deviceinformation-l1-1-0.dll""system" fn GetGamingDeviceModelInformation ( information : *mut GAMING_DEVICE_MODEL_INFORMATION ) -> :: windows::core::HRESULT );
46 let mut result__ = ::windows::core::zeroed::<GAMING_DEVICE_MODEL_INFORMATION>();
47 GetGamingDeviceModelInformation(&mut result__).from_abi(result__)
48 }
49 #[doc = "*Required features: `\"Win32_Gaming\"`, `\"Win32_Foundation\"`*"]
50 #[cfg(feature = "Win32_Foundation")]
51 #[inline]
52 pub unsafe fn HasExpandedResources() -> ::windows::core::Result<super::Foundation::BOOL> {
53 ::windows::imp::link ! ( "api-ms-win-gaming-expandedresources-l1-1-0.dll""system" fn HasExpandedResources ( hasexpandedresources : *mut super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
54 let mut result__ = ::windows::core::zeroed::<super::Foundation::BOOL>();
55 HasExpandedResources(&mut result__).from_abi(result__)
56 }
57 #[doc = "*Required features: `\"Win32_Gaming\"`, `\"Win32_Foundation\"`*"]
58 #[cfg(feature = "Win32_Foundation")]
59 #[inline]
60 pub unsafe fn ProcessPendingGameUI<P0>(waitforcompletion: P0) -> ::windows::core::Result<()>
61 where
62 P0: ::windows::core::IntoParam<super::Foundation::BOOL>,
63 {
64 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-0.dll""system" fn ProcessPendingGameUI ( waitforcompletion : super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
65 ProcessPendingGameUI(waitforcompletion.into_param().abi()).ok()
66 }
67 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
68 #[inline]
69 pub unsafe fn ReleaseExclusiveCpuSets() -> ::windows::core::Result<()> {
70 ::windows::imp::link ! ( "api-ms-win-gaming-expandedresources-l1-1-0.dll""system" fn ReleaseExclusiveCpuSets ( ) -> :: windows::core::HRESULT );
71 ReleaseExclusiveCpuSets().ok()
72 }
73 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
74 #[inline]
75 pub unsafe fn ShowChangeFriendRelationshipUI(targetuserxuid: &::windows::core::HSTRING, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
76 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-0.dll""system" fn ShowChangeFriendRelationshipUI ( targetuserxuid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
77 ShowChangeFriendRelationshipUI(::core::mem::transmute_copy(targetuserxuid), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
78 }
79 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
80 #[inline]
81 pub unsafe fn ShowChangeFriendRelationshipUIForUser<P0>(user: P0, targetuserxuid: &::windows::core::HSTRING, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
82 where
83 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
84 {
85 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-2.dll""system" fn ShowChangeFriendRelationshipUIForUser ( user : * mut::core::ffi::c_void , targetuserxuid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
86 ShowChangeFriendRelationshipUIForUser(user.into_param().abi(), ::core::mem::transmute_copy(targetuserxuid), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
87 }
88 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
89 #[inline]
90 pub unsafe fn ShowCustomizeUserProfileUI(completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
91 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-4.dll""system" fn ShowCustomizeUserProfileUI ( completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
92 ShowCustomizeUserProfileUI(completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
93 }
94 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
95 #[inline]
96 pub unsafe fn ShowCustomizeUserProfileUIForUser<P0>(user: P0, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
97 where
98 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
99 {
100 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-4.dll""system" fn ShowCustomizeUserProfileUIForUser ( user : * mut::core::ffi::c_void , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
101 ShowCustomizeUserProfileUIForUser(user.into_param().abi(), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
102 }
103 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
104 #[inline]
105 pub unsafe fn ShowFindFriendsUI(completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
106 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-4.dll""system" fn ShowFindFriendsUI ( completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
107 ShowFindFriendsUI(completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
108 }
109 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
110 #[inline]
111 pub unsafe fn ShowFindFriendsUIForUser<P0>(user: P0, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
112 where
113 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
114 {
115 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-4.dll""system" fn ShowFindFriendsUIForUser ( user : * mut::core::ffi::c_void , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
116 ShowFindFriendsUIForUser(user.into_param().abi(), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
117 }
118 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
119 #[inline]
120 pub unsafe fn ShowGameInfoUI(titleid: u32, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
121 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-4.dll""system" fn ShowGameInfoUI ( titleid : u32 , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
122 ShowGameInfoUI(titleid, completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
123 }
124 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
125 #[inline]
126 pub unsafe fn ShowGameInfoUIForUser<P0>(user: P0, titleid: u32, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
127 where
128 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
129 {
130 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-4.dll""system" fn ShowGameInfoUIForUser ( user : * mut::core::ffi::c_void , titleid : u32 , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
131 ShowGameInfoUIForUser(user.into_param().abi(), titleid, completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
132 }
133 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
134 #[inline]
135 pub unsafe fn ShowGameInviteUI(serviceconfigurationid: &::windows::core::HSTRING, sessiontemplatename: &::windows::core::HSTRING, sessionid: &::windows::core::HSTRING, invitationdisplaytext: &::windows::core::HSTRING, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
136 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-0.dll""system" fn ShowGameInviteUI ( serviceconfigurationid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , sessiontemplatename : ::std::mem::MaybeUninit <::windows::core::HSTRING > , sessionid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , invitationdisplaytext : ::std::mem::MaybeUninit <::windows::core::HSTRING > , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
137 ShowGameInviteUI(::core::mem::transmute_copy(serviceconfigurationid), ::core::mem::transmute_copy(sessiontemplatename), ::core::mem::transmute_copy(sessionid), ::core::mem::transmute_copy(invitationdisplaytext), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
138 }
139 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
140 #[inline]
141 pub unsafe fn ShowGameInviteUIForUser<P0>(user: P0, serviceconfigurationid: &::windows::core::HSTRING, sessiontemplatename: &::windows::core::HSTRING, sessionid: &::windows::core::HSTRING, invitationdisplaytext: &::windows::core::HSTRING, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
142 where
143 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
144 {
145 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-2.dll""system" fn ShowGameInviteUIForUser ( user : * mut::core::ffi::c_void , serviceconfigurationid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , sessiontemplatename : ::std::mem::MaybeUninit <::windows::core::HSTRING > , sessionid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , invitationdisplaytext : ::std::mem::MaybeUninit <::windows::core::HSTRING > , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
146 ShowGameInviteUIForUser(user.into_param().abi(), ::core::mem::transmute_copy(serviceconfigurationid), ::core::mem::transmute_copy(sessiontemplatename), ::core::mem::transmute_copy(sessionid), ::core::mem::transmute_copy(invitationdisplaytext), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
147 }
148 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
149 #[inline]
150 pub unsafe fn ShowGameInviteUIWithContext(serviceconfigurationid: &::windows::core::HSTRING, sessiontemplatename: &::windows::core::HSTRING, sessionid: &::windows::core::HSTRING, invitationdisplaytext: &::windows::core::HSTRING, customactivationcontext: &::windows::core::HSTRING, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
151 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-3.dll""system" fn ShowGameInviteUIWithContext ( serviceconfigurationid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , sessiontemplatename : ::std::mem::MaybeUninit <::windows::core::HSTRING > , sessionid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , invitationdisplaytext : ::std::mem::MaybeUninit <::windows::core::HSTRING > , customactivationcontext : ::std::mem::MaybeUninit <::windows::core::HSTRING > , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
152 ShowGameInviteUIWithContext(::core::mem::transmute_copy(serviceconfigurationid), ::core::mem::transmute_copy(sessiontemplatename), ::core::mem::transmute_copy(sessionid), ::core::mem::transmute_copy(invitationdisplaytext), ::core::mem::transmute_copy(customactivationcontext), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
153 }
154 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
155 #[inline]
156 pub unsafe fn ShowGameInviteUIWithContextForUser<P0>(user: P0, serviceconfigurationid: &::windows::core::HSTRING, sessiontemplatename: &::windows::core::HSTRING, sessionid: &::windows::core::HSTRING, invitationdisplaytext: &::windows::core::HSTRING, customactivationcontext: &::windows::core::HSTRING, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
157 where
158 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
159 {
160 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-3.dll""system" fn ShowGameInviteUIWithContextForUser ( user : * mut::core::ffi::c_void , serviceconfigurationid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , sessiontemplatename : ::std::mem::MaybeUninit <::windows::core::HSTRING > , sessionid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , invitationdisplaytext : ::std::mem::MaybeUninit <::windows::core::HSTRING > , customactivationcontext : ::std::mem::MaybeUninit <::windows::core::HSTRING > , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
161 ShowGameInviteUIWithContextForUser(user.into_param().abi(), ::core::mem::transmute_copy(serviceconfigurationid), ::core::mem::transmute_copy(sessiontemplatename), ::core::mem::transmute_copy(sessionid), ::core::mem::transmute_copy(invitationdisplaytext), ::core::mem::transmute_copy(customactivationcontext), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
162 }
163 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
164 #[inline]
165 pub unsafe fn ShowPlayerPickerUI(promptdisplaytext: &::windows::core::HSTRING, xuids: &[::windows::core::HSTRING], preselectedxuids: ::core::option::Option<&[::windows::core::HSTRING]>, minselectioncount: usize, maxselectioncount: usize, completionroutine: PlayerPickerUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
166 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-0.dll""system" fn ShowPlayerPickerUI ( promptdisplaytext : ::std::mem::MaybeUninit <::windows::core::HSTRING > , xuids : *const ::std::mem::MaybeUninit <::windows::core::HSTRING > , xuidscount : usize , preselectedxuids : *const ::std::mem::MaybeUninit <::windows::core::HSTRING > , preselectedxuidscount : usize , minselectioncount : usize , maxselectioncount : usize , completionroutine : PlayerPickerUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
167 ShowPlayerPickerUI(::core::mem::transmute_copy(promptdisplaytext), ::core::mem::transmute(xuids.as_ptr()), xuids.len() as _, ::core::mem::transmute(preselectedxuids.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), preselectedxuids.as_deref().map_or(0, |slice| slice.len() as _), minselectioncount, maxselectioncount, completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
168 }
169 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
170 #[inline]
171 pub unsafe fn ShowPlayerPickerUIForUser<P0>(user: P0, promptdisplaytext: &::windows::core::HSTRING, xuids: &[::windows::core::HSTRING], preselectedxuids: ::core::option::Option<&[::windows::core::HSTRING]>, minselectioncount: usize, maxselectioncount: usize, completionroutine: PlayerPickerUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
172 where
173 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
174 {
175 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-2.dll""system" fn ShowPlayerPickerUIForUser ( user : * mut::core::ffi::c_void , promptdisplaytext : ::std::mem::MaybeUninit <::windows::core::HSTRING > , xuids : *const ::std::mem::MaybeUninit <::windows::core::HSTRING > , xuidscount : usize , preselectedxuids : *const ::std::mem::MaybeUninit <::windows::core::HSTRING > , preselectedxuidscount : usize , minselectioncount : usize , maxselectioncount : usize , completionroutine : PlayerPickerUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
176 ShowPlayerPickerUIForUser(user.into_param().abi(), ::core::mem::transmute_copy(promptdisplaytext), ::core::mem::transmute(xuids.as_ptr()), xuids.len() as _, ::core::mem::transmute(preselectedxuids.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), preselectedxuids.as_deref().map_or(0, |slice| slice.len() as _), minselectioncount, maxselectioncount, completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
177 }
178 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
179 #[inline]
180 pub unsafe fn ShowProfileCardUI(targetuserxuid: &::windows::core::HSTRING, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
181 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-0.dll""system" fn ShowProfileCardUI ( targetuserxuid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
182 ShowProfileCardUI(::core::mem::transmute_copy(targetuserxuid), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
183 }
184 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
185 #[inline]
186 pub unsafe fn ShowProfileCardUIForUser<P0>(user: P0, targetuserxuid: &::windows::core::HSTRING, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
187 where
188 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
189 {
190 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-2.dll""system" fn ShowProfileCardUIForUser ( user : * mut::core::ffi::c_void , targetuserxuid : ::std::mem::MaybeUninit <::windows::core::HSTRING > , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
191 ShowProfileCardUIForUser(user.into_param().abi(), ::core::mem::transmute_copy(targetuserxuid), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
192 }
193 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
194 #[inline]
195 pub unsafe fn ShowTitleAchievementsUI(titleid: u32, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
196 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-0.dll""system" fn ShowTitleAchievementsUI ( titleid : u32 , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
197 ShowTitleAchievementsUI(titleid, completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
198 }
199 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
200 #[inline]
201 pub unsafe fn ShowTitleAchievementsUIForUser<P0>(user: P0, titleid: u32, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
202 where
203 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
204 {
205 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-2.dll""system" fn ShowTitleAchievementsUIForUser ( user : * mut::core::ffi::c_void , titleid : u32 , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
206 ShowTitleAchievementsUIForUser(user.into_param().abi(), titleid, completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
207 }
208 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
209 #[inline]
210 pub unsafe fn ShowUserSettingsUI(completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
211 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-4.dll""system" fn ShowUserSettingsUI ( completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
212 ShowUserSettingsUI(completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
213 }
214 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
215 #[inline]
216 pub unsafe fn ShowUserSettingsUIForUser<P0>(user: P0, completionroutine: GameUICompletionRoutine, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
217 where
218 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
219 {
220 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-4.dll""system" fn ShowUserSettingsUIForUser ( user : * mut::core::ffi::c_void , completionroutine : GameUICompletionRoutine , context : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
221 ShowUserSettingsUIForUser(user.into_param().abi(), completionroutine, ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
222 }
223 #[doc = "*Required features: `\"Win32_Gaming\"`, `\"Win32_Foundation\"`*"]
224 #[cfg(feature = "Win32_Foundation")]
225 #[inline]
226 pub unsafe fn TryCancelPendingGameUI() -> super::Foundation::BOOL {
227 ::windows::imp::link ! ( "api-ms-win-gaming-tcui-l1-1-0.dll""system" fn TryCancelPendingGameUI ( ) -> super::Foundation:: BOOL );
228 TryCancelPendingGameUI()
229 }
230 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
231 #[repr(transparent)]
232 pub struct IGameExplorer(::windows::core::IUnknown);
233 impl IGameExplorer {
234 pub unsafe fn AddGame<P0, P1>(&self, bstrgdfbinarypath: P0, bstrgameinstalldirectory: P1, installscope: GAME_INSTALL_SCOPE, pguidinstanceid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>
235 where
236 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
237 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
238 {
239 (::windows::core::Interface::vtable(self).AddGame)(::windows::core::Interface::as_raw(self), bstrgdfbinarypath.into_param().abi(), bstrgameinstalldirectory.into_param().abi(), installscope, pguidinstanceid).ok()
240 }
241 pub unsafe fn RemoveGame(&self, guidinstanceid: ::windows::core::GUID) -> ::windows::core::Result<()> {
242 (::windows::core::Interface::vtable(self).RemoveGame)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(guidinstanceid)).ok()
243 }
244 pub unsafe fn UpdateGame(&self, guidinstanceid: ::windows::core::GUID) -> ::windows::core::Result<()> {
245 (::windows::core::Interface::vtable(self).UpdateGame)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(guidinstanceid)).ok()
246 }
247 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
248 #[cfg(feature = "Win32_Foundation")]
249 pub unsafe fn VerifyAccess<P0>(&self, bstrgdfbinarypath: P0) -> ::windows::core::Result<super::Foundation::BOOL>
250 where
251 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
252 {
253 let mut result__ = ::windows::core::zeroed::<super::Foundation::BOOL>();
254 (::windows::core::Interface::vtable(self).VerifyAccess)(::windows::core::Interface::as_raw(self), bstrgdfbinarypath.into_param().abi(), &mut result__).from_abi(result__)
255 }
256 }
257 ::windows::imp::interface_hierarchy!(IGameExplorer, ::windows::core::IUnknown);
258 impl ::core::cmp::PartialEq for IGameExplorer {
259 fn eq(&self, other: &Self) -> bool {
260 self.0 == other.0
261 }
262 }
263 impl ::core::cmp::Eq for IGameExplorer {}
264 impl ::core::fmt::Debug for IGameExplorer {
265 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
266 f.debug_tuple("IGameExplorer").field(&self.0).finish()
267 }
268 }
269 unsafe impl ::windows::core::Interface for IGameExplorer {
270 type Vtable = IGameExplorer_Vtbl;
271 }
272 impl ::core::clone::Clone for IGameExplorer {
273 fn clone(&self) -> Self {
274 Self(self.0.clone())
275 }
276 }
277 unsafe impl ::windows::core::ComInterface for IGameExplorer {
278 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe7b2fb72_d728_49b3_a5f2_18ebf5f1349e);
279 }
280 #[repr(C)]
281 #[doc(hidden)]
282 pub struct IGameExplorer_Vtbl {
283 pub base__: ::windows::core::IUnknown_Vtbl,
284 pub AddGame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrgdfbinarypath: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrgameinstalldirectory: ::std::mem::MaybeUninit<::windows::core::BSTR>, installscope: GAME_INSTALL_SCOPE, pguidinstanceid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
285 pub RemoveGame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidinstanceid: ::windows::core::GUID) -> ::windows::core::HRESULT,
286 pub UpdateGame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidinstanceid: ::windows::core::GUID) -> ::windows::core::HRESULT,
287 #[cfg(feature = "Win32_Foundation")]
288 pub VerifyAccess: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrgdfbinarypath: ::std::mem::MaybeUninit<::windows::core::BSTR>, pfhasaccess: *mut super::Foundation::BOOL) -> ::windows::core::HRESULT,
289 #[cfg(not(feature = "Win32_Foundation"))]
290 VerifyAccess: usize,
291 }
292 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
293 #[repr(transparent)]
294 pub struct IGameExplorer2(::windows::core::IUnknown);
295 impl IGameExplorer2 {
296 pub unsafe fn InstallGame<P0, P1>(&self, binarygdfpath: P0, installdirectory: P1, installscope: GAME_INSTALL_SCOPE) -> ::windows::core::Result<()>
297 where
298 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
299 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
300 {
301 (::windows::core::Interface::vtable(self).InstallGame)(::windows::core::Interface::as_raw(self), binarygdfpath.into_param().abi(), installdirectory.into_param().abi(), installscope).ok()
302 }
303 pub unsafe fn UninstallGame<P0>(&self, binarygdfpath: P0) -> ::windows::core::Result<()>
304 where
305 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
306 {
307 (::windows::core::Interface::vtable(self).UninstallGame)(::windows::core::Interface::as_raw(self), binarygdfpath.into_param().abi()).ok()
308 }
309 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
310 #[cfg(feature = "Win32_Foundation")]
311 pub unsafe fn CheckAccess<P0>(&self, binarygdfpath: P0) -> ::windows::core::Result<super::Foundation::BOOL>
312 where
313 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
314 {
315 let mut result__ = ::windows::core::zeroed::<super::Foundation::BOOL>();
316 (::windows::core::Interface::vtable(self).CheckAccess)(::windows::core::Interface::as_raw(self), binarygdfpath.into_param().abi(), &mut result__).from_abi(result__)
317 }
318 }
319 ::windows::imp::interface_hierarchy!(IGameExplorer2, ::windows::core::IUnknown);
320 impl ::core::cmp::PartialEq for IGameExplorer2 {
321 fn eq(&self, other: &Self) -> bool {
322 self.0 == other.0
323 }
324 }
325 impl ::core::cmp::Eq for IGameExplorer2 {}
326 impl ::core::fmt::Debug for IGameExplorer2 {
327 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
328 f.debug_tuple("IGameExplorer2").field(&self.0).finish()
329 }
330 }
331 unsafe impl ::windows::core::Interface for IGameExplorer2 {
332 type Vtable = IGameExplorer2_Vtbl;
333 }
334 impl ::core::clone::Clone for IGameExplorer2 {
335 fn clone(&self) -> Self {
336 Self(self.0.clone())
337 }
338 }
339 unsafe impl ::windows::core::ComInterface for IGameExplorer2 {
340 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x86874aa7_a1ed_450d_a7eb_b89e20b2fff3);
341 }
342 #[repr(C)]
343 #[doc(hidden)]
344 pub struct IGameExplorer2_Vtbl {
345 pub base__: ::windows::core::IUnknown_Vtbl,
346 pub InstallGame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, binarygdfpath: ::windows::core::PCWSTR, installdirectory: ::windows::core::PCWSTR, installscope: GAME_INSTALL_SCOPE) -> ::windows::core::HRESULT,
347 pub UninstallGame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, binarygdfpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
348 #[cfg(feature = "Win32_Foundation")]
349 pub CheckAccess: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, binarygdfpath: ::windows::core::PCWSTR, phasaccess: *mut super::Foundation::BOOL) -> ::windows::core::HRESULT,
350 #[cfg(not(feature = "Win32_Foundation"))]
351 CheckAccess: usize,
352 }
353 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
354 #[repr(transparent)]
355 pub struct IGameStatistics(::windows::core::IUnknown);
356 impl IGameStatistics {
357 pub unsafe fn GetMaxCategoryLength(&self) -> ::windows::core::Result<u32> {
358 let mut result__ = ::windows::core::zeroed::<u32>();
359 (::windows::core::Interface::vtable(self).GetMaxCategoryLength)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
360 }
361 pub unsafe fn GetMaxNameLength(&self) -> ::windows::core::Result<u32> {
362 let mut result__ = ::windows::core::zeroed::<u32>();
363 (::windows::core::Interface::vtable(self).GetMaxNameLength)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
364 }
365 pub unsafe fn GetMaxValueLength(&self) -> ::windows::core::Result<u32> {
366 let mut result__ = ::windows::core::zeroed::<u32>();
367 (::windows::core::Interface::vtable(self).GetMaxValueLength)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
368 }
369 pub unsafe fn GetMaxCategories(&self) -> ::windows::core::Result<u16> {
370 let mut result__ = ::windows::core::zeroed::<u16>();
371 (::windows::core::Interface::vtable(self).GetMaxCategories)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
372 }
373 pub unsafe fn GetMaxStatsPerCategory(&self) -> ::windows::core::Result<u16> {
374 let mut result__ = ::windows::core::zeroed::<u16>();
375 (::windows::core::Interface::vtable(self).GetMaxStatsPerCategory)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
376 }
377 pub unsafe fn SetCategoryTitle<P0>(&self, categoryindex: u16, title: P0) -> ::windows::core::Result<()>
378 where
379 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
380 {
381 (::windows::core::Interface::vtable(self).SetCategoryTitle)(::windows::core::Interface::as_raw(self), categoryindex, title.into_param().abi()).ok()
382 }
383 pub unsafe fn GetCategoryTitle(&self, categoryindex: u16) -> ::windows::core::Result<::windows::core::PWSTR> {
384 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
385 (::windows::core::Interface::vtable(self).GetCategoryTitle)(::windows::core::Interface::as_raw(self), categoryindex, &mut result__).from_abi(result__)
386 }
387 pub unsafe fn GetStatistic(&self, categoryindex: u16, statindex: u16, pname: ::core::option::Option<*mut ::windows::core::PWSTR>, pvalue: ::core::option::Option<*mut ::windows::core::PWSTR>) -> ::windows::core::Result<()> {
388 (::windows::core::Interface::vtable(self).GetStatistic)(::windows::core::Interface::as_raw(self), categoryindex, statindex, ::core::mem::transmute(pname.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pvalue.unwrap_or(::std::ptr::null_mut()))).ok()
389 }
390 pub unsafe fn SetStatistic<P0, P1>(&self, categoryindex: u16, statindex: u16, name: P0, value: P1) -> ::windows::core::Result<()>
391 where
392 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
393 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
394 {
395 (::windows::core::Interface::vtable(self).SetStatistic)(::windows::core::Interface::as_raw(self), categoryindex, statindex, name.into_param().abi(), value.into_param().abi()).ok()
396 }
397 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
398 #[cfg(feature = "Win32_Foundation")]
399 pub unsafe fn Save<P0>(&self, trackchanges: P0) -> ::windows::core::Result<()>
400 where
401 P0: ::windows::core::IntoParam<super::Foundation::BOOL>,
402 {
403 (::windows::core::Interface::vtable(self).Save)(::windows::core::Interface::as_raw(self), trackchanges.into_param().abi()).ok()
404 }
405 pub unsafe fn SetLastPlayedCategory(&self, categoryindex: u32) -> ::windows::core::Result<()> {
406 (::windows::core::Interface::vtable(self).SetLastPlayedCategory)(::windows::core::Interface::as_raw(self), categoryindex).ok()
407 }
408 pub unsafe fn GetLastPlayedCategory(&self) -> ::windows::core::Result<u32> {
409 let mut result__ = ::windows::core::zeroed::<u32>();
410 (::windows::core::Interface::vtable(self).GetLastPlayedCategory)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
411 }
412 }
413 ::windows::imp::interface_hierarchy!(IGameStatistics, ::windows::core::IUnknown);
414 impl ::core::cmp::PartialEq for IGameStatistics {
415 fn eq(&self, other: &Self) -> bool {
416 self.0 == other.0
417 }
418 }
419 impl ::core::cmp::Eq for IGameStatistics {}
420 impl ::core::fmt::Debug for IGameStatistics {
421 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
422 f.debug_tuple("IGameStatistics").field(&self.0).finish()
423 }
424 }
425 unsafe impl ::windows::core::Interface for IGameStatistics {
426 type Vtable = IGameStatistics_Vtbl;
427 }
428 impl ::core::clone::Clone for IGameStatistics {
429 fn clone(&self) -> Self {
430 Self(self.0.clone())
431 }
432 }
433 unsafe impl ::windows::core::ComInterface for IGameStatistics {
434 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3887c9ca_04a0_42ae_bc4c_5fa6c7721145);
435 }
436 #[repr(C)]
437 #[doc(hidden)]
438 pub struct IGameStatistics_Vtbl {
439 pub base__: ::windows::core::IUnknown_Vtbl,
440 pub GetMaxCategoryLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cch: *mut u32) -> ::windows::core::HRESULT,
441 pub GetMaxNameLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cch: *mut u32) -> ::windows::core::HRESULT,
442 pub GetMaxValueLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cch: *mut u32) -> ::windows::core::HRESULT,
443 pub GetMaxCategories: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmax: *mut u16) -> ::windows::core::HRESULT,
444 pub GetMaxStatsPerCategory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmax: *mut u16) -> ::windows::core::HRESULT,
445 pub SetCategoryTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, categoryindex: u16, title: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
446 pub GetCategoryTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, categoryindex: u16, ptitle: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
447 pub GetStatistic: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, categoryindex: u16, statindex: u16, pname: *mut ::windows::core::PWSTR, pvalue: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
448 pub SetStatistic: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, categoryindex: u16, statindex: u16, name: ::windows::core::PCWSTR, value: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
449 #[cfg(feature = "Win32_Foundation")]
450 pub Save: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, trackchanges: super::Foundation::BOOL) -> ::windows::core::HRESULT,
451 #[cfg(not(feature = "Win32_Foundation"))]
452 Save: usize,
453 pub SetLastPlayedCategory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, categoryindex: u32) -> ::windows::core::HRESULT,
454 pub GetLastPlayedCategory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcategoryindex: *mut u32) -> ::windows::core::HRESULT,
455 }
456 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
457 #[repr(transparent)]
458 pub struct IGameStatisticsMgr(::windows::core::IUnknown);
459 impl IGameStatisticsMgr {
460 pub unsafe fn GetGameStatistics<P0>(&self, gdfbinarypath: P0, opentype: GAMESTATS_OPEN_TYPE, popenresult: *mut GAMESTATS_OPEN_RESULT, ppistats: *mut ::core::option::Option<IGameStatistics>) -> ::windows::core::Result<()>
461 where
462 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
463 {
464 (::windows::core::Interface::vtable(self).GetGameStatistics)(::windows::core::Interface::as_raw(self), gdfbinarypath.into_param().abi(), opentype, popenresult, ::core::mem::transmute(ppistats)).ok()
465 }
466 pub unsafe fn RemoveGameStatistics<P0>(&self, gdfbinarypath: P0) -> ::windows::core::Result<()>
467 where
468 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
469 {
470 (::windows::core::Interface::vtable(self).RemoveGameStatistics)(::windows::core::Interface::as_raw(self), gdfbinarypath.into_param().abi()).ok()
471 }
472 }
473 ::windows::imp::interface_hierarchy!(IGameStatisticsMgr, ::windows::core::IUnknown);
474 impl ::core::cmp::PartialEq for IGameStatisticsMgr {
475 fn eq(&self, other: &Self) -> bool {
476 self.0 == other.0
477 }
478 }
479 impl ::core::cmp::Eq for IGameStatisticsMgr {}
480 impl ::core::fmt::Debug for IGameStatisticsMgr {
481 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
482 f.debug_tuple("IGameStatisticsMgr").field(&self.0).finish()
483 }
484 }
485 unsafe impl ::windows::core::Interface for IGameStatisticsMgr {
486 type Vtable = IGameStatisticsMgr_Vtbl;
487 }
488 impl ::core::clone::Clone for IGameStatisticsMgr {
489 fn clone(&self) -> Self {
490 Self(self.0.clone())
491 }
492 }
493 unsafe impl ::windows::core::ComInterface for IGameStatisticsMgr {
494 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaff3ea11_e70e_407d_95dd_35e612c41ce2);
495 }
496 #[repr(C)]
497 #[doc(hidden)]
498 pub struct IGameStatisticsMgr_Vtbl {
499 pub base__: ::windows::core::IUnknown_Vtbl,
500 pub GetGameStatistics: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, gdfbinarypath: ::windows::core::PCWSTR, opentype: GAMESTATS_OPEN_TYPE, popenresult: *mut GAMESTATS_OPEN_RESULT, ppistats: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
501 pub RemoveGameStatistics: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, gdfbinarypath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
502 }
503 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
504 #[repr(transparent)]
505 pub struct IXblIdpAuthManager(::windows::core::IUnknown);
506 impl IXblIdpAuthManager {
507 pub unsafe fn SetGamerAccount<P0, P1>(&self, msaaccountid: P0, xuid: P1) -> ::windows::core::Result<()>
508 where
509 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
510 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
511 {
512 (::windows::core::Interface::vtable(self).SetGamerAccount)(::windows::core::Interface::as_raw(self), msaaccountid.into_param().abi(), xuid.into_param().abi()).ok()
513 }
514 pub unsafe fn GetGamerAccount(&self, msaaccountid: *mut ::windows::core::PWSTR, xuid: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()> {
515 (::windows::core::Interface::vtable(self).GetGamerAccount)(::windows::core::Interface::as_raw(self), msaaccountid, xuid).ok()
516 }
517 pub unsafe fn SetAppViewInitialized<P0, P1>(&self, appsid: P0, msaaccountid: P1) -> ::windows::core::Result<()>
518 where
519 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
520 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
521 {
522 (::windows::core::Interface::vtable(self).SetAppViewInitialized)(::windows::core::Interface::as_raw(self), appsid.into_param().abi(), msaaccountid.into_param().abi()).ok()
523 }
524 pub unsafe fn GetEnvironment(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
525 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
526 (::windows::core::Interface::vtable(self).GetEnvironment)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
527 }
528 pub unsafe fn GetSandbox(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
529 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
530 (::windows::core::Interface::vtable(self).GetSandbox)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
531 }
532 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
533 #[cfg(feature = "Win32_Foundation")]
534 pub unsafe fn GetTokenAndSignatureWithTokenResult<P0, P1, P2, P3, P4, P5, P6, P7>(&self, msaaccountid: P0, appsid: P1, msatarget: P2, msapolicy: P3, httpmethod: P4, uri: P5, headers: P6, body: &[u8], forcerefresh: P7) -> ::windows::core::Result<IXblIdpAuthTokenResult>
535 where
536 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
537 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
538 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
539 P3: ::windows::core::IntoParam<::windows::core::PCWSTR>,
540 P4: ::windows::core::IntoParam<::windows::core::PCWSTR>,
541 P5: ::windows::core::IntoParam<::windows::core::PCWSTR>,
542 P6: ::windows::core::IntoParam<::windows::core::PCWSTR>,
543 P7: ::windows::core::IntoParam<super::Foundation::BOOL>,
544 {
545 let mut result__ = ::windows::core::zeroed::<IXblIdpAuthTokenResult>();
546 (::windows::core::Interface::vtable(self).GetTokenAndSignatureWithTokenResult)(::windows::core::Interface::as_raw(self), msaaccountid.into_param().abi(), appsid.into_param().abi(), msatarget.into_param().abi(), msapolicy.into_param().abi(), httpmethod.into_param().abi(), uri.into_param().abi(), headers.into_param().abi(), ::core::mem::transmute(body.as_ptr()), body.len() as _, forcerefresh.into_param().abi(), &mut result__).from_abi(result__)
547 }
548 }
549 ::windows::imp::interface_hierarchy!(IXblIdpAuthManager, ::windows::core::IUnknown);
550 impl ::core::cmp::PartialEq for IXblIdpAuthManager {
551 fn eq(&self, other: &Self) -> bool {
552 self.0 == other.0
553 }
554 }
555 impl ::core::cmp::Eq for IXblIdpAuthManager {}
556 impl ::core::fmt::Debug for IXblIdpAuthManager {
557 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
558 f.debug_tuple("IXblIdpAuthManager").field(&self.0).finish()
559 }
560 }
561 unsafe impl ::windows::core::Interface for IXblIdpAuthManager {
562 type Vtable = IXblIdpAuthManager_Vtbl;
563 }
564 impl ::core::clone::Clone for IXblIdpAuthManager {
565 fn clone(&self) -> Self {
566 Self(self.0.clone())
567 }
568 }
569 unsafe impl ::windows::core::ComInterface for IXblIdpAuthManager {
570 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xeb5ddb08_8bbf_449b_ac21_b02ddeb3b136);
571 }
572 #[repr(C)]
573 #[doc(hidden)]
574 pub struct IXblIdpAuthManager_Vtbl {
575 pub base__: ::windows::core::IUnknown_Vtbl,
576 pub SetGamerAccount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, msaaccountid: ::windows::core::PCWSTR, xuid: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
577 pub GetGamerAccount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, msaaccountid: *mut ::windows::core::PWSTR, xuid: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
578 pub SetAppViewInitialized: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, appsid: ::windows::core::PCWSTR, msaaccountid: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
579 pub GetEnvironment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, environment: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
580 pub GetSandbox: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sandbox: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
581 #[cfg(feature = "Win32_Foundation")]
582 pub GetTokenAndSignatureWithTokenResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, msaaccountid: ::windows::core::PCWSTR, appsid: ::windows::core::PCWSTR, msatarget: ::windows::core::PCWSTR, msapolicy: ::windows::core::PCWSTR, httpmethod: ::windows::core::PCWSTR, uri: ::windows::core::PCWSTR, headers: ::windows::core::PCWSTR, body: *const u8, bodysize: u32, forcerefresh: super::Foundation::BOOL, result: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
583 #[cfg(not(feature = "Win32_Foundation"))]
584 GetTokenAndSignatureWithTokenResult: usize,
585 }
586 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
587 #[repr(transparent)]
588 pub struct IXblIdpAuthTokenResult(::windows::core::IUnknown);
589 impl IXblIdpAuthTokenResult {
590 pub unsafe fn GetStatus(&self) -> ::windows::core::Result<XBL_IDP_AUTH_TOKEN_STATUS> {
591 let mut result__ = ::windows::core::zeroed::<XBL_IDP_AUTH_TOKEN_STATUS>();
592 (::windows::core::Interface::vtable(self).GetStatus)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
593 }
594 pub unsafe fn GetErrorCode(&self) -> ::windows::core::Result<::windows::core::HRESULT> {
595 let mut result__ = ::windows::core::zeroed::<::windows::core::HRESULT>();
596 (::windows::core::Interface::vtable(self).GetErrorCode)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
597 }
598 pub unsafe fn GetToken(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
599 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
600 (::windows::core::Interface::vtable(self).GetToken)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
601 }
602 pub unsafe fn GetSignature(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
603 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
604 (::windows::core::Interface::vtable(self).GetSignature)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
605 }
606 pub unsafe fn GetSandbox(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
607 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
608 (::windows::core::Interface::vtable(self).GetSandbox)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
609 }
610 pub unsafe fn GetEnvironment(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
611 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
612 (::windows::core::Interface::vtable(self).GetEnvironment)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
613 }
614 pub unsafe fn GetMsaAccountId(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
615 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
616 (::windows::core::Interface::vtable(self).GetMsaAccountId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
617 }
618 pub unsafe fn GetXuid(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
619 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
620 (::windows::core::Interface::vtable(self).GetXuid)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
621 }
622 pub unsafe fn GetGamertag(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
623 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
624 (::windows::core::Interface::vtable(self).GetGamertag)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
625 }
626 pub unsafe fn GetAgeGroup(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
627 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
628 (::windows::core::Interface::vtable(self).GetAgeGroup)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
629 }
630 pub unsafe fn GetPrivileges(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
631 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
632 (::windows::core::Interface::vtable(self).GetPrivileges)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
633 }
634 pub unsafe fn GetMsaTarget(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
635 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
636 (::windows::core::Interface::vtable(self).GetMsaTarget)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
637 }
638 pub unsafe fn GetMsaPolicy(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
639 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
640 (::windows::core::Interface::vtable(self).GetMsaPolicy)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
641 }
642 pub unsafe fn GetMsaAppId(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
643 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
644 (::windows::core::Interface::vtable(self).GetMsaAppId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
645 }
646 pub unsafe fn GetRedirect(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
647 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
648 (::windows::core::Interface::vtable(self).GetRedirect)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
649 }
650 pub unsafe fn GetMessage(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
651 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
652 (::windows::core::Interface::vtable(self).GetMessage)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
653 }
654 pub unsafe fn GetHelpId(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
655 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
656 (::windows::core::Interface::vtable(self).GetHelpId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
657 }
658 pub unsafe fn GetEnforcementBans(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
659 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
660 (::windows::core::Interface::vtable(self).GetEnforcementBans)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
661 }
662 pub unsafe fn GetRestrictions(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
663 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
664 (::windows::core::Interface::vtable(self).GetRestrictions)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
665 }
666 pub unsafe fn GetTitleRestrictions(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
667 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
668 (::windows::core::Interface::vtable(self).GetTitleRestrictions)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
669 }
670 }
671 ::windows::imp::interface_hierarchy!(IXblIdpAuthTokenResult, ::windows::core::IUnknown);
672 impl ::core::cmp::PartialEq for IXblIdpAuthTokenResult {
673 fn eq(&self, other: &Self) -> bool {
674 self.0 == other.0
675 }
676 }
677 impl ::core::cmp::Eq for IXblIdpAuthTokenResult {}
678 impl ::core::fmt::Debug for IXblIdpAuthTokenResult {
679 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
680 f.debug_tuple("IXblIdpAuthTokenResult").field(&self.0).finish()
681 }
682 }
683 unsafe impl ::windows::core::Interface for IXblIdpAuthTokenResult {
684 type Vtable = IXblIdpAuthTokenResult_Vtbl;
685 }
686 impl ::core::clone::Clone for IXblIdpAuthTokenResult {
687 fn clone(&self) -> Self {
688 Self(self.0.clone())
689 }
690 }
691 unsafe impl ::windows::core::ComInterface for IXblIdpAuthTokenResult {
692 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x46ce0225_f267_4d68_b299_b2762552dec1);
693 }
694 #[repr(C)]
695 #[doc(hidden)]
696 pub struct IXblIdpAuthTokenResult_Vtbl {
697 pub base__: ::windows::core::IUnknown_Vtbl,
698 pub GetStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, status: *mut XBL_IDP_AUTH_TOKEN_STATUS) -> ::windows::core::HRESULT,
699 pub GetErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, errorcode: *mut ::windows::core::HRESULT) -> ::windows::core::HRESULT,
700 pub GetToken: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
701 pub GetSignature: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, signature: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
702 pub GetSandbox: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sandbox: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
703 pub GetEnvironment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, environment: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
704 pub GetMsaAccountId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, msaaccountid: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
705 pub GetXuid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, xuid: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
706 pub GetGamertag: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, gamertag: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
707 pub GetAgeGroup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, agegroup: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
708 pub GetPrivileges: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, privileges: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
709 pub GetMsaTarget: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, msatarget: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
710 pub GetMsaPolicy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, msapolicy: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
711 pub GetMsaAppId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, msaappid: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
712 pub GetRedirect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, redirect: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
713 pub GetMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, message: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
714 pub GetHelpId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, helpid: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
715 pub GetEnforcementBans: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enforcementbans: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
716 pub GetRestrictions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, restrictions: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
717 pub GetTitleRestrictions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, titlerestrictions: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
718 }
719 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
720 #[repr(transparent)]
721 pub struct IXblIdpAuthTokenResult2(::windows::core::IUnknown);
722 impl IXblIdpAuthTokenResult2 {
723 pub unsafe fn GetModernGamertag(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
724 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
725 (::windows::core::Interface::vtable(self).GetModernGamertag)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
726 }
727 pub unsafe fn GetModernGamertagSuffix(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
728 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
729 (::windows::core::Interface::vtable(self).GetModernGamertagSuffix)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
730 }
731 pub unsafe fn GetUniqueModernGamertag(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
732 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
733 (::windows::core::Interface::vtable(self).GetUniqueModernGamertag)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
734 }
735 }
736 ::windows::imp::interface_hierarchy!(IXblIdpAuthTokenResult2, ::windows::core::IUnknown);
737 impl ::core::cmp::PartialEq for IXblIdpAuthTokenResult2 {
738 fn eq(&self, other: &Self) -> bool {
739 self.0 == other.0
740 }
741 }
742 impl ::core::cmp::Eq for IXblIdpAuthTokenResult2 {}
743 impl ::core::fmt::Debug for IXblIdpAuthTokenResult2 {
744 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
745 f.debug_tuple("IXblIdpAuthTokenResult2").field(&self.0).finish()
746 }
747 }
748 unsafe impl ::windows::core::Interface for IXblIdpAuthTokenResult2 {
749 type Vtable = IXblIdpAuthTokenResult2_Vtbl;
750 }
751 impl ::core::clone::Clone for IXblIdpAuthTokenResult2 {
752 fn clone(&self) -> Self {
753 Self(self.0.clone())
754 }
755 }
756 unsafe impl ::windows::core::ComInterface for IXblIdpAuthTokenResult2 {
757 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x75d760b0_60b9_412d_994f_26b2cd5f7812);
758 }
759 #[repr(C)]
760 #[doc(hidden)]
761 pub struct IXblIdpAuthTokenResult2_Vtbl {
762 pub base__: ::windows::core::IUnknown_Vtbl,
763 pub GetModernGamertag: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
764 pub GetModernGamertagSuffix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
765 pub GetUniqueModernGamertag: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
766 }
767 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
768 pub const GameExplorer: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9a5ea990_3034_4d6f_9128_01f3c61022bc);
769 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
770 pub const GameStatistics: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xdbc85a2c_c0dc_4961_b6e2_d28b62c11ad4);
771 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
772 pub const ID_GDF_THUMBNAIL_STR: ::windows::core::PCWSTR = ::windows::w!("__GDF_THUMBNAIL");
773 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
774 pub const ID_GDF_XML_STR: ::windows::core::PCWSTR = ::windows::w!("__GDF_XML");
775 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
776 pub const XblIdpAuthManager: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xce23534b_56d8_4978_86a2_7ee570640468);
777 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
778 pub const XblIdpAuthTokenResult: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9f493441_744a_410c_ae2b_9a22f7c7731f);
779 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
780 #[repr(transparent)]
781 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
782 pub struct GAMESTATS_OPEN_RESULT(pub i32);
783 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
784 pub const GAMESTATS_OPEN_CREATED: GAMESTATS_OPEN_RESULT = GAMESTATS_OPEN_RESULT(0i32);
785 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
786 pub const GAMESTATS_OPEN_OPENED: GAMESTATS_OPEN_RESULT = GAMESTATS_OPEN_RESULT(1i32);
787 impl ::core::marker::Copy for GAMESTATS_OPEN_RESULT {}
788 impl ::core::clone::Clone for GAMESTATS_OPEN_RESULT {
789 fn clone(&self) -> Self {
790 *self
791 }
792 }
793 impl ::core::default::Default for GAMESTATS_OPEN_RESULT {
794 fn default() -> Self {
795 Self(0)
796 }
797 }
798 impl ::windows::core::TypeKind for GAMESTATS_OPEN_RESULT {
799 type TypeKind = ::windows::core::CopyType;
800 }
801 impl ::core::fmt::Debug for GAMESTATS_OPEN_RESULT {
802 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
803 f.debug_tuple("GAMESTATS_OPEN_RESULT").field(&self.0).finish()
804 }
805 }
806 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
807 #[repr(transparent)]
808 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
809 pub struct GAMESTATS_OPEN_TYPE(pub i32);
810 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
811 pub const GAMESTATS_OPEN_OPENORCREATE: GAMESTATS_OPEN_TYPE = GAMESTATS_OPEN_TYPE(0i32);
812 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
813 pub const GAMESTATS_OPEN_OPENONLY: GAMESTATS_OPEN_TYPE = GAMESTATS_OPEN_TYPE(1i32);
814 impl ::core::marker::Copy for GAMESTATS_OPEN_TYPE {}
815 impl ::core::clone::Clone for GAMESTATS_OPEN_TYPE {
816 fn clone(&self) -> Self {
817 *self
818 }
819 }
820 impl ::core::default::Default for GAMESTATS_OPEN_TYPE {
821 fn default() -> Self {
822 Self(0)
823 }
824 }
825 impl ::windows::core::TypeKind for GAMESTATS_OPEN_TYPE {
826 type TypeKind = ::windows::core::CopyType;
827 }
828 impl ::core::fmt::Debug for GAMESTATS_OPEN_TYPE {
829 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
830 f.debug_tuple("GAMESTATS_OPEN_TYPE").field(&self.0).finish()
831 }
832 }
833 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
834 #[repr(transparent)]
835 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
836 pub struct GAME_INSTALL_SCOPE(pub i32);
837 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
838 pub const GIS_NOT_INSTALLED: GAME_INSTALL_SCOPE = GAME_INSTALL_SCOPE(1i32);
839 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
840 pub const GIS_CURRENT_USER: GAME_INSTALL_SCOPE = GAME_INSTALL_SCOPE(2i32);
841 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
842 pub const GIS_ALL_USERS: GAME_INSTALL_SCOPE = GAME_INSTALL_SCOPE(3i32);
843 impl ::core::marker::Copy for GAME_INSTALL_SCOPE {}
844 impl ::core::clone::Clone for GAME_INSTALL_SCOPE {
845 fn clone(&self) -> Self {
846 *self
847 }
848 }
849 impl ::core::default::Default for GAME_INSTALL_SCOPE {
850 fn default() -> Self {
851 Self(0)
852 }
853 }
854 impl ::windows::core::TypeKind for GAME_INSTALL_SCOPE {
855 type TypeKind = ::windows::core::CopyType;
856 }
857 impl ::core::fmt::Debug for GAME_INSTALL_SCOPE {
858 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
859 f.debug_tuple("GAME_INSTALL_SCOPE").field(&self.0).finish()
860 }
861 }
862 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
863 #[repr(transparent)]
864 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
865 pub struct GAMING_DEVICE_DEVICE_ID(pub i32);
866 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
867 pub const GAMING_DEVICE_DEVICE_ID_NONE: GAMING_DEVICE_DEVICE_ID = GAMING_DEVICE_DEVICE_ID(0i32);
868 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
869 pub const GAMING_DEVICE_DEVICE_ID_XBOX_ONE: GAMING_DEVICE_DEVICE_ID = GAMING_DEVICE_DEVICE_ID(1988865574i32);
870 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
871 pub const GAMING_DEVICE_DEVICE_ID_XBOX_ONE_S: GAMING_DEVICE_DEVICE_ID = GAMING_DEVICE_DEVICE_ID(712204761i32);
872 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
873 pub const GAMING_DEVICE_DEVICE_ID_XBOX_ONE_X: GAMING_DEVICE_DEVICE_ID = GAMING_DEVICE_DEVICE_ID(1523980231i32);
874 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
875 pub const GAMING_DEVICE_DEVICE_ID_XBOX_ONE_X_DEVKIT: GAMING_DEVICE_DEVICE_ID = GAMING_DEVICE_DEVICE_ID(284675555i32);
876 impl ::core::marker::Copy for GAMING_DEVICE_DEVICE_ID {}
877 impl ::core::clone::Clone for GAMING_DEVICE_DEVICE_ID {
878 fn clone(&self) -> Self {
879 *self
880 }
881 }
882 impl ::core::default::Default for GAMING_DEVICE_DEVICE_ID {
883 fn default() -> Self {
884 Self(0)
885 }
886 }
887 impl ::windows::core::TypeKind for GAMING_DEVICE_DEVICE_ID {
888 type TypeKind = ::windows::core::CopyType;
889 }
890 impl ::core::fmt::Debug for GAMING_DEVICE_DEVICE_ID {
891 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
892 f.debug_tuple("GAMING_DEVICE_DEVICE_ID").field(&self.0).finish()
893 }
894 }
895 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
896 #[repr(transparent)]
897 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
898 pub struct GAMING_DEVICE_VENDOR_ID(pub i32);
899 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
900 pub const GAMING_DEVICE_VENDOR_ID_NONE: GAMING_DEVICE_VENDOR_ID = GAMING_DEVICE_VENDOR_ID(0i32);
901 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
902 pub const GAMING_DEVICE_VENDOR_ID_MICROSOFT: GAMING_DEVICE_VENDOR_ID = GAMING_DEVICE_VENDOR_ID(-1024700366i32);
903 impl ::core::marker::Copy for GAMING_DEVICE_VENDOR_ID {}
904 impl ::core::clone::Clone for GAMING_DEVICE_VENDOR_ID {
905 fn clone(&self) -> Self {
906 *self
907 }
908 }
909 impl ::core::default::Default for GAMING_DEVICE_VENDOR_ID {
910 fn default() -> Self {
911 Self(0)
912 }
913 }
914 impl ::windows::core::TypeKind for GAMING_DEVICE_VENDOR_ID {
915 type TypeKind = ::windows::core::CopyType;
916 }
917 impl ::core::fmt::Debug for GAMING_DEVICE_VENDOR_ID {
918 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
919 f.debug_tuple("GAMING_DEVICE_VENDOR_ID").field(&self.0).finish()
920 }
921 }
922 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
923 #[repr(transparent)]
924 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
925 pub struct KnownGamingPrivileges(pub i32);
926 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
927 pub const XPRIVILEGE_BROADCAST: KnownGamingPrivileges = KnownGamingPrivileges(190i32);
928 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
929 pub const XPRIVILEGE_VIEW_FRIENDS_LIST: KnownGamingPrivileges = KnownGamingPrivileges(197i32);
930 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
931 pub const XPRIVILEGE_GAME_DVR: KnownGamingPrivileges = KnownGamingPrivileges(198i32);
932 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
933 pub const XPRIVILEGE_SHARE_KINECT_CONTENT: KnownGamingPrivileges = KnownGamingPrivileges(199i32);
934 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
935 pub const XPRIVILEGE_MULTIPLAYER_PARTIES: KnownGamingPrivileges = KnownGamingPrivileges(203i32);
936 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
937 pub const XPRIVILEGE_COMMUNICATION_VOICE_INGAME: KnownGamingPrivileges = KnownGamingPrivileges(205i32);
938 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
939 pub const XPRIVILEGE_COMMUNICATION_VOICE_SKYPE: KnownGamingPrivileges = KnownGamingPrivileges(206i32);
940 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
941 pub const XPRIVILEGE_CLOUD_GAMING_MANAGE_SESSION: KnownGamingPrivileges = KnownGamingPrivileges(207i32);
942 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
943 pub const XPRIVILEGE_CLOUD_GAMING_JOIN_SESSION: KnownGamingPrivileges = KnownGamingPrivileges(208i32);
944 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
945 pub const XPRIVILEGE_CLOUD_SAVED_GAMES: KnownGamingPrivileges = KnownGamingPrivileges(209i32);
946 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
947 pub const XPRIVILEGE_SHARE_CONTENT: KnownGamingPrivileges = KnownGamingPrivileges(211i32);
948 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
949 pub const XPRIVILEGE_PREMIUM_CONTENT: KnownGamingPrivileges = KnownGamingPrivileges(214i32);
950 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
951 pub const XPRIVILEGE_SUBSCRIPTION_CONTENT: KnownGamingPrivileges = KnownGamingPrivileges(219i32);
952 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
953 pub const XPRIVILEGE_SOCIAL_NETWORK_SHARING: KnownGamingPrivileges = KnownGamingPrivileges(220i32);
954 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
955 pub const XPRIVILEGE_PREMIUM_VIDEO: KnownGamingPrivileges = KnownGamingPrivileges(224i32);
956 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
957 pub const XPRIVILEGE_VIDEO_COMMUNICATIONS: KnownGamingPrivileges = KnownGamingPrivileges(235i32);
958 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
959 pub const XPRIVILEGE_PURCHASE_CONTENT: KnownGamingPrivileges = KnownGamingPrivileges(245i32);
960 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
961 pub const XPRIVILEGE_USER_CREATED_CONTENT: KnownGamingPrivileges = KnownGamingPrivileges(247i32);
962 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
963 pub const XPRIVILEGE_PROFILE_VIEWING: KnownGamingPrivileges = KnownGamingPrivileges(249i32);
964 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
965 pub const XPRIVILEGE_COMMUNICATIONS: KnownGamingPrivileges = KnownGamingPrivileges(252i32);
966 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
967 pub const XPRIVILEGE_MULTIPLAYER_SESSIONS: KnownGamingPrivileges = KnownGamingPrivileges(254i32);
968 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
969 pub const XPRIVILEGE_ADD_FRIEND: KnownGamingPrivileges = KnownGamingPrivileges(255i32);
970 impl ::core::marker::Copy for KnownGamingPrivileges {}
971 impl ::core::clone::Clone for KnownGamingPrivileges {
972 fn clone(&self) -> Self {
973 *self
974 }
975 }
976 impl ::core::default::Default for KnownGamingPrivileges {
977 fn default() -> Self {
978 Self(0)
979 }
980 }
981 impl ::windows::core::TypeKind for KnownGamingPrivileges {
982 type TypeKind = ::windows::core::CopyType;
983 }
984 impl ::core::fmt::Debug for KnownGamingPrivileges {
985 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
986 f.debug_tuple("KnownGamingPrivileges").field(&self.0).finish()
987 }
988 }
989 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
990 #[repr(transparent)]
991 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
992 pub struct XBL_IDP_AUTH_TOKEN_STATUS(pub i32);
993 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
994 pub const XBL_IDP_AUTH_TOKEN_STATUS_SUCCESS: XBL_IDP_AUTH_TOKEN_STATUS = XBL_IDP_AUTH_TOKEN_STATUS(0i32);
995 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
996 pub const XBL_IDP_AUTH_TOKEN_STATUS_OFFLINE_SUCCESS: XBL_IDP_AUTH_TOKEN_STATUS = XBL_IDP_AUTH_TOKEN_STATUS(1i32);
997 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
998 pub const XBL_IDP_AUTH_TOKEN_STATUS_NO_ACCOUNT_SET: XBL_IDP_AUTH_TOKEN_STATUS = XBL_IDP_AUTH_TOKEN_STATUS(2i32);
999 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
1000 pub const XBL_IDP_AUTH_TOKEN_STATUS_LOAD_MSA_ACCOUNT_FAILED: XBL_IDP_AUTH_TOKEN_STATUS = XBL_IDP_AUTH_TOKEN_STATUS(3i32);
1001 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
1002 pub const XBL_IDP_AUTH_TOKEN_STATUS_XBOX_VETO: XBL_IDP_AUTH_TOKEN_STATUS = XBL_IDP_AUTH_TOKEN_STATUS(4i32);
1003 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
1004 pub const XBL_IDP_AUTH_TOKEN_STATUS_MSA_INTERRUPT: XBL_IDP_AUTH_TOKEN_STATUS = XBL_IDP_AUTH_TOKEN_STATUS(5i32);
1005 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
1006 pub const XBL_IDP_AUTH_TOKEN_STATUS_OFFLINE_NO_CONSENT: XBL_IDP_AUTH_TOKEN_STATUS = XBL_IDP_AUTH_TOKEN_STATUS(6i32);
1007 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
1008 pub const XBL_IDP_AUTH_TOKEN_STATUS_VIEW_NOT_SET: XBL_IDP_AUTH_TOKEN_STATUS = XBL_IDP_AUTH_TOKEN_STATUS(7i32);
1009 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
1010 pub const XBL_IDP_AUTH_TOKEN_STATUS_UNKNOWN: XBL_IDP_AUTH_TOKEN_STATUS = XBL_IDP_AUTH_TOKEN_STATUS(-1i32);
1011 impl ::core::marker::Copy for XBL_IDP_AUTH_TOKEN_STATUS {}
1012 impl ::core::clone::Clone for XBL_IDP_AUTH_TOKEN_STATUS {
1013 fn clone(&self) -> Self {
1014 *self
1015 }
1016 }
1017 impl ::core::default::Default for XBL_IDP_AUTH_TOKEN_STATUS {
1018 fn default() -> Self {
1019 Self(0)
1020 }
1021 }
1022 impl ::windows::core::TypeKind for XBL_IDP_AUTH_TOKEN_STATUS {
1023 type TypeKind = ::windows::core::CopyType;
1024 }
1025 impl ::core::fmt::Debug for XBL_IDP_AUTH_TOKEN_STATUS {
1026 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1027 f.debug_tuple("XBL_IDP_AUTH_TOKEN_STATUS").field(&self.0).finish()
1028 }
1029 }
1030 #[repr(C)]
1031 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
1032 pub struct GAMING_DEVICE_MODEL_INFORMATION {
1033 pub vendorId: GAMING_DEVICE_VENDOR_ID,
1034 pub deviceId: GAMING_DEVICE_DEVICE_ID,
1035 }
1036 impl ::core::marker::Copy for GAMING_DEVICE_MODEL_INFORMATION {}
1037 impl ::core::clone::Clone for GAMING_DEVICE_MODEL_INFORMATION {
1038 fn clone(&self) -> Self {
1039 *self
1040 }
1041 }
1042 impl ::core::fmt::Debug for GAMING_DEVICE_MODEL_INFORMATION {
1043 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1044 f.debug_struct("GAMING_DEVICE_MODEL_INFORMATION").field("vendorId", &self.vendorId).field("deviceId", &self.deviceId).finish()
1045 }
1046 }
1047 impl ::windows::core::TypeKind for GAMING_DEVICE_MODEL_INFORMATION {
1048 type TypeKind = ::windows::core::CopyType;
1049 }
1050 impl ::core::cmp::PartialEq for GAMING_DEVICE_MODEL_INFORMATION {
1051 fn eq(&self, other: &Self) -> bool {
1052 self.vendorId == other.vendorId && self.deviceId == other.deviceId
1053 }
1054 }
1055 impl ::core::cmp::Eq for GAMING_DEVICE_MODEL_INFORMATION {}
1056 impl ::core::default::Default for GAMING_DEVICE_MODEL_INFORMATION {
1057 fn default() -> Self {
1058 unsafe { ::core::mem::zeroed() }
1059 }
1060 }
1061 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
1062 pub type GameUICompletionRoutine = ::core::option::Option<unsafe extern "system" fn(returncode: ::windows::core::HRESULT, context: *const ::core::ffi::c_void) -> ()>;
1063 #[doc = "*Required features: `\"Win32_Gaming\"`*"]
1064 pub type PlayerPickerUICompletionRoutine = ::core::option::Option<unsafe extern "system" fn(returncode: ::windows::core::HRESULT, context: *const ::core::ffi::c_void, selectedxuids: *const ::windows::core::HSTRING, selectedxuidscount: usize) -> ()>;
1065 #[cfg(feature = "implement")]
1066 ::core::include!("impl.rs");