44 DPRINT(
"PDHCP_SERVER_NAME_bind() called\n");
63 DPRINT1(
"RpcBindingFromStringBinding returned 0x%x\n",
status);
82 DPRINT(
"PDHCP_SERVER_NAME_unbind() called\n");
99 DWORD dwUnicodeSize = 0, dwAnsiSize = 0;
103 DPRINT(
"SetBinaryClassId(%S)\n", pszAdapterName);
106 L"System\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\%s",
108 DPRINT(
"KeyName %S\n", szKeyName);
117 DPRINT1(
"Error %lu\n", dwError);
127 DPRINT(
"UnicodeSize %lu\n", dwUnicodeSize);
130 if (pszUnicodeBuffer ==
NULL)
133 DPRINT1(
"Error %lu\n", dwError);
141 (
PBYTE)pszUnicodeBuffer,
145 DPRINT1(
"Error %lu\n", dwError);
157 DPRINT(
"AnsiSize %lu\n", dwAnsiSize);
160 if (pszAnsiBuffer ==
NULL)
163 DPRINT1(
"Error %lu\n", dwError);
175 DPRINT(
"AnsiBuffer %s\n", pszAnsiBuffer);
181 (
PBYTE)pszAnsiBuffer,
185 DPRINT1(
"Error %lu\n", dwError);
195 if (pszUnicodeBuffer)
290 DPRINT1(
"DhcpEnumClasses(%lx %S %lx %lx)\n",
328 DPRINT1(
"DhcpHandlePnPEvent(%lx %lx %S %p %lx)\n",
331 if ((Unknown1 != 0) || (Unknown2 != 1) || (PnpEvent ==
NULL) || (
Unknown5 != 0))
334 if (PnpEvent->Unknown5)
383 DPRINT1(
"DHCPCSVC: DhcpNotifyConfigChange not implemented yet\n");
384 DPRINT1(
"DhcpNotifyConfigChange(%S %S %lu %lu %lu %lu %d)\n",
385 ServerName,
AdapterName, NewIpAddress, IpIndex, IpAddress, SubnetMask, DhcpAction);
402 DPRINT(
"DhcpQueryHWInfo()\n");
406 ret = Client_QueryHWInfo(
NULL, AdapterIndex, MediaType, Mtu, Speed);
460 DPRINT(
"DhcpRemoveDNSRegistrations()\n");
464 ret = Client_RemoveDNSRegistrations(
NULL);
483 DPRINT(
"DhcpStaticRefreshParams()\n");
487 ret = Client_StaticRefreshParams(
NULL, AdapterIndex,
Address, Netmask);
602 DbgPrint(
"DHCPCSVC: init_client() failed!\n");
614 DbgPrint(
"DHCPCSVC: PipeInit() failed!\n");
625 DbgPrint(
"DHCPCSVC: StartAdapterDiscovery() failed!\n");
648 DPRINT(
"Wait for pipe thread to close! %p\n", hPipeThread);
651 DPRINT(
"Waiting for pipe thread\n");
656 DPRINT(
"Wait for discovery thread to close! %p\n", hDiscoveryThread);
659 DPRINT(
"Waiting for discovery thread\n");
664 DPRINT(
"Closing events!\n");
static SERVICE_STATUS_HANDLE(WINAPI *pRegisterServiceCtrlHandlerExA)(LPCSTR
PRTL_UNICODE_STRING_BUFFER PULONG PULONG Unknown4
static DWORD const fdwReason
HANDLE StartAdapterDiscovery(HANDLE hStopEvent)
void dispatch(HANDLE hStopEvent)
#define DH_DbgPrint(_t_, _x_)
#define RegCloseKey(hKey)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD IN DWORD IN DWORD Unknown5
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD Unknown3
#define ERROR_NOT_ENOUGH_MEMORY
static WCHAR ServiceName[]
DWORD APIENTRY DhcpCApiInitialize(_Out_ LPDWORD Version)
DWORD APIENTRY DhcpHandlePnPEvent(_In_ DWORD Unknown1, _In_ DWORD Unknown2, _In_ PWSTR AdapterName, _In_ PDHCP_PNP_EVENT PnpEvent, _In_ DWORD Unknown5)
HANDLE hAdapterStateChangedEvent
static DWORD SetBinaryClassId(_In_ PWSTR pszAdapterName)
DWORD APIENTRY DhcpReleaseParameters(_In_ PWSTR AdapterName)
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
void __RPC_USER MIDL_user_free(void __RPC_FAR *ptr)
VOID WINAPI ServiceMain(DWORD argc, LPWSTR *argv)
static DWORD WINAPI ServiceControlHandler(DWORD dwControl, DWORD dwEventType, LPVOID lpEventData, LPVOID lpContext)
static VOID UpdateServiceStatus(DWORD dwState)
SERVICE_STATUS_HANDLE ServiceStatusHandle
DWORD APIENTRY DhcpStaticRefreshParams(DWORD AdapterIndex, DWORD Address, DWORD Netmask)
DWORD APIENTRY DhcpQueryHWInfo(DWORD AdapterIndex, PDWORD MediaType, PDWORD Mtu, PDWORD Speed)
handle_t __RPC_USER PDHCP_SERVER_NAME_bind(_In_ PDHCP_SERVER_NAME pszServerName)
DWORD WINAPI DhcpRemoveDNSRegistrations(VOID)
SERVICE_STATUS ServiceStatus
DWORD APIENTRY DhcpRequestParams(DWORD Flags, PVOID Reserved, LPWSTR AdapterName, LPDHCPCAPI_CLASSID ClassId, DHCPCAPI_PARAMS_ARRAY SendParams, DHCPCAPI_PARAMS_ARRAY RecdParams, LPBYTE Buffer, LPDWORD pSize, LPWSTR RequestIdStr)
DWORD APIENTRY DhcpAcquireParameters(_In_ PWSTR AdapterName)
DWORD APIENTRY DhcpNotifyConfigChange(_In_ LPWSTR ServerName, _In_ LPWSTR AdapterName, _In_ BOOL NewIpAddress, _In_ DWORD IpIndex, _In_ DWORD IpAddress, _In_ DWORD SubnetMask, _In_ INT DhcpAction)
DWORD APIENTRY DhcpEnumClasses(_In_ DWORD Unknown1, _In_ PWSTR AdapterName, _In_ DWORD Unknown3, _In_ DWORD Unknown4)
void __RPC_FAR *__RPC_USER MIDL_user_allocate(SIZE_T len)
VOID APIENTRY DhcpCApiCleanup(VOID)
void __RPC_USER PDHCP_SERVER_NAME_unbind(_In_ PDHCP_SERVER_NAME pszServerName, _In_ handle_t hBinding)
wchar_t * PDHCP_SERVER_NAME
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define DLL_PROCESS_ATTACH
#define DLL_PROCESS_DETACH
#define INVALID_HANDLE_VALUE
#define HeapFree(x, y, z)
#define WideCharToMultiByte
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
_ACRTIMP size_t __cdecl strlen(const char *)
int WINAPIV _swprintf(wchar_t *str, const wchar_t *format,...)
#define EXCEPTION_EXECUTE_HANDLER
static IN DWORD IN LPVOID lpvReserved
_Null_terminated_ char * PSZ
_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
#define SERVICE_ACCEPT_STOP
#define SERVICE_STOP_PENDING
#define SERVICE_CONTROL_SHUTDOWN
#define SERVICE_START_PENDING
#define SERVICE_CONTROL_STOP
#define SERVICE_ACCEPT_SHUTDOWN
#define SERVICE_CONTROL_INTERROGATE
RPC_STATUS WINAPI RpcBindingFromStringBindingW(RPC_WSTR StringBinding, RPC_BINDING_HANDLE *Binding)
RPC_STATUS WINAPI RpcStringBindingComposeW(RPC_WSTR ObjUuid, RPC_WSTR Protseq, RPC_WSTR NetworkAddr, RPC_WSTR Endpoint, RPC_WSTR Options, RPC_WSTR *StringBinding)
RPC_STATUS WINAPI RpcBindingFree(RPC_BINDING_HANDLE *Binding)
LONG WINAPI I_RpcMapWin32Status(RPC_STATUS status)
RPC_STATUS WINAPI RpcStringFreeW(RPC_WSTR *String)
SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExW(LPCWSTR lpServiceName, LPHANDLER_FUNCTION_EX lpHandlerProc, LPVOID lpContext)
BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE hServiceStatus, LPSERVICE_STATUS lpServiceStatus)
#define RpcExceptionCode()
DWORD dwServiceSpecificExitCode
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
DWORD WINAPI GetLastError(void)
_Reserved_ PVOID Reserved
#define HKEY_LOCAL_MACHINE
_Must_inspect_result_ _In_ ULONG Flags
#define SERVICE_WIN32_SHARE_PROCESS