Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 478 of file driver.c.
Referenced by acmDriverClose(), DRIVER_TryOpenDriver32(), DRIVER_UnloadAll(), ICClose(), ICOpen(), MCI_UnLoadMciDriver(), MCIWndProc(), MMDRV_Exit(), and MMDRV_Install().
{ BOOL ret; LPWINE_DRIVER lpDrv; TRACE("(%p, %08lX, %08lX);\n", hDrvr, lParam1, lParam2); DRIVER_Dump("BEFORE:"); if ((lpDrv = DRIVER_FindFromHDrvr(hDrvr)) != NULL) { LPWINE_DRIVER lpDrv0; DRIVER_SendMessage(lpDrv, DRV_CLOSE, lParam1, lParam2); DRIVER_RemoveFromList(lpDrv); if (lpDrv->dwFlags & WINE_GDF_SESSION) FIXME("WINE_GDF_SESSION: Shouldn't happen (%p)\n", lpDrv); /* if driver has an opened session instance, we have to close it too */ if (DRIVER_GetNumberOfModuleRefs(lpDrv->hModule, &lpDrv0) == 1 && (lpDrv0->dwFlags & WINE_GDF_SESSION)) { DRIVER_SendMessage(lpDrv0, DRV_CLOSE, 0, 0); DRIVER_RemoveFromList(lpDrv0); FreeLibrary(lpDrv0->hModule); HeapFree(GetProcessHeap(), 0, lpDrv0); } FreeLibrary(lpDrv->hModule); HeapFree(GetProcessHeap(), 0, lpDrv); ret = TRUE; } else { WARN("Failed to close driver\n"); ret = FALSE; } DRIVER_Dump("AFTER:"); return ret; }