ReactOS 0.4.16-dev-1172-g2041f3c
dhcpcapi.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

DWORD APIENTRY DhcpAcquireParameters (_In_ PSTR AdapterName)
 
DWORD APIENTRY DhcpReleaseParameters (_In_ PSTR AdapterName)
 
DWORD APIENTRY DhcpLeaseIpAddress (DWORD AdapterIndex)
 
DWORD APIENTRY DhcpQueryHWInfo (DWORD AdapterIndex, PDWORD MediaType, PDWORD Mtu, PDWORD Speed)
 
DWORD APIENTRY DhcpReleaseIpAddressLease (DWORD AdapterIndex)
 
DWORD APIENTRY DhcpRenewIpAddressLease (DWORD AdapterIndex)
 
DWORD APIENTRY DhcpStaticRefreshParams (DWORD AdapterIndex, DWORD Address, DWORD Netmask)
 
DWORD APIENTRY DhcpNotifyConfigChange (LPWSTR ServerName, LPWSTR AdapterName, BOOL NewIpAddress, DWORD IpIndex, DWORD IpAddress, DWORD SubnetMask, int DhcpAction)
 

Function Documentation

◆ DhcpAcquireParameters()

DWORD APIENTRY DhcpAcquireParameters ( _In_ PSTR  AdapterName)

Definition at line 81 of file dhcpcsvc.c.

83{
84 COMM_DHCP_REQ Req;
85 COMM_DHCP_REPLY Reply;
88
89 DPRINT1("DhcpAcquireParameters(%s)\n", AdapterName);
90
92
94 strcpy(Req.Body.AcquireParams.AdapterName, AdapterName);
95
97 &Req, sizeof(Req),
98 &Reply, sizeof(Reply),
99 &BytesRead, NULL);
100 if (!Result)
101 {
102 /* Pipe transaction failed */
103 return GetLastError();
104 }
105
106 return Reply.Reply;
107}
#define DPRINT1
Definition: precomp.h:8
static HANDLE PipeHandle
Definition: dhcpcsvc.c:22
#define NULL
Definition: types.h:112
#define INVALID_HANDLE_VALUE
Definition: compat.h:731
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
#define ASSERT(a)
Definition: mode.c:44
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT _In_ UINT _In_ NDIS_HANDLE _In_ NDIS_HANDLE _In_ PNDIS_STRING AdapterName
Definition: ndis.h:6016
BOOL WINAPI TransactNamedPipe(IN HANDLE hNamedPipe, IN LPVOID lpInBuffer, IN DWORD nInBufferSize, OUT LPVOID lpOutBuffer, IN DWORD nOutBufferSize, OUT LPDWORD lpBytesRead OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL)
Definition: npipe.c:1315
@ DhcpReqAcquireParams
Definition: rosdhcp_pipe.h:5
strcpy
Definition: string.h:131
struct _COMM_DHCP_REQ::@32::@33 AcquireParams
union _COMM_DHCP_REQ::@32 Body
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
Definition: wdfiotarget.h:870
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:409

◆ DhcpLeaseIpAddress()

DWORD APIENTRY DhcpLeaseIpAddress ( DWORD  AdapterIndex)

Definition at line 176 of file dhcpcsvc.c.

177{
178 COMM_DHCP_REQ Req;
179 COMM_DHCP_REPLY Reply;
181 BOOL Result;
182
184
186 Req.AdapterIndex = AdapterIndex;
187
189 &Req, sizeof(Req),
190 &Reply, sizeof(Reply),
191 &BytesRead, NULL);
192 if (!Result)
193 {
194 /* Pipe transaction failed */
195 return 0;
196 }
197
198 return Reply.Reply;
199}
@ DhcpReqLeaseIpAddress
Definition: rosdhcp_pipe.h:7
DWORD AdapterIndex
Definition: rosdhcp_pipe.h:16

◆ DhcpNotifyConfigChange()

DWORD APIENTRY DhcpNotifyConfigChange ( LPWSTR  ServerName,
LPWSTR  AdapterName,
BOOL  NewIpAddress,
DWORD  IpIndex,
DWORD  IpAddress,
DWORD  SubnetMask,
int  DhcpAction 
)

◆ DhcpQueryHWInfo()

DWORD APIENTRY DhcpQueryHWInfo ( DWORD  AdapterIndex,
PDWORD  MediaType,
PDWORD  Mtu,
PDWORD  Speed 
)

Definition at line 141 of file dhcpcsvc.c.

