DWORD LWNetSrvOpenServer( uid_t peerUID, gid_t peerGID, PHANDLE phServer ) { DWORD dwError = 0; PLWNET_SRV_API_STATE pServerState = NULL; dwError = LWNetAllocateMemory( sizeof(LWNET_SRV_API_STATE), (PVOID*)&pServerState); BAIL_ON_LWNET_ERROR(dwError); pServerState->peerUID = peerUID; pServerState->peerGID = peerGID; *phServer = (HANDLE)pServerState; cleanup: return dwError; error: *phServer = (HANDLE)NULL; if (pServerState) { LWNetSrvCloseServer((HANDLE)pServerState); } goto cleanup; }
NTSTATUS LWNetSvcmRefresh( PLW_SVCM_INSTANCE pInstance ) { DWORD dwError = 0; HANDLE hServer = NULL; LWNET_LOG_INFO("Refreshing configuration"); dwError = LWNetSrvOpenServer( getuid(), getgid(), &hServer); BAIL_ON_LWNET_ERROR(dwError); dwError = LWNetSrvRefreshConfiguration(hServer); BAIL_ON_LWNET_ERROR(dwError); LWNET_LOG_INFO("Refreshed configuration successfully"); cleanup: if (hServer != NULL) { LWNetSrvCloseServer(hServer); } return LwWin32ErrorToNtStatus(dwError); error: LWNET_LOG_ERROR("Failed to refresh configuration. [Error code:%u]", dwError); goto cleanup; }