Outproc com server refs

Тема в разделе "WASM.WIN32", создана пользователем Velheart, 29 июл 2009.

  1. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    Привет. Может кто-нибудь знает: можно ли найти какие процессы(может даже апартменты?) держат в памяти некоторый outproc-server? Ситуация осложняется тем, что он еще через IServiceProvider может выдавать всем желающим разные объекты из inproc серверов подгруженных к нему. Насколько я помню после убивания процесса, держащего ссылку на аутпроц-сервер, тот через некоторое время дохнет, а значит в нем должна какая-то инфа храниться..Несколько дней бьюсь над багой, описанной выше, все найденные мной анализом кода ссылки релизятся, буду благодарен за любые идеи)
     
  2. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    We understand English :)
     
  3. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    Раскладку лениво было переключать))
     
  4. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    Velheart
    Попробуй отслеживать "внешних" клиентов, реализовав в своём объекте IExternalConnection, и отслеживать таким образом ID их процессов в IExternalConnection::AddConnection/ReleaseConnection, используя RpcServerInqBindingHandle и RpcServerInqCallAttributes.
     
  5. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    green
    Сенкс, то, что нужно))
     
  6. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    RpcServerInqBindingHandle тока в Висте, эт не подходит..
     
  7. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    Velheart
    Ну это ведь для отладки только, не так ли?
    Но если уж нужно, то можешь воспрользоваться недокументированной I_RpcGetCurrentCallHandle (из rpcrt4.dll).
    Вот прототип:
    Код (Text):
    1. RPC_BINDING_HANDLE __stdcall I_RpcGetCurrentCallHandle)();
     
  8. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    green

    Ага, но для отладки нужна вся система, которая настолько монструозна, что обитает только на тестовых машинах и машинах заказчика))

    Сенкс, буду пробовать