145{
146 COMM_DHCP_REQ Req;
147 COMM_DHCP_REPLY Reply;
149 BOOL Result;
150
152
154 Req.AdapterIndex = AdapterIndex;
155
157 &Req, sizeof(Req),
158 &Reply, sizeof(Reply),
159 &BytesRead, NULL);
160 if (!Result)
161 {
162 /* Pipe transaction failed */
163 return 0;
164 }
165
166 if (Reply.Reply == 0)
167 return 0;
168
169 *MediaType = Reply.QueryHWInfo.MediaType;
170 *Mtu = Reply.QueryHWInfo.Mtu;
171 *Speed = Reply.QueryHWInfo.Speed;
172 return 1;
173}
@ DhcpReqQueryHWInfo
Definition: rosdhcp_pipe.h:8
struct _COMM_DHCP_REPLY::@38 QueryHWInfo

◆ DhcpReleaseIpAddressLease()

DWORD APIENTRY DhcpReleaseIpAddressLease ( DWORD  AdapterIndex)

Definition at line 202 of file dhcpcsvc.c.

203{
204 COMM_DHCP_REQ Req;
205 COMM_DHCP_REPLY Reply;
207 BOOL Result;
208
210
212 Req.AdapterIndex = AdapterIndex;
213
215 &Req, sizeof(Req),
216 &Reply, sizeof(Reply),
217 &BytesRead, NULL);
218 if (!Result)
219 {
220 /* Pipe transaction failed */
221 return 0;
222 }
223
224 return Reply.Reply;
225}
@ DhcpReqReleaseIpAddress
Definition: rosdhcp_pipe.h:9

Referenced by IpReleaseAddress().

◆ DhcpReleaseParameters()

DWORD APIENTRY DhcpReleaseParameters ( _In_ PSTR  AdapterName)

Definition at line 112 of file dhcpcsvc.c.

114{
115 COMM_DHCP_REQ Req;
116 COMM_DHCP_REPLY Reply;
118 BOOL Result;
119
120 DPRINT1("DhcpReleaseParameters(%s)\n", AdapterName);
121
123
125 strcpy(Req.Body.AcquireParams.AdapterName, AdapterName);
126
128 &Req, sizeof(Req),
129 &Reply, sizeof(Reply),
130 &BytesRead, NULL);
131 if (!Result)
132 {
133 /* Pipe transaction failed */
134 return GetLastError();
135 }
136
137 return Reply.Reply;
138}
@ DhcpReqReleaseParams
Definition: rosdhcp_pipe.h:6

◆ DhcpRenewIpAddressLease()

DWORD APIENTRY DhcpRenewIpAddressLease ( DWORD  AdapterIndex)

Definition at line 228 of file dhcpcsvc.c.

229{
230 COMM_DHCP_REQ Req;
231 COMM_DHCP_REPLY Reply;
233 BOOL Result;
234
236
238 Req.AdapterIndex = AdapterIndex;
239
241 &Req, sizeof(Req),
242 &Reply, sizeof(Reply),
243 &BytesRead, NULL);
244 if (!Result)
245 {
246 /* Pipe transaction failed */
247 return 0;
248 }
249
250 return Reply.Reply;
251}
@ DhcpReqRenewIpAddress
Definition: rosdhcp_pipe.h:10

Referenced by IpRenewAddress().

◆ DhcpStaticRefreshParams()

DWORD APIENTRY DhcpStaticRefreshParams ( DWORD  AdapterIndex,
DWORD  Address,
DWORD  Netmask 
)

Definition at line 254 of file dhcpcsvc.c.

257{
258 COMM_DHCP_REQ Req;
259 COMM_DHCP_REPLY Reply;
261 BOOL Result;
262
264
266 Req.AdapterIndex = AdapterIndex;
267 Req.Body.StaticRefreshParams.IPAddress = Address;
268 Req.Body.StaticRefreshParams.Netmask = Netmask;
269
271 &Req, sizeof(Req),
272 &Reply, sizeof(Reply),
273 &BytesRead, NULL);
274 if (!Result)
275 {
276 /* Pipe transaction failed */
277 return 0;
278 }
279
280 return Reply.Reply;
281}
static WCHAR Address[46]
Definition: ping.c:68
@ DhcpReqStaticRefreshParams
Definition: rosdhcp_pipe.h:11
struct _COMM_DHCP_REQ::@32::@37 StaticRefreshParams

Referenced by INetCfgComponentControl_fnApplyRegistryChanges().