95 &Reply,
sizeof(Reply),
103 if (Reply.
Reply == 0)
127 &Reply,
sizeof(Reply),
153 &Reply,
sizeof(Reply),
179 &Reply,
sizeof(Reply),
209 &Reply,
sizeof(Reply),
256 DPRINT1(
"DHCPCSVC: DhcpNotifyConfigChange not implemented yet\n");
318 &Reply,
sizeof(Reply),
324 *DhcpEnabled =
FALSE;
431 DbgPrint(
"DHCPCSVC: init_client() failed!\n");
443 DbgPrint(
"DHCPCSVC: PipeInit() failed!\n");
454 DbgPrint(
"DHCPCSVC: StartAdapterDiscovery() failed!\n");
475 DPRINT(
"Wait for pipe thread to close! %p\n", hPipeThread);
478 DPRINT(
"Waiting for pipe thread\n");
483 DPRINT(
"Wait for discovery thread to close! %p\n", hDiscoveryThread);
486 DPRINT(
"Waiting for discovery thread\n");
491 DPRINT(
"Closing events!\n");
static SERVICE_STATUS_HANDLE(WINAPI *pRegisterServiceCtrlHandlerExA)(LPCSTR
HANDLE StartAdapterDiscovery(HANDLE hStopEvent)
void dispatch(HANDLE hStopEvent)
HANDLE PipeInit(HANDLE hStopEvent)
#define DH_DbgPrint(_t_, _x_)
void WINAPI DhcpCApiCleanup(void)
DWORD APIENTRY DhcpLeaseIpAddress(DWORD AdapterIndex)
static WCHAR ServiceName[]
HANDLE hAdapterStateChangedEvent
DWORD APIENTRY DhcpRosGetAdapterInfo(DWORD AdapterIndex, PBOOL DhcpEnabled, PDWORD DhcpServer, time_t *LeaseObtained, time_t *LeaseExpires)
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
DWORD APIENTRY DhcpCApiInitialize(LPDWORD Version)
VOID WINAPI ServiceMain(DWORD argc, LPWSTR *argv)
DWORD APIENTRY DhcpNotifyConfigChange(LPWSTR ServerName, LPWSTR AdapterName, BOOL NewIpAddress, DWORD IpIndex, DWORD IpAddress, DWORD SubnetMask, INT DhcpAction)
static DWORD WINAPI ServiceControlHandler(DWORD dwControl, DWORD dwEventType, LPVOID lpEventData, LPVOID lpContext)
DWORD APIENTRY DhcpReleaseIpAddressLease(DWORD AdapterIndex)
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)
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 DhcpRenewIpAddressLease(DWORD AdapterIndex)
#define ERROR_CALL_NOT_IMPLEMENTED
#define DLL_PROCESS_ATTACH
#define DLL_PROCESS_DETACH
#define INVALID_HANDLE_VALUE
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
static IN DWORD IN LPVOID lpvReserved
_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
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)
BOOL WINAPI SetNamedPipeHandleState(HANDLE hNamedPipe, LPDWORD lpMode, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout)
BOOL WINAPI WaitNamedPipeW(LPCWSTR lpNamedPipeName, DWORD nTimeOut)
@ DhcpReqStaticRefreshParams
@ DhcpReqReleaseIpAddress
SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExW(LPCWSTR lpServiceName, LPHANDLER_FUNCTION_EX lpHandlerProc, LPVOID lpContext)
BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE hServiceStatus, LPSERVICE_STATUS lpServiceStatus)
struct _COMM_DHCP_REQ::@3443::@3447 StaticRefreshParams
union _COMM_DHCP_REQ::@3443 Body
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)
struct _COMM_DHCP_REPLY::@3448 QueryHWInfo
struct _COMM_DHCP_REPLY::@3449 GetAdapterInfo
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
_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
DWORD WINAPI GetLastError(void)
#define NMPWAIT_USE_DEFAULT_WAIT
#define PIPE_READMODE_MESSAGE
_Reserved_ PVOID Reserved
#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
_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
_Must_inspect_result_ _In_ ULONG Flags
#define SERVICE_WIN32_SHARE_PROCESS