вы в Кернел или Пользовательской области?
в Кернел-пространстве ваш Kext может регистрироваться для событий PowerManagement следующим образом:
PMinit();
provider->joinPMtree(this);
registerPowerDriver (this, gPowerStates, kPowerNumStates);
, а затем ваш KEXT может отвечать на setPowerState () и powerStateDidChangeTo ()