Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2012, 07:11   #1
vanesko
Пользователь
 
Регистрация: 12.01.2012
Сообщений: 10
По умолчанию Включение/выключение устройств в win7 x64

Столкнулся со странной проблемой. Требуется выключить устройство средствами SetupAPI. Вот код:
Код:
PCHP.ClassInstallHeader.cbSize := sizeof(TSPClassInstallHeader);
PCHP.ClassInstallHeader.InstallFunction := DIF_PROPERTYCHANGE;
PCHP.Scope := DICS_FLAG_CONFIGSPECIFIC;
PCHP.StateChange := DICS_DISABLE;
if SetupDiSetClassInstallParams(DevInfo,@DeviceInfoData,@PCHP,
       sizeof(TSPPropChangeParams)) then
begin
  SetupDiSetClassInstallParams(DevInfo,@DeviceInfoData,@PCHP,
    sizeof(TSPPropChangeParams));
  SetupDiCallClassInstaller(DIF_PROPERTYCHANGE,DevInfo,@DeviceInfoData);
end;
В windows XP все отлично работает, но в windows 7 x64 - ни какой реакции на код вообще... Может кто-нибудь сталкивался?
vanesko вне форума Ответить с цитированием
Старый 20.01.2012, 09:00   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

права админа проге дали?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.01.2012, 09:37   #3
vanesko
Пользователь
 
Регистрация: 12.01.2012
Сообщений: 10
По умолчанию

Права админа дал, не помогает.
vanesko вне форума Ответить с цитированием
Старый 22.01.2012, 10:10   #4
Rock-n-Rolla
Форумчанин
 
Регистрация: 11.01.2012
Сообщений: 177
По умолчанию

GetLastError?
progromore.i2p - первый русскоязычный портал программистов в скрытосети
Rock-n-Rolla вне форума Ответить с цитированием
Старый 24.01.2012, 14:40   #5
vanesko
Пользователь
 
Регистрация: 12.01.2012
Сообщений: 10
По умолчанию

GetLastError возвращает 3758096949 после функции SetupDiCallClassInstaller(DIF_PROPE RTYCHANGE,DevInfo,@DeviceInfoData); и 0 после SetupDiSetClassInstallParams(DevInf o,@DeviceInfoData,@PCHP,
sizeof(TSPPropChangeParams));
vanesko вне форума Ответить с цитированием
Старый 24.01.2012, 21:42   #6
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

3758096949 это E0000235. такой код ошибки даёт не система, а самоу устройство
rpy3uH вне форума Ответить с цитированием
Старый 24.01.2012, 22:51   #7
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

в 64х битном режиме нужен не только админ, но и 64х битное приложение для выполнения привелегированных операций
f.hump вне форума Ответить с цитированием
Старый 25.01.2012, 06:59   #8
vanesko
Пользователь
 
Регистрация: 12.01.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
в 64х битном режиме нужен не только админ, но и 64х битное приложение для выполнения привелегированных операций
Я тоже об этом думал... Значит, чтобы код работал, нужен DELPHI XE2, т. к. поддержка 64-х битных приложений есть только в нем.
vanesko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Win7 x64 и Win7 x86, возможно ли? Пепел Феникса Операционные системы общие вопросы 9 11.12.2011 14:09
не могу зарегестрировать msflexgrid.ocx в win7 X64! pooli Microsoft Office Excel 9 15.03.2011 21:17
win7 x64 не отабражает локальных дисков helpm Windows 4 21.11.2010 13:19
Нестандартное включение ПК Bat{CMD}_Men Операционные системы общие вопросы 1 24.08.2009 17:04
Включение-выключение компьютера с помощью Delphi BLACK_KOT Помощь студентам 6 01.05.2007 09:55