Hej Det verkar som om någonting (vet inte vad, koden såg helt normal ut i mina ögon) utförde en "priviliegierad instruktion". Jag är inte riktigt säker på det här (rätta mig om jag har fel, någon) men normalt sett kan såna instruktioner bara användas av .VXD filer och andra saker som körs i "ring 0" (det är den här biten jag är mest osäker på). Om jag har fattat det hela rätt så har windows ett antal olika "privilegienivåer" (vet ej hur många), som har olika befogenheter över systemet. Ring 0 har flest befogenheter, och har därför ensamrätt på privilegierade instruktioner.0xC0000096: Privileged instruction.
Jag får följande fel:
Unhandled exception at 0x0081ba9f in ACDSuper.exe: 0xC0000096: Privileged instruction.
i denna funktion:
void CDatatalFleXiACDSupervisorDoc::AddGraph(DWORD StatisticTypeId, DWORD GraphType, DWORD SelectionId, DWORD TimeFrameType, DWORD RealTimeFrameSize, CDateTime fromTime, CDateTime toTime)
{
//Allocate
LPSTATISTICS_OBJECT lpObj = new STATISTICS_OBJECT;
if (lpObj)
{
CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();
ASSERT_VALID(pMainFrame);
//Init
lpObj->dwId = ++m_iGraphSize;
lpObj->dwStatisticTypeId = StatisticTypeId;
lpObj->dwGraphType = GraphType;
lpObj->dwSelectionId = SelectionId;
lpObj->dwSelectionType = GRAPH_SELECTION_NONE;
lpObj->dwTimeFrameType = TimeFrameType;
lpObj->dwRealTimeFrameSize = RealTimeFrameSize;
lpObj->From = fromTime;
lpObj->To = toTime ;
lpObj->lpChartDlg = AddGraphDialog(lpObj->dwId, lpObj->dwGraphType);
lpObj->bVisible = TRUE;
//This is the where the error occur
m_ptrStatisticObjects.Add(lpObj);
pMainFrame->m_wndWorkSpace.AddStatistics(lpObj->dwId, StatisticTypeId, lpObj->bVisible);
UpdateAllViews(NULL);
}//lpobj
}
m_ptrStatisticObjects är en privat medlem av typen CPtrArray.
Hur fixar jag felet?Sv: 0xC0000096: Privileged instruction.