<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Tue, 24 Nov 2009 16:43:54 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/ru-ru/forums/87/feed" rel="self" type="application/rss+xml" />
    <title>Intel Software Network - <![CDATA[ Технологии управления ]]> фид</title>
    <link>http://software.intel.com/ru-ru/forums/87</link>
    <description></description>
    <language>ru-ru</language>
    <item>
      <title>Проблема взаимодействия 32-битного приложения и 64-битной библиотеки</title>
      <description><![CDATA[ <p>Разрабатывается 32-разрядное приложение. Сначала оно делалось под Windows XP, потом заказчик захотел, чтобы оно работало и под Висту с 7-кой. Поправили. Но теперь он возжелал, чтобы оно ещё работало и в 64-разрядных версиях Висты и Win7. И вот здесь появилась проблема. Специфика программы такова, что она внедряет во все другие визуальные приложения свою DLL. А затем в некоторых случаях общается с ними посредством сообщений.</p>
<p>В 64-битных виндах было замечено, что не все приложения "контачат" с нашим. Оказалось, что 32-битные приложения в Windows не могут загружать 64-битные DLL (и наоборот), а в 64-битные процессы может быть внедрена только 64-битная DLL. Соответственно все 64-битные программы оказывались для нас как бы невидимы.</p>
<p>Был найден следующий выход. Собираются 2 версии нашей библиотеки 32 и 64-бит. Основная программа после внедрения 32-битной библиотеки проверяет, не 64-битная ли Windows? Если да, то запускается отдельная 64-битная программа (без окна), которая уже внедряет 64-битную версию той же DLL (которой передаётся хэндл основной программы, чтобы она знала, с кем общаться).</p>
<p>И вот здесь имеено проблема: 64-битная DLL загружается, но не внедряется. Дальше приведу код с комментариями. Может я вообще что-то не то делаю?</p>
<p>Полностью весь код того маленького 64-битного приложения, которое должно внедрить 64-битную библиотеку:</p>
<p>#include "stdafx.h"<br />#include &lt;windows.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include "../Inc/trace.h"<br /><br />int _tmain(int argc, _TCHAR* argv[])<br />{<br /> if(argc == 2)<br /> {<br /> int _hwnd;<br /><br /> if(!wcscmp(argv[1], L"-unload"))<br /> _hwnd = 0;<br /> else<br /> _hwnd = _wtoi(argv[1]);<br /> <br /> HMODULE hookDll = LoadLibrary(_T("FWHook64.dll")); //  загружаем DLL<br /> if(hookDll)<br /> {<br /> if (_hwnd == 0) trace(true, "   64-bit DLL unloaded\n");<br /> else trace(true, "   64-bit DLL loaded\n");<br /><br /> bool res = false;<br /> BOOL (WINAPI *SetFWHookProc)(DWORD dwThreadId, HWND wndServerWindow);<br /> (FARPROC&amp;)SetFWHookProc = GetProcAddress(hookDll, "SetFWHook"); // ищем в ней нужную функцию<br /><br /> if(SetFWHookProc)<br /> {<br /> trace(true, "   SetFWHook procedure found\n");<br /><br /> if(_hwnd)<br /> res = SetFWHookProc(0, (HWND)_hwnd);<br /> else<br /> res = SetFWHookProc(-1, NULL);<br /><br /> if(res)	trace(true, "   SetFWHook complete succesful\n");<br /> else	trace(true, "   SetFWHook complete unsuccesful\n");<br /> }<br /> FreeLibrary(hookDll);<br /> } <br /> }<br /> return 0;<br />}</p>
<p>trace'ы это запись в лог. В функции SetFWHook просто ставится или снимается глобальный хук при помощи функции SetWindowsHookEx:</p>
<p>SetWindowsHookEx(WH_GETMESSAGE, GetPostMsgProc, g_hinstDll, dwThreadId);</p>
<p>В логе запись "64-bit DLL loaded" появляется, однако запись "SetFWHook procedure found" не появляется никогда. То есть получается, что функция GetProcAddress не выполняется. MSDN говорит, что эта функция находится в Kernel32.dll, что косвенно говорит о том, что в 64-й винде она может быть реализована по-другому? Или надо использовать другую функцию?</p>
<p>Какие ещё идеи?</p>
<p>Усложняется ещё тем, что у меня самого процессор и соответственно ОС - 32-битные ((. т.е. самому много тестов мне сделать затруднительно. Я делаю, заказчик у себя запускает и сообщает какие изменения.</p>
<p>P.S. Как тут сделать подсветку синтаксиса, не разобрался. Вставлялка кода по-моему просто убирает все переносы строк, и пишет весь код в один абзац.</p> ]]></description>
      <link>http://software.intel.com/ru-ru/forums/87/topic/68530/</link>
      <pubDate>Tue, 22 Sep 2009 01:55:25 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/ru-ru/forums/87/topic/68530/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Intel AMT DTK - совместимость версий AMT &amp;#34;сверху вниз&amp;#34;</title>
      <description><![CDATA[ <p>Приветствую всех!.. и прошу помощи у профессионалов.<br /><br />Есть раритетные платы S3000AH, AMT v.1.2.3 - не удается заставить работать SOL через "Manageability Terminal Tool" из комплекта DTK доступной версии - подключение к сервису проходит успешно, но окно терминала ничего не выдает, а при инициализации "перезагрузки с последующим входом в BIOS" через несколько секунд после перезагрузки сервера программа валится в исключение. Commander Tool из DTK сразу честно говорит, что v.1.0 не поддерживается, может и с SOL такая же проблема?.. в связи с этим вопросы:<br /><br />- поддерживает ли текущая версия DTK SOL из AMT v.1.x?<br />- есть ли другой способ задействовать SOL на AMT 1.x?.. может доступны старые версии DTK?</p> ]]></description>
      <link>http://software.intel.com/ru-ru/forums/87/topic/65422/</link>
      <pubDate>Thu, 07 May 2009 03:03:43 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/ru-ru/forums/87/topic/65422/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Small business -&gt; Enterprise Mode</title>
      <description><![CDATA[ Здравствуйте,
<div>На данный момент у меня установлен Small business Mode. Я хочу попробывать установить и поработать с Enterprise Mode. Если пошаговая документация, которая описывает шаги для корректной установки Enterprise Mode? Я попробывал установить Enterprise Mode в Manageability Director Tool, все получилось , но удаленно работать отказывается. Видимо я пропустил еще какие-то шаги с сертификатом.</div>
<div>Геннадий.  </div> ]]></description>
      <link>http://software.intel.com/ru-ru/forums/87/topic/64672/</link>
      <pubDate>Fri, 03 Apr 2009 02:46:17 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/ru-ru/forums/87/topic/64672/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>AMT различия в версиях</title>
      <description><![CDATA[ Пожалуйста, расскажите об обновлениях Intel AMT v1.0 до v3.0 а также разница между "Small business" и "Corporate". Наличием дополнительного сервера и шифрованием - это понятно, но интересен момент: возможна ли передача графической консоли по средствам "ИнтелАМТ" (я имею в виду, грубо, передача удаленного рабочего стола WinXP без агентов LANDesk или SyAM Software), так как если "зависший" процесс "подвешивает" ОС, следовательно, агент не сможет должным образом "переслать" удаленный рабочий стол, следовательно выход - перезагрузка, однако, иногда бывает очень важно, какой из процессов "подвешивает" ОС, чтобы его "снять" или "отредактировать".<br /><br />Текстовую консоль Intel AMT передает отлично (FreeDOS), за что море благодарности.<br /> ]]></description>
      <link>http://software.intel.com/ru-ru/forums/87/topic/64522/</link>
      <pubDate>Wed, 25 Mar 2009 15:31:33 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/ru-ru/forums/87/topic/64522/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>AMT. Circuit Breaker Interface</title>
      <description><![CDATA[ Ни где не описано, какие значения может принимать CircuitBreakerIPLayeredPortSimpleType. При установке значений для SourcePort и DestinationPort (например 1000 и 2000), получаю ошибку "Failed to parse the request,Invalid parameter".
<div>Manageability Commander Tool тоже ругается и выдает ошибку. Какие значения могут принимать SourcePort и DestinationPort ?<br /></div> ]]></description>
      <link>http://software.intel.com/ru-ru/forums/87/topic/64291/</link>
      <pubDate>Sat, 14 Mar 2009 23:03:34 -0700</pubDate>
      <guid isPermaLink="true">http://software.intel.com/ru-ru/forums/87/topic/64291/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>О форуме &amp;quot;Технологии управления&amp;quot;</title>
      <description><![CDATA[ Форум "Технологии управления" предназначен для обсуждения аспектов виртуализации и управляемости компьютерных систем, включая технологии Intel® vPro™ и Intel® AMT, но не ограничиваясь ими :) <br>Как эффективно управлять парком компьютеров организации? Как создавать программное обеспечение для поддержки устойчивой ИТ инфраструктуры? Сравнение программных решений, аппаратных платформ, примеры использования и обмен опытом... Предлагаю начать дискуссии в этой группе форума. ]]></description>
      <link>http://software.intel.com/ru-ru/forums/87/topic/63180/</link>
      <pubDate>Wed, 30 Nov -001 00:00:00 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/ru-ru/forums/87/topic/63180/</guid>
      <category>ISN General</category>
    </item>
  </channel></rss>