InterruptDetach and no superuser capabilities?

Hi Community!!!

I request I/O privity by calling

[color=green]ThreadCtl( _NTO_TCTL_IO, 0 )

and attach an Interrupthandler with [color=green]InterruptAttach(…)

and it works perfect, but if I try to detach with InterruptDetach(…)

[color=green]if(InterruptDetach(id)==-1)
{
printf(“Error nteruptDetach()\n”);
if(errno== EINVAL)
printf(“The value of id doesn’t exist for this process:\n”);
if(errno==EPERM)
printf(“The process doesn’t have superuser capabilities.\n”);
}

the error EPERM means doesn’t have superuser capabilities occurs!!!
why I’am running in superuser mode?