Отладка приложений

       

В моем случае выполнение TraceSrv


В моем случае выполнение TraceSrv как удаленного сервера на отдельной машине не принимало во внимание каких-либо измеIнений в соединениях. 

Запуск удаленного сервера с надлежащей защитой — довольно простая задача: нужно только при входе в систему зарегистрироваться в качестве пользтователя, имеющего сетевые права. Однако для служб Win32 решение этой задачи требует немного больших усилий. По умолчанию такие службы не имеют никаких полномочий безопасности, поэтому TraceSrv и вызывала соответствующую ошибку всякий раз, когда она пыталась что-то делать с интерфейсом iconnectionPoint, который она получала через параметр вызова. Необходимо было сделать так, чтобы клиент сообщил СОМ+-службам уровень безопасности, который они должны разрешать своим собственным интерфейсам. Уровень безопасности для клиентских интерфейсов определяется с помощью функции CoInitializeSecurity, которая должна вызываться немедленно после того, как ваше приложение вызывает Coinitiaiize.  В программе TraceView, которая написана на языке Visual Basic, функция CoInitializeSecurity не будет работать. Если вывзов CoInitializeSecurity будет первым в функции sub Main, то вы получите код ошибки 0x80010119 (RPC_E_ TOO_LATE), что означает: "Security must be initialized before any interfaces are marshaled or unmarshaled. It cannot be changed once initialized." (Защита должна быть инициализирована перед маршализацией1или демаршализацией любого интерфейса. После инициализации она не может быть изменена.) Нетрудно видеть, что Visual Basic выполняет маршалинг намного раньше того, как пользовательский код получает вызов. 

Маршалинг — передача данных через границы процесса. Здесь речь идет о передаче параметров и возврате результатов при передаче вызова в другое адресное пространство. — Пер.

Обойти это ограничение Visual Basic можно двумя способами. Первый — 1 запустить DCOMCNFG и установить для свойства Default Authentication Level на I вкладке Default Properties значение None. Такое решение подходит для небольшой замкнутой домашней сети, но для крупных реальных сетей разработки это не самое лучшее решение.

Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий