Вы должны создать новый цикл Isolate
, соответствующий новому потоку.
Предлагаю вам прочитать эту статью из блога Didier Boelens , в которой очень четко описаны все эти концепции.
Посмотрите страницу 62 спецификации ACPI относительно 4 вторых правил (http://www.acpi.info/DOWNLOADS/ACPIspec30b.pdf)
Долго и за исключением него то, что логика находится в аппаратных средствах.
Вы не можете и не должны смешивать с этой функцией.
Я могу предусмотреть два сценария, где это могло бы быть проблемой:
Хорошо, поэтому возможно, это безумно для отключения кнопки питания. Но у нас есть приложение использование база данных, и использует дорогой набор лицензий. Этот крупный немецкий поставщик использует менеджер лицензий, который перемещает лицензии физически вокруг диска. Дефрагментация, определенные антивирусные приложения и вырезание питания повреждают лицензии. У нас есть UPS для разрешения изящных завершений работы, если питание устройства сокращается. Теперь это кажется некоторым сервисным парнем, или оператор выключил ПК с кнопкой питания, повреждающей лицензии. Эти устройства расположены в удаленном месте во всем мире и обучении, оператор не может всегда предотвращать это. Кажется, что опции решения 1) Работа с поставщиком для отключения кнопки питания, 2) попытайтесь захватить его и предупредить пользователя возможной гибели, или 3) перепроектируйте дисплей с помощью ОС и приложения, неуязвимого для этого выключения питания.
Я предложил бы так или иначе просто взятию кнопки питания вне досягаемости от пользователя. Возможно, удаление его полностью. И проверка компьютер включает автоматически, когда это получает питание или что-то (не уверенный, но могло быть возможным в BIOS?).
Так или иначе, для всегда на вещи киоска, это действительно отчасти имеет смысл. По крайней мере, это делает для большого количества других аппаратных средств. Где единственный путь к выключению его состоит в том, чтобы отключить электроснабжение.
Я верю единственному способу, которым можно измениться, это путем изменения вручную настроек в BIOS. Это, вероятно, не может быть поймано языком программирования. Если Вы действительно должны, Вы могли бы просто отключить крошечный провод от своей материнской платы, которая переходит к кнопке питания.
Насколько я знаю, Вы корректны в высказывании, что ОС даже не вовлечена в этот тип "завершения работы". Содержание кнопки питания некоторое время является просто сигналом к аппаратным средствам для непосредственного выключения питание ко всем устройствам в компьютере. Нормальный завершают работу/спят / в спящем режиме, события могут, конечно, быть пойманы и обработаны использование WinAPI, как Вы заявляете.
Вы собираетесь ближе разработать SkyNet?
Извините за этот вопрос, но поскольку предложила партия людей, я также полагаю, что это не должно быть сделано возможным, если вообще возможно разработать.
Это не возможно, поскольку это Выключается, происходит ниже уровня операционной системы, таким образом, он похож на отключение, что касается ОС!
Это - действительно механическая энергия прочь, таким образом, будет довольно трудно обойти.
Если это действительно важно, Вы могли бы разъединить кнопку питания и повернуть компьютер вкл\выкл со следом на LAN resp. удаленное завершение работы.
Я надеялся бы, что Вы не можете сделать этого. Я столкнулся с ситуациями неоднократно, где я не мог перезагрузить компьютер никаким другим способом. В таких случаях Вы действительно хотите вынудить пользователя портативных компьютеров отключить источник питания и удалить батарею при выполнении?
Дав то предупреждение, можно писать программное обеспечение для довольно различных ситуаций, где оно имеет больше смысла. Вы могли предоставить больше подробную информацию о мотивации для этого?
Если пользователь может удержать кнопку питания (указание, что они действительно, действительно хотите завершить работу машины), действительно ли они не могут физически удалить питание?
Править: Ответ на комментарий от magsto:
Если все вовлеченные действительно, действительно хотят это - объяснявший им, что, если вещи идут не так, как надо и им нужен к жесткой перезагрузке компьютер, они должны будут перейти к еще более прямому способу выключиться, который я подозреваю, более вероятно, повредит аппаратные средства, чем, "удерживают питание" метод... говорят с производителем устройств. Это кажется, что Вы, вероятно, работаете с определенным устройством, таким образом, они могут настраивать что-то в BIOS для Вас, даже если это не общедоступная опция.
Учитывая, что это - почти всегда действительно плохая идея, я не удивлен, что нет простой поддержки ее, но если Вы спрашиваете производителя может быть некоторый скрытый способ сделать то, что Вы хотите. Я все еще поощрил бы Вас вовлекать всех для размышления обо всех потенциальных последствиях все же.
Отключите силовой кабель от материнской платы и соедините его проводами для хождения все время.:)