Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Маршалирует указатель интерфейса из одного потока в другой в том же процессе.
Синтаксис
HRESULT CoMarshalInterThreadInterfaceInStream(
[in] REFIID riid,
[in] LPUNKNOWN pUnk,
[out] LPSTREAM *ppStm
);
Параметры
[in] riid
Ссылка на идентификатор маршалированного интерфейса.
[in] pUnk
Указатель на интерфейс для маршалинга, который должен быть производным от IUnknown. Этот параметр может принимать значение NULL.
[out] ppStm
Адрес переменной указателя IStream*, которая получает указатель интерфейса на поток, содержащий маршалированные интерфейсы.
Возвращаемое значение
Эта функция может возвращать стандартные возвращаемые значения E_OUTOFMEMORY и S_OK.
Комментарии
Функция CoMarshalInterThreadInterfaceInStream позволяет объекту легко и надежно маршалировать указатель интерфейса на другой поток в том же процессе. Поток, возвращаемый в параметре ppStm , гарантированно будет вести себя правильно, когда клиент, работающий в принимающем потоке, пытается отменить маркер указателя. Затем клиент может вызвать CoGetInterfaceAndReleaseStream , чтобы отменить маршал указателя интерфейса и освободить объект потока.
Функция CoMarshalInterThreadInterfaceInStream выполняет следующие задачи:
- Создает объект потока.
- Передает IStream объекта потока указатель на CoMarshalInterface.
- Возвращает указатель IStream на вызывающий объект.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
| Целевая платформа | Windows |
| Header | combaseapi.h (включая Objbase.h) |
| Библиотека | Ole32.lib |
| DLL | Ole32.dll |