All pastes #105918 Raw Edit

Something

public c v1 · immutable
#105918 ·published 2006-07-30 00:18 UTC
rendered paste body
voidReleaseAllocatedMemory(){ULONG i;PVOID ptr;POBJECT hObject;NTSTATUS NtStatus;extern VideoModeParameters VidParam;extern PDEVICE_OBJECT Video0Device;static union u{	VIDEO_MEMORY vm;	VIDEO_MEMORY_INFORMATION  vmi;} vmem;	for(i=0; i<NbDescriptionObject; i++)	{		// Select object # i		hObject = DescriptionObjectTable[i];		// free buffer allocated for the object		switch(hObject->TypeOfObject)		{		case WINDOW_TYPE :			MmFreeNonCachedMemory(ptr=((PWINDOW_OBJECT)hObject->ObjectDefinition)->TextBarBuffer,				((PWINDOW_OBJECT)hObject->ObjectDefinition)->MaxChar);			break;		case EDIT_TYPE :			MmFreeNonCachedMemory(ptr=((PEDIT_OBJECT)hObject->ObjectDefinition)->EditBuffer,				((PEDIT_OBJECT)hObject->ObjectDefinition)->MaxChar);			break;		case STATIC_TYPE :			MmFreeNonCachedMemory(ptr=((PSTATIC_OBJECT)hObject->ObjectDefinition)->TextBuffer,				((PSTATIC_OBJECT)hObject->ObjectDefinition)->MaxChar);			break;		}			DbgPrint("Freed mem : 0x%x", ptr);	}	// Release video memory	vmem.vm.RequestedVirtualAddress = VidParam.VideoRamBase;	NtStatus = MakeSynchronousIoctl(Video0Device, IOCTL_VIDEO_UNMAP_VIDEO_MEMORY,				&vmem,sizeof(vmem.vm),0,0);}