|
COM Interop. Чего я не понимаю.
|
|||
---|---|---|---|
#18+
Продолжая разаработку редактора , решил сделать более полную поддержку буфера обмена - без ограничений на размер текста. И столкнулся с некоторыми непонятными моментами. Во первых буфер обмена реализован на COM, и передача данных возможна через глобальную памят (не интересует) или через COM объект с интерфейсом IStream. И в нём есть метод чтения Интересен вопрос с первым параметром. Указатель в память. Чего я не понимаю: в память какого процесса? Логично предположить что клиента. Но как COM сервер отображает эти памят в своё адресное пространство? И откудого он вобще знает границы региона отображения? Допустим эта магия скрывается за чётким указанием в этом документе Но посмотрим на реализацию System.Windows.Forms.DataStreamFromComStream И в частности на метод Read. Вопрос остаётся открытым: откудого COM / .Net Marshaler знает границы региона отображения? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2018, 18:44 |
|
COM Interop. Чего я не понимаю.
|
|||
---|---|---|---|
#18+
mikronНо как COM сервер отображает эти памят в своё адресное пространство? Interop COM в адресном пространстве клиента. Память одна и та же. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2018, 09:01 |
|
COM Interop. Чего я не понимаю.
|
|||
---|---|---|---|
#18+
Petro123mikronНо как COM сервер отображает эти памят в своё адресное пространство? Interop COM в адресном пространстве клиента. Память одна и та же. А если COM сервер исполняется в другом процессе или даже на другой машине? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2018, 10:19 |
|
COM Interop. Чего я не понимаю.
|
|||
---|---|---|---|
#18+
mikronPetro123пропущено... Interop COM в адресном пространстве клиента. Память одна и та же. А если COM сервер исполняется в другом процессе или даже на другой машине? В простом случае это аналог DLL-ки. В боллее сложном это и зовется по другому сервер автоматизации, OLE Server. Например ворд, эксель. Тогда маршаллинг, сериализация и все дела. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2018, 10:46 |
|
COM Interop. Чего я не понимаю.
|
|||
---|---|---|---|
#18+
Petro123mikronА если COM сервер исполняется в другом процессе или даже на другой машине? В простом случае это аналог DLL-ки. Что за профанация. COM - аналог DLL? Может вы неудачно высказались. Надеюсь разницу между interop и COM interop понимаете? Petro123В боллее сложном это и зовется по другому сервер автоматизации, OLE Server. Например ворд, эксель. Тогда маршаллинг, сериализация и все дела. В терминологии Майкрософта это называется COM server Вопрос остаётся открытым: откудого COM / .Net Marshaler знает границы региона отображения? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2018, 11:08 |
|
COM Interop. Чего я не понимаю.
|
|||
---|---|---|---|
#18+
mikron, Я вам сказал, доступным языком про это: https://msdn.microsoft.com/en-us/library/windows/desktop/ms693344(v=vs.85).aspx Вы же с вопросом, а не я. Ищите другие аргументы. Кто против. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2018, 12:56 |
|
|
start [/forum/topic.php?fid=20&msg=39654318&tid=1399348]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
73ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 155ms |
0 / 0 |