Поделиться через


_com_ptr_t::CreateInstance

Блок, относящийся только к системам Майкрософт

Создает новый экземпляр объекта, заданного или CLSIDProgID.

Синтаксис

HRESULT CreateInstance(
   const CLSID& rclsid,
   IUnknown* pOuter=NULL,
   DWORD dwClsContext = CLSCTX_ALL
) throw( );
HRESULT CreateInstance(
   LPCWSTR clsidString,
   IUnknown* pOuter=NULL,
   DWORD dwClsContext = CLSCTX_ALL
) throw( );
HRESULT CreateInstance(
   LPCSTR clsidStringA,
   IUnknown* pOuter=NULL,
   DWORD dwClsContext = CLSCTX_ALL
) throw( );

Параметры

rclsid
Объект CLSID .

clsidString
Строка Юникода, содержащая либо ( CLSID начиная с "{") или a ProgID.

clsidStringA
Многобайтовая строка, использующая кодовую страницу ANSI, которая содержит либо ( CLSID начиная с "{") или a ProgID.

dwClsContext
Контекст для выполняющегося исполняемого кода.

pOuter
Внешний неизвестный для агрегирования.

Замечания

Эти функции-члены вызывают CoCreateInstance для создания нового COM-объект, а затем запрашивают тип интерфейса данного интеллектуального указателя. Результирующий указатель затем инкапсулируется в этот объект _com_ptr_t. Release Вызывается для уменьшения количества ссылок для инкапсулированного указателя ранее. Эта подпрограмма возвращает HRESULT, чтобы указать успешность или сбой.

  • CreateInstance(rclsid,dwClsContext) Создает новый запущенный экземпляр объекта, заданного .CLSID

  • CreateInstance(clsidString,dwClsContext) Создает новый запущенный экземпляр объекта с строкой Юникода, которая содержит либо строку CLSID Юникода (начиная с "{") или a.ProgID

  • CreateInstance(clsidStringA,dwClsContext) Создает новый запущенный экземпляр объекта с многобайтовой строкой символов, которая содержит либо строку CLSID (начиная с "{") или a.ProgID Вызывает MultiByteToWideChar, который предполагает, что строка находится на кодовой странице ANSI, а не на кодовой странице OEM.

Завершение блока, относящегося только к системам Майкрософт

См. также

Класс _com_ptr_t