44 DPRINT1(
"RpcServerUseProtseqEpW() failed (Status %lx)\n",
Status);
51 DPRINT1(
"RpcServerRegisterIf() failed (Status %lx)\n",
Status);
94 Offset += (OptionLength + 2);
95 Ptr += (OptionLength + 2);
126 DPRINT1(
"Adapter: %p\n", Adapter);
130 DPRINT1(
"Enable DHCP for Adapter: %p\n", Adapter);
134 DPRINT1(
"The Adapter is already enabled!\n");
147 DPRINT1(
"Disable DHCP for Adapter: %p\n", Adapter);
151 DPRINT1(
"The Adapter is already disabled!\n");
192 DPRINT(
"Adapter: %p\n", Adapter);
247 DPRINT(
"Adapter: %p\n", Adapter);
286 DPRINT(
"Adapter: %p\n", Adapter);
321 DPRINT(
"Server_StaticRefreshParams()\n");
332 DPRINT(
"Adapter: %p\n", Adapter);
371 DPRINT1(
"Server_RemoveDNSRegistrations()\n");
389 DWORD i, dwReturnCount, dwReturnLength;
395 DPRINT(
"Server_RequestParams(%S %p %p %p %p)\n",
396 AdapterName, ClassId, SendParams, RecdParams, RecdResults);
399 if (SendParams !=
NULL)
401 DPRINT1(
"SendParams nParams %lu Params %p\n", SendParams->nParams, SendParams->Params);
402 for (
i = 0;
i < SendParams->nParams;
i++)
404 DPRINT1(
"SendParam %lu: Option %lu Vendor %u\n",
i, SendParams->Params[
i].OptionId, SendParams->Params[
i].IsVendor);
408 if (RecdParams !=
NULL)
410 DPRINT1(
"RecdParams nParams %lu Params %p\n", RecdParams->nParams, RecdParams->Params);
411 for (
i = 0;
i < RecdParams->nParams;
i++)
413 DPRINT1(
"RecdParam %lu: Option %lu Vendor %u\n",
i, RecdParams->Params[
i].OptionId, RecdParams->Params[
i].IsVendor);
423 DPRINT1(
"Adapter not found\n");
428 DPRINT(
"Adapter: %p\n", Adapter);
432 DPRINT1(
"Adapter is not in S_BOUND state!\n");
444 for (
i = 0;
i < RecdParams->nParams;
i++)
446 OptionId = RecdParams->Params[
i].OptionId;
447 if (RecdParams->Params[
i].IsVendor ==
FALSE)
452 dwReturnLength +=
Options[OptionId].len;
460 DPRINT(
"Have vendor options!\n");
466 DPRINT(
"Vendor option %lu: Length %lu\n", OptionId, (
DWORD)*(OptionPtr + 1));
467 dwReturnLength += (
DWORD)*(OptionPtr + 1);
474 DPRINT(
"Return count: %lu Return length: %lu\n", dwReturnCount, dwReturnLength);
479 DPRINT1(
"Result allocation failed!\n");
488 DPRINT1(
"Results allocation failed!\n");
497 DPRINT1(
"Data allocation failed!\n");
504 for (
i = 0;
i < RecdParams->nParams;
i++)
506 OptionId = RecdParams->Params[
i].OptionId;
508 if (RecdParams->Params[
i].IsVendor ==
FALSE)
532 DPRINT1(
"Have vendor options!\n");
539 Data = (OptionPtr + 2);
557 *RecdResults = Results;
PDHCP_ADAPTER AdapterFindIndex(unsigned int indx)
PDHCP_ADAPTER AdapterFindName(const WCHAR *name)
HKEY FindAdapterKey(PDHCP_ADAPTER Adapter)
DWORD LoadAlternateConfiguration(PDHCP_ADAPTER Adapter, HKEY hAdapterKey)
DWORD __stdcall Server_AcquireParametersByBroadcast(_In_ PDHCP_SERVER_NAME ServerName, _In_ LPWSTR AdapterName)
DWORD __stdcall Server_RequestParams(_In_ PDHCP_SERVER_NAME ServerName, _In_ LPWSTR AdapterName, _In_ DHCPCAPI_CLASSID *ClassId, _In_ DHCPCAPI_PARAMS_ARRAY *SendParams, _In_ DHCPCAPI_PARAMS_ARRAY *RecdParams, _Inout_ LPDHCPCAPI_RESULT_ARRAY *RecdResults)
DWORD __stdcall Server_ReleaseParameters(_In_ PDHCP_SERVER_NAME ServerName, _In_ LPWSTR AdapterName)
HANDLE hAdapterStateChangedEvent
DWORD __stdcall Server_EnableDhcp(_In_ PDHCP_SERVER_NAME ServerName, _In_ LPWSTR AdapterName, _In_ BOOL Enable)
DWORD __stdcall Server_FallbackRefreshParams(_In_ PDHCP_SERVER_NAME ServerName, _In_ LPWSTR AdapterName)
DWORD __stdcall Server_RemoveDNSRegistrations(_In_ PDHCP_SERVER_NAME ServerName)
DWORD __stdcall Server_StaticRefreshParams(_In_ PDHCP_SERVER_NAME ServerName, _In_ DWORD AdapterIndex, _In_ DWORD Address, _In_ DWORD Netmask)
DWORD WINAPI RpcThreadRoutine(LPVOID lpParameter)
DWORD __stdcall Server_AcquireParameters(_In_ PDHCP_SERVER_NAME ServerName, _In_ LPWSTR AdapterName)
static PBYTE GetVendorOption(_In_ PBYTE Data, _In_ ULONG Length, _In_ ULONG OptionId)
static CRITICAL_SECTION ApiCriticalSection
void add_protocol(char *name, int fd, void(*handler)(struct protocol *), void *local)
void remove_protocol(struct protocol *proto)
void got_one(struct protocol *l)
struct protocol * find_protocol_by_adapter(struct interface_info *info)
#define DHO_VENDOR_ENCAPSULATED_OPTIONS
#define RegCloseKey(hKey)
#define ERROR_NOT_ENOUGH_MEMORY
void state_release(void *ipp)
void state_reboot(void *ipp)
void __RPC_FAR *__RPC_USER MIDL_user_allocate(SIZE_T len)
wchar_t * PDHCP_SERVER_NAME
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
DWORD WINAPI AddIPAddress(IPAddr Address, IPMask Netmask, DWORD IfIndex, PULONG NteContext, PULONG NteInstance)
DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW pRoute)
DWORD WINAPI DeleteIPAddress(ULONG NTEContext)
#define ERROR_FILE_NOT_FOUND
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
_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
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
RPC_STATUS WINAPI RpcServerListen(UINT MinimumCallThreads, UINT MaxCalls, UINT DontWait)
RPC_STATUS WINAPI RpcServerRegisterIf(RPC_IF_HANDLE IfSpec, UUID *MgrTypeUuid, RPC_MGR_EPV *MgrEpv)
RPC_STATUS WINAPI RpcServerUseProtseqEpW(RPC_WSTR Protseq, UINT MaxCalls, RPC_WSTR Endpoint, LPVOID SecurityDescriptor)
RPC_STATUS WINAPI RpcMgmtStopServerListening(RPC_BINDING_HANDLE Binding)
#define RPC_C_LISTEN_MAX_CALLS_DEFAULT
LPDHCPCAPI_RESULTS Results
MIB_IPFORWARDROW RouterMib
PALTERNATE_CONFIGURATION AlternateConfiguration
struct interface_info DhclientInfo
struct client_state DhclientState
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)