Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Создает моникер OBJREF на основе указателя на объект .
Синтаксис
HRESULT CreateObjrefMoniker(
[in, optional] LPUNKNOWN punk,
[out] LPMONIKER *ppmk
);
Параметры
[in, optional] punk
Указатель на интерфейс IUnknown объекта, который будет представлять моникер.
[out] ppmk
Адрес указателя на интерфейс IMoniker в созданном моникере OBJREF.
Возвращаемое значение
Эта функция может возвращать стандартные возвращаемые значения E_OUTOFMEMORY, E_UNEXPECTED и S_OK.
Комментарии
Клиенты используют моникеры OBJREF для получения маршалированного указателя на выполняющийся объект в адресном пространстве серверов.
Сервер обычно вызывает CreateObjrefMoniker для создания моникера OBJREF, а затем вызывает IMoniker::GetDisplayName и, наконец, освобождает моникер. Отображаемое имя моникера OBJREF имеет следующий вид:
OBJREF:nnnnnnnn
Где nnnnnnnn — это произвольно длинная кодировка base-64, которая инкапсулирует расположение компьютера, конечную точку процесса и идентификатор указателя интерфейса (IPID) выполняющегося объекта.
Затем отображаемое имя можно передать клиенту в виде текста. Например, отображаемое имя может находиться на HTML-странице, скачиваемой клиентом.
Клиент может передать отображаемое имя в MkParseDisplayName, который создает моникер OBJREF на основе отображаемого имени. Вызов моникеров метода IMoniker::BindToObject затем получает маршалированную указатель на запущенный экземпляр на сервере.
Например, компонент COM на стороне сервера, содержащийся на странице Active Server, может создать моникер OBJREF, получить его отображаемое имя и записать отображаемое имя в выходные данные HTML, отправляемые в клиентский браузер. Скрипт, выполняемый на стороне клиента, может использовать отображаемое имя для получения доступа к самому выполняющимся объекту. Например, клиентский скрипт Visual Basic может хранить отображаемое имя в переменной strMyName и включать следующую строку:
objMyInstance = GetObject(strMyName)
Обработчик скриптов внутренне вызывает MkParseDisplayName и IMoniker::BindToObject, а затем может использовать objMyInstance для непосредственной ссылки на выполняющийся объект.
Требования
| Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
| Целевая платформа | Windows |
| Header | objbase.h |
| Библиотека | Ole32.lib |
| DLL | Ole32.dll |
| Набор API | ext-ms-win-com-ole32-l1-1-5 (представлено в Windows 10 версии 10.0.15063) |