void MFSound_DeinitWASAPI() { gpEnumerator->Release(); gpNotification->Release(); gDevices.Deinit(); gCaptureDevices.Deinit(); }
void MFString_DeinitModule() { if(--gModuleInitCount == 0) { stringPool.Deinit(); stringHeap.Deinit(); } }
void MFHeap_DeinitModule() { MFCALLSTACK; MFHeap_DeinitModulePlatformSpecific(); #if defined(_USE_ALLOC_TRACKER) gPoolInitialised = false; gAllocList.Deinit(); #endif #if defined(_USE_TRACKING_HASH_TABLE) // todo: list all unfreed allocations? //... gAllocHeaderPool.Deinit(); MFZeroMemory(gpAllocTable, sizeof(gpAllocTable)); #endif // TODO: gAllocMutex is not allocated by MFHeap... separate the 'deinit' from the 'destroy' // MFThread_DestroyMutex(gAllocMutex); }