1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
4 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
5 #[cfg(feature = "Win32_Foundation")]
6 pub fn FreeInterfaceContextTable(interfacecontexttable
: *const NET_INTERFACE_CONTEXT_TABLE
);
7 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
8 #[cfg(feature = "Win32_Foundation")]
9 pub fn GetInterfaceContextTableForHostName(hostname
: ::windows_sys
::core
::PCWSTR
, proxyname
: ::windows_sys
::core
::PCWSTR
, flags
: u32, connectionprofilefilterrawdata
: *const u8, connectionprofilefilterrawdatasize
: u32, interfacecontexttable
: *mut *mut NET_INTERFACE_CONTEXT_TABLE
) -> ::windows_sys
::core
::HRESULT
;
10 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
11 pub fn OnDemandGetRoutingHint(destinationhostname
: ::windows_sys
::core
::PCWSTR
, interfaceindex
: *mut u32) -> ::windows_sys
::core
::HRESULT
;
12 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
13 #[cfg(feature = "Win32_Foundation")]
14 pub fn OnDemandRegisterNotification(callback
: ONDEMAND_NOTIFICATION_CALLBACK
, callbackcontext
: *const ::core
::ffi
::c_void
, registrationhandle
: *mut super::super::Foundation
::HANDLE
) -> ::windows_sys
::core
::HRESULT
;
15 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
16 #[cfg(feature = "Win32_Foundation")]
17 pub fn OnDemandUnRegisterNotification(registrationhandle
: super::super::Foundation
::HANDLE
) -> ::windows_sys
::core
::HRESULT
;
18 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
19 pub fn WcmFreeMemory(pmemory
: *mut ::core
::ffi
::c_void
);
20 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
21 pub fn WcmGetProfileList(preserved
: *mut ::core
::ffi
::c_void
, ppprofilelist
: *mut *mut WCM_PROFILE_INFO_LIST
) -> u32;
22 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
23 pub fn WcmQueryProperty(pinterface
: *const ::windows_sys
::core
::GUID
, strprofilename
: ::windows_sys
::core
::PCWSTR
, property
: WCM_PROPERTY
, preserved
: *mut ::core
::ffi
::c_void
, pdwdatasize
: *mut u32, ppdata
: *mut *mut u8) -> u32;
24 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
25 #[cfg(feature = "Win32_Foundation")]
26 pub fn WcmSetProfileList(pprofilelist
: *const WCM_PROFILE_INFO_LIST
, dwposition
: u32, fignoreunknownprofiles
: super::super::Foundation
::BOOL
, preserved
: *mut ::core
::ffi
::c_void
) -> u32;
27 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
28 pub fn WcmSetProperty(pinterface
: *const ::windows_sys
::core
::GUID
, strprofilename
: ::windows_sys
::core
::PCWSTR
, property
: WCM_PROPERTY
, preserved
: *mut ::core
::ffi
::c_void
, dwdatasize
: u32, pbdata
: *const u8) -> u32;
31 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
32 pub struct NET_INTERFACE_CONTEXT
{
33 pub InterfaceIndex
: u32,
34 pub ConfigurationName
: ::windows_sys
::core
::PWSTR
,
36 impl ::core
::marker
::Copy
for NET_INTERFACE_CONTEXT {}
37 impl ::core
::clone
::Clone
for NET_INTERFACE_CONTEXT
{
38 fn clone(&self) -> Self {
43 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
44 #[cfg(feature = "Win32_Foundation")]
45 pub struct NET_INTERFACE_CONTEXT_TABLE
{
46 pub InterfaceContextHandle
: super::super::Foundation
::HANDLE
,
47 pub NumberOfEntries
: u32,
48 pub InterfaceContextArray
: *mut NET_INTERFACE_CONTEXT
,
50 #[cfg(feature = "Win32_Foundation")]
51 impl ::core
::marker
::Copy
for NET_INTERFACE_CONTEXT_TABLE {}
52 #[cfg(feature = "Win32_Foundation")]
53 impl ::core
::clone
::Clone
for NET_INTERFACE_CONTEXT_TABLE
{
54 fn clone(&self) -> Self {
58 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
59 pub const NET_INTERFACE_FLAG_CONNECT_IF_NEEDED
: u32 = 1u32;
60 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
61 pub const NET_INTERFACE_FLAG_NONE
: u32 = 0u32;
62 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
63 pub type ONDEMAND_NOTIFICATION_CALLBACK
= ::core
::option
::Option
<unsafe extern "system" fn(param0
: *const ::core
::ffi
::c_void
)>;
64 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
65 pub const WCM_API_VERSION
: u32 = 1u32;
66 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
67 pub const WCM_API_VERSION_1_0
: u32 = 1u32;
69 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
70 #[cfg(feature = "Win32_Foundation")]
71 pub struct WCM_BILLING_CYCLE_INFO
{
72 pub StartDate
: super::super::Foundation
::FILETIME
,
73 pub Duration
: WCM_TIME_INTERVAL
,
74 pub Reset
: super::super::Foundation
::BOOL
,
76 #[cfg(feature = "Win32_Foundation")]
77 impl ::core
::marker
::Copy
for WCM_BILLING_CYCLE_INFO {}
78 #[cfg(feature = "Win32_Foundation")]
79 impl ::core
::clone
::Clone
for WCM_BILLING_CYCLE_INFO
{
80 fn clone(&self) -> Self {
84 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
85 pub type WCM_CONNECTION_COST
= i32;
86 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
87 pub const WCM_CONNECTION_COST_UNKNOWN
: WCM_CONNECTION_COST
= 0i32;
88 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
89 pub const WCM_CONNECTION_COST_UNRESTRICTED
: WCM_CONNECTION_COST
= 1i32;
90 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
91 pub const WCM_CONNECTION_COST_FIXED
: WCM_CONNECTION_COST
= 2i32;
92 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
93 pub const WCM_CONNECTION_COST_VARIABLE
: WCM_CONNECTION_COST
= 4i32;
94 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
95 pub const WCM_CONNECTION_COST_OVERDATALIMIT
: WCM_CONNECTION_COST
= 65536i32;
96 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
97 pub const WCM_CONNECTION_COST_CONGESTED
: WCM_CONNECTION_COST
= 131072i32;
98 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
99 pub const WCM_CONNECTION_COST_ROAMING
: WCM_CONNECTION_COST
= 262144i32;
100 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
101 pub const WCM_CONNECTION_COST_APPROACHINGDATALIMIT
: WCM_CONNECTION_COST
= 524288i32;
103 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
104 pub struct WCM_CONNECTION_COST_DATA
{
105 pub ConnectionCost
: u32,
106 pub CostSource
: WCM_CONNECTION_COST_SOURCE
,
108 impl ::core
::marker
::Copy
for WCM_CONNECTION_COST_DATA {}
109 impl ::core
::clone
::Clone
for WCM_CONNECTION_COST_DATA
{
110 fn clone(&self) -> Self {
114 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
115 pub type WCM_CONNECTION_COST_SOURCE
= i32;
116 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
117 pub const WCM_CONNECTION_COST_SOURCE_DEFAULT
: WCM_CONNECTION_COST_SOURCE
= 0i32;
118 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
119 pub const WCM_CONNECTION_COST_SOURCE_GP
: WCM_CONNECTION_COST_SOURCE
= 1i32;
120 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
121 pub const WCM_CONNECTION_COST_SOURCE_USER
: WCM_CONNECTION_COST_SOURCE
= 2i32;
122 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
123 pub const WCM_CONNECTION_COST_SOURCE_OPERATOR
: WCM_CONNECTION_COST_SOURCE
= 3i32;
125 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
126 #[cfg(feature = "Win32_Foundation")]
127 pub struct WCM_DATAPLAN_STATUS
{
128 pub UsageData
: WCM_USAGE_DATA
,
129 pub DataLimitInMegabytes
: u32,
130 pub InboundBandwidthInKbps
: u32,
131 pub OutboundBandwidthInKbps
: u32,
132 pub BillingCycle
: WCM_BILLING_CYCLE_INFO
,
133 pub MaxTransferSizeInMegabytes
: u32,
136 #[cfg(feature = "Win32_Foundation")]
137 impl ::core
::marker
::Copy
for WCM_DATAPLAN_STATUS {}
138 #[cfg(feature = "Win32_Foundation")]
139 impl ::core
::clone
::Clone
for WCM_DATAPLAN_STATUS
{
140 fn clone(&self) -> Self {
144 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
145 pub const WCM_MAX_PROFILE_NAME
: u32 = 256u32;
146 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
147 pub type WCM_MEDIA_TYPE
= i32;
148 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
149 pub const wcm_media_unknown
: WCM_MEDIA_TYPE
= 0i32;
150 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
151 pub const wcm_media_ethernet
: WCM_MEDIA_TYPE
= 1i32;
152 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
153 pub const wcm_media_wlan
: WCM_MEDIA_TYPE
= 2i32;
154 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
155 pub const wcm_media_mbn
: WCM_MEDIA_TYPE
= 3i32;
156 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
157 pub const wcm_media_invalid
: WCM_MEDIA_TYPE
= 4i32;
158 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
159 pub const wcm_media_max
: WCM_MEDIA_TYPE
= 5i32;
161 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
162 #[cfg(feature = "Win32_Foundation")]
163 pub struct WCM_POLICY_VALUE
{
164 pub fValue
: super::super::Foundation
::BOOL
,
165 pub fIsGroupPolicy
: super::super::Foundation
::BOOL
,
167 #[cfg(feature = "Win32_Foundation")]
168 impl ::core
::marker
::Copy
for WCM_POLICY_VALUE {}
169 #[cfg(feature = "Win32_Foundation")]
170 impl ::core
::clone
::Clone
for WCM_POLICY_VALUE
{
171 fn clone(&self) -> Self {
176 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
177 pub struct WCM_PROFILE_INFO
{
178 pub strProfileName
: [u16; 256],
179 pub AdapterGUID
: ::windows_sys
::core
::GUID
,
180 pub Media
: WCM_MEDIA_TYPE
,
182 impl ::core
::marker
::Copy
for WCM_PROFILE_INFO {}
183 impl ::core
::clone
::Clone
for WCM_PROFILE_INFO
{
184 fn clone(&self) -> Self {
189 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
190 pub struct WCM_PROFILE_INFO_LIST
{
191 pub dwNumberOfItems
: u32,
192 pub ProfileInfo
: [WCM_PROFILE_INFO
; 1],
194 impl ::core
::marker
::Copy
for WCM_PROFILE_INFO_LIST {}
195 impl ::core
::clone
::Clone
for WCM_PROFILE_INFO_LIST
{
196 fn clone(&self) -> Self {
200 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
201 pub type WCM_PROPERTY
= i32;
202 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
203 pub const wcm_global_property_domain_policy
: WCM_PROPERTY
= 0i32;
204 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
205 pub const wcm_global_property_minimize_policy
: WCM_PROPERTY
= 1i32;
206 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
207 pub const wcm_global_property_roaming_policy
: WCM_PROPERTY
= 2i32;
208 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
209 pub const wcm_global_property_powermanagement_policy
: WCM_PROPERTY
= 3i32;
210 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
211 pub const wcm_intf_property_connection_cost
: WCM_PROPERTY
= 4i32;
212 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
213 pub const wcm_intf_property_dataplan_status
: WCM_PROPERTY
= 5i32;
214 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
215 pub const wcm_intf_property_hotspot_profile
: WCM_PROPERTY
= 6i32;
217 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
218 pub struct WCM_TIME_INTERVAL
{
225 pub wMilliseconds
: u16,
227 impl ::core
::marker
::Copy
for WCM_TIME_INTERVAL {}
228 impl ::core
::clone
::Clone
for WCM_TIME_INTERVAL
{
229 fn clone(&self) -> Self {
233 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
234 pub const WCM_UNKNOWN_DATAPLAN_STATUS
: u32 = 4294967295u32;
236 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
237 #[cfg(feature = "Win32_Foundation")]
238 pub struct WCM_USAGE_DATA
{
239 pub UsageInMegabytes
: u32,
240 pub LastSyncTime
: super::super::Foundation
::FILETIME
,
242 #[cfg(feature = "Win32_Foundation")]
243 impl ::core
::marker
::Copy
for WCM_USAGE_DATA {}
244 #[cfg(feature = "Win32_Foundation")]
245 impl ::core
::clone
::Clone
for WCM_USAGE_DATA
{
246 fn clone(&self) -> Self {