VOID cleanupwsk(PWSK_REGISTRATION clireg) { WskReleaseProviderNPI(clireg); WskDeregister(clireg); return; }
VOID NTAPI SocketsDeinit() { if (InterlockedCompareExchange(&g_SocketsState, INITIALIZED, DEINITIALIZING) != INITIALIZED) return; WskReleaseProviderNPI(&g_WskRegistration); WskDeregister(&g_WskRegistration); InterlockedExchange(&g_SocketsState, DEINITIALIZED); }
VOID NTAPI NPF_WSKCleanup( ) { TRACE_ENTER(); if (InterlockedCompareExchange(&g_SocketsState, INITIALIZED, DEINITIALIZING) != INITIALIZED) { TRACE_EXIT(); return; } WskReleaseProviderNPI(&g_WskRegistration); WskDeregister(&g_WskRegistration); InterlockedExchange(&g_SocketsState, DEINITIALIZED); TRACE_EXIT(); }
void ReleaseProviderNPI() { WskReleaseProviderNPI(&gWskEventRegistration); }