Для некоторых свойств возвращается pv.ToString()=="System.__ComObject", и pv.GUID={00000000-0000-0000-0000-000000000000}.
Зная точный тип COM-объекта можно использовать маршалинг, но основная проблема: узнать этот злосчастный тип, или хотя бы его GUID.
Ваши предложения?
Избави бог от дураков, а с врагами и сами, как-нибудь, разберемся...
Hello, "korzey" > Собственно сей вопрос я задавал на GDN > http://www.gotdotnet.ru/Forums/Common/173185.aspx, но никакого > вразумительного ответа не получил. Однако, Надежда — девка крепкая... > > Cразу пресеку ненужный флейм: "Искомые" объекты НЕ "держат" интерфейсы > IADs!! Посему, не стоит предлагать "привести их к IADs, и копать > там"... >
Не все интерфейсы IADчтототам наследуются от IADs. Например,
IADsLargeInteger, IADsPropertyEntry или IADsPropertyValue. т.е. надо было
открыть MSDN и перед тем, как начинать чуть-чуть подумать... а не слепо
пытаться запросить IADs. например, можно посмотреть на имя свойства и
подумать, каким интерейсом оно может выражаться...
вообще, от IADs наследуются ноды в дереве. А уже свойства каждой ноды
выражаются другими интерфейсами.
Posted via RSDN NNTP Server 1.9
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Hello, "korzey" >> Собственно сей вопрос я задавал на GDN >> http://www.gotdotnet.ru/Forums/Common/173185.aspx, но никакого >> вразумительного ответа не получил. Однако, Надежда — девка крепкая... >> >> Cразу пресеку ненужный флейм: "Искомые" объекты НЕ "держат" интерфейсы >> IADs!! Посему, не стоит предлагать "привести их к IADs, и копать >> там"... >>
TK>Не все интерфейсы IADчтототам наследуются от IADs. Например, TK>IADsLargeInteger, IADsPropertyEntry или IADsPropertyValue. т.е. надо было TK>открыть MSDN и перед тем, как начинать чуть-чуть подумать... а не слепо TK>пытаться запросить IADs. например, можно посмотреть на имя свойства и TK>подумать, каким интерейсом оно может выражаться... TK>вообще, от IADs наследуются ноды в дереве. А уже свойства каждой ноды TK>выражаются другими интерфейсами.
Ой какой я радостный... А я-то и не знал, как оно на самом деле... Пойду, голову пеплом посыплю...
А на счет вышевысказанного — я умею пользоваться ADSIEdit'ом, я "пишу" с 1989 года, я сисадмин на 220 рабочих мест под AD/Win2k. Возможно это Вы что-то недопоняли в вопросе? Ну, тогда читайте до просветления....
Меня же интересует, почему .NET значения некоторых свойств понимает, а некоторых нет, и ToString возвращает только "__ComObject". Меня, как раз, и интересовало, как узнать о типе "неизвестного" объекта???
И глазками я смотреть могу, слава богу... Вот только придется писать слишком высокоинтеллектуальный код, что бы он по названию свойства пытался понять, что за объект там спрятан, бо завтра добавится еще пара свойств в "дереве", и надо будет опять пересобирать проект.
Ну и нахрена нужен ТАКОЙ RTTI?
Избави бог от дураков, а с врагами и сами, как-нибудь, разберемся...
Hello, "korzey" > > А на счет вышевысказанного — я умею пользоваться ADSIEdit'ом, я "пишу" с > 1989 года, я сисадмин на 220 рабочих мест под AD/Win2k. Возможно это Вы > что-то недопоняли в вопросе? Ну, тогда читайте до просветления.... > Меня же интересует, почему .NET значения некоторых свойств понимает, а > некоторых нет, и ToString возвращает только "__ComObject". Меня, как раз, > и интересовало, как узнать о типе "неизвестного" объекта??? >
Возможно, что и не понял. Но, мне казалось, что 16 лет достаточный срок
что-бы освоить определение типа произвольного COM объекта. Что касается
.NET, то наверное, сразу было видно, что System.DirectoryServices это лишь
ограниченная часть ADSI...
> И глазками я смотреть могу, слава богу... Вот только придется писать > слишком высокоинтеллектуальный код, что бы он по названию свойства пытался > понять, что за объект там спрятан, бо завтра добавится еще пара свойств в > "дереве", и надо будет опять пересобирать проект.
Многое зависит от того, какие свойства в дереве будут добавлены. Вполне
возможно, что проект придется и пересобрать. Однако, можно заметить, что
большинство интерфесов наследуются от IDispatch получить от него список
свойств и их значения не так уж сложно...
Posted via RSDN NNTP Server 1.9
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Hello, "korzey" >> >> А на счет вышевысказанного — я умею пользоваться ADSIEdit'ом, я "пишу" с >> 1989 года, я сисадмин на 220 рабочих мест под AD/Win2k. Возможно это Вы >> что-то недопоняли в вопросе? Ну, тогда читайте до просветления.... >> Меня же интересует, почему .NET значения некоторых свойств понимает, а >> некоторых нет, и ToString возвращает только "__ComObject". Меня, как раз, >> и интересовало, как узнать о типе "неизвестного" объекта??? >>
TK>Возможно, что и не понял. Но, мне казалось, что 16 лет достаточный срок TK>что-бы освоить определение типа произвольного COM объекта. Что касается TK>.NET, то наверное, сразу было видно, что System.DirectoryServices это лишь TK>ограниченная часть ADSI...
Если писать на С\С++, то не вопрос. Потому и закинул в тему .NET'а, что желательно сделать на C#. На плюсах уже "рыбу" сделал, и работает. Но, очень хотелось бы сделать это на "RTTI.NET"...
>> И глазками я смотреть могу, слава богу... Вот только придется писать >> слишком высокоинтеллектуальный код, что бы он по названию свойства пытался >> понять, что за объект там спрятан, бо завтра добавится еще пара свойств в >> "дереве", и надо будет опять пересобирать проект.
TK>Многое зависит от того, какие свойства в дереве будут добавлены. Вполне TK>возможно, что проект придется и пересобрать. Однако, можно заметить, что TK>большинство интерфесов наследуются от IDispatch получить от него список TK>свойств и их значения не так уж сложно...
Ну, если только опять в Interop/Marshal лезть.
Блин, а счастье было так возможно... , и так возможно... и вот так...
Избави бог от дураков, а с врагами и сами, как-нибудь, разберемся...
Здравствуйте, TK, Вы писали:
TK>Hello, "korzey" >> >> некоторых нет, и ToString возвращает только "__ComObject". Меня, как раз, >> и интересовало, как узнать о типе "неизвестного" объекта??? >>
TK>... >>...
TK>Многое зависит от того, какие свойства в дереве будут добавлены. Вполне TK>возможно, что проект придется и пересобрать. Однако, можно заметить, что TK>большинство интерфесов наследуются от IDispatch получить от него список TK>свойств и их значения не так уж сложно...