1 #[cfg_attr(windows, link(name = "windows"))]
3 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Foundation\"`*"]
4 #[cfg(feature = "Win32_Foundation")]
5 pub fn WnvOpen() -> super::super::Foundation
::HANDLE
;
6 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
7 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
8 pub fn WnvRequestNotification(wnvhandle
: super::super::Foundation
::HANDLE
, notificationparam
: *mut WNV_NOTIFICATION_PARAM
, overlapped
: *mut super::super::System
::IO
::OVERLAPPED
, bytestransferred
: *mut u32) -> u32;
10 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
11 pub const WNV_API_MAJOR_VERSION_1
: u32 = 1u32;
12 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
13 pub const WNV_API_MINOR_VERSION_0
: u32 = 0u32;
14 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
15 pub type WNV_CA_NOTIFICATION_TYPE
= i32;
16 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
17 pub const WnvCustomerAddressAdded
: WNV_CA_NOTIFICATION_TYPE
= 0i32;
18 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
19 pub const WnvCustomerAddressDeleted
: WNV_CA_NOTIFICATION_TYPE
= 1i32;
20 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
21 pub const WnvCustomerAddressMoved
: WNV_CA_NOTIFICATION_TYPE
= 2i32;
22 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
23 pub const WnvCustomerAddressMax
: WNV_CA_NOTIFICATION_TYPE
= 3i32;
24 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
25 pub type WNV_NOTIFICATION_TYPE
= i32;
26 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
27 pub const WnvPolicyMismatchType
: WNV_NOTIFICATION_TYPE
= 0i32;
28 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
29 pub const WnvRedirectType
: WNV_NOTIFICATION_TYPE
= 1i32;
30 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
31 pub const WnvObjectChangeType
: WNV_NOTIFICATION_TYPE
= 2i32;
32 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
33 pub const WnvNotificationTypeMax
: WNV_NOTIFICATION_TYPE
= 3i32;
34 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
35 pub type WNV_OBJECT_TYPE
= i32;
36 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
37 pub const WnvProviderAddressType
: WNV_OBJECT_TYPE
= 0i32;
38 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
39 pub const WnvCustomerAddressType
: WNV_OBJECT_TYPE
= 1i32;
40 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
41 pub const WnvObjectTypeMax
: WNV_OBJECT_TYPE
= 2i32;
43 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"]
44 #[cfg(feature = "Win32_Networking_WinSock")]
45 pub struct WNV_CUSTOMER_ADDRESS_CHANGE_PARAM
{
46 pub MACAddress
: super::super::Networking
::WinSock
::DL_EUI48
,
48 pub CA
: WNV_IP_ADDRESS
,
49 pub VirtualSubnetId
: u32,
51 pub PA
: WNV_IP_ADDRESS
,
52 pub NotificationReason
: WNV_CA_NOTIFICATION_TYPE
,
54 #[cfg(feature = "Win32_Networking_WinSock")]
55 impl ::core
::marker
::Copy
for WNV_CUSTOMER_ADDRESS_CHANGE_PARAM {}
56 #[cfg(feature = "Win32_Networking_WinSock")]
57 impl ::core
::clone
::Clone
for WNV_CUSTOMER_ADDRESS_CHANGE_PARAM
{
58 fn clone(&self) -> Self {
63 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"]
64 #[cfg(feature = "Win32_Networking_WinSock")]
65 pub struct WNV_IP_ADDRESS
{
66 pub IP
: WNV_IP_ADDRESS_0
,
68 #[cfg(feature = "Win32_Networking_WinSock")]
69 impl ::core
::marker
::Copy
for WNV_IP_ADDRESS {}
70 #[cfg(feature = "Win32_Networking_WinSock")]
71 impl ::core
::clone
::Clone
for WNV_IP_ADDRESS
{
72 fn clone(&self) -> Self {
77 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"]
78 #[cfg(feature = "Win32_Networking_WinSock")]
79 pub union WNV_IP_ADDRESS_0
{
80 pub v4
: super::super::Networking
::WinSock
::IN_ADDR
,
81 pub v6
: super::super::Networking
::WinSock
::IN6_ADDR
,
84 #[cfg(feature = "Win32_Networking_WinSock")]
85 impl ::core
::marker
::Copy
for WNV_IP_ADDRESS_0 {}
86 #[cfg(feature = "Win32_Networking_WinSock")]
87 impl ::core
::clone
::Clone
for WNV_IP_ADDRESS_0
{
88 fn clone(&self) -> Self {
93 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
94 pub struct WNV_NOTIFICATION_PARAM
{
95 pub Header
: WNV_OBJECT_HEADER
,
96 pub NotificationType
: WNV_NOTIFICATION_TYPE
,
97 pub PendingNotifications
: u32,
100 impl ::core
::marker
::Copy
for WNV_NOTIFICATION_PARAM {}
101 impl ::core
::clone
::Clone
for WNV_NOTIFICATION_PARAM
{
102 fn clone(&self) -> Self {
107 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"]
108 #[cfg(feature = "Win32_Networking_WinSock")]
109 pub struct WNV_OBJECT_CHANGE_PARAM
{
110 pub ObjectType
: WNV_OBJECT_TYPE
,
111 pub ObjectParam
: WNV_OBJECT_CHANGE_PARAM_0
,
113 #[cfg(feature = "Win32_Networking_WinSock")]
114 impl ::core
::marker
::Copy
for WNV_OBJECT_CHANGE_PARAM {}
115 #[cfg(feature = "Win32_Networking_WinSock")]
116 impl ::core
::clone
::Clone
for WNV_OBJECT_CHANGE_PARAM
{
117 fn clone(&self) -> Self {
122 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"]
123 #[cfg(feature = "Win32_Networking_WinSock")]
124 pub union WNV_OBJECT_CHANGE_PARAM_0
{
125 pub ProviderAddressChange
: WNV_PROVIDER_ADDRESS_CHANGE_PARAM
,
126 pub CustomerAddressChange
: WNV_CUSTOMER_ADDRESS_CHANGE_PARAM
,
128 #[cfg(feature = "Win32_Networking_WinSock")]
129 impl ::core
::marker
::Copy
for WNV_OBJECT_CHANGE_PARAM_0 {}
130 #[cfg(feature = "Win32_Networking_WinSock")]
131 impl ::core
::clone
::Clone
for WNV_OBJECT_CHANGE_PARAM_0
{
132 fn clone(&self) -> Self {
137 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
138 pub struct WNV_OBJECT_HEADER
{
139 pub MajorVersion
: u8,
140 pub MinorVersion
: u8,
143 impl ::core
::marker
::Copy
for WNV_OBJECT_HEADER {}
144 impl ::core
::clone
::Clone
for WNV_OBJECT_HEADER
{
145 fn clone(&self) -> Self {
150 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"]
151 #[cfg(feature = "Win32_Networking_WinSock")]
152 pub struct WNV_POLICY_MISMATCH_PARAM
{
155 pub VirtualSubnetId
: u32,
156 pub CA
: WNV_IP_ADDRESS
,
157 pub PA
: WNV_IP_ADDRESS
,
159 #[cfg(feature = "Win32_Networking_WinSock")]
160 impl ::core
::marker
::Copy
for WNV_POLICY_MISMATCH_PARAM {}
161 #[cfg(feature = "Win32_Networking_WinSock")]
162 impl ::core
::clone
::Clone
for WNV_POLICY_MISMATCH_PARAM
{
163 fn clone(&self) -> Self {
168 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"]
169 #[cfg(feature = "Win32_Networking_WinSock")]
170 pub struct WNV_PROVIDER_ADDRESS_CHANGE_PARAM
{
172 pub PA
: WNV_IP_ADDRESS
,
173 pub AddressState
: super::super::Networking
::WinSock
::NL_DAD_STATE
,
175 #[cfg(feature = "Win32_Networking_WinSock")]
176 impl ::core
::marker
::Copy
for WNV_PROVIDER_ADDRESS_CHANGE_PARAM {}
177 #[cfg(feature = "Win32_Networking_WinSock")]
178 impl ::core
::clone
::Clone
for WNV_PROVIDER_ADDRESS_CHANGE_PARAM
{
179 fn clone(&self) -> Self {
184 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"]
185 #[cfg(feature = "Win32_Networking_WinSock")]
186 pub struct WNV_REDIRECT_PARAM
{
189 pub NewPAFamily
: u16,
190 pub VirtualSubnetId
: u32,
191 pub CA
: WNV_IP_ADDRESS
,
192 pub PA
: WNV_IP_ADDRESS
,
193 pub NewPA
: WNV_IP_ADDRESS
,
195 #[cfg(feature = "Win32_Networking_WinSock")]
196 impl ::core
::marker
::Copy
for WNV_REDIRECT_PARAM {}
197 #[cfg(feature = "Win32_Networking_WinSock")]
198 impl ::core
::clone
::Clone
for WNV_REDIRECT_PARAM
{
199 fn clone(&self) -> Self {