_com_ptr_t::CreateInstance
Específico da Microsoft
Cria uma nova instância de um objeto dado um CLSID ou ProgID.
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( );
Parâmetros
rclsid
O CLSID de um objeto.clsidString
Uma cadeia de caracteres Unicode que contém CLSID (começando com “{") ou ProgID.clsidStringA
Uma cadeia de caracteres multibyte, usando a página de códigos ANSI, que contém CLSID (começando com “{") ou ProgID.dwClsContext
Contexto para execução do código executável.pOuter
O externo desconhecido para agregação.
Comentários
Essas funções membro chamam CoCreateInstance para criar um novo objeto COM e, em seguida, buscam o tipo de interface desse ponteiro inteligente. O ponteiro resultante é encapsulado nesse objeto _com_ptr_t. Release é chamado para diminuir a contagem de referências para o ponteiro anteriormente encapsulado. Essa rotina retorna HRESULT para indicar êxito ou falha.
CreateInstance( rclsid**,** dwClsContext ) Cria uma nova instância em execução de um objeto a partir de um CLSID.
CreateInstance( clsidString**,** dwClsContext ) Cria uma nova instância em execução de um objeto a partir de uma cadeia de caracteres Unicode que contenha um CLSID (começando por "{") ou um ProgID.
CreateInstance( clsidStringA**,** dwClsContext ) Cria uma nova instância em execução de um objeto a partir de uma cadeia de caracteres multibyte que contenha um CLSID (começando por "{") ou um ProgID. Chama MultiByteToWideChar, que presume que a cadeia de caracteres esteja na página de códigos ANSI em vez de uma página de códigos OEM.
FIM de Específico da Microsoft