Compartilhar via


CoGetInstanceFromFile

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função cria um novo objeto e inicializa-lo de usar um arquivo IPersistFile::Load.

Syntax

HRESULT CoGetInstanceFromFile(
  COSERVERINFO* pServerInfo,
  CLSID* pclsid,
  IUnknown* punkOuter,
  DWORD dwClsCtx,
  DWORD grfMode,
  OLECHAR* szName,
  ULONG cmq,
  MULTI_QI* rgmqResults
);

Parameters

  • pServerInfo
    [no] Ponteiro para um COSERVERINFO estrutura que especifica a máquina na qual o objeto criar instância e a configuração autenticação a ser usado.

    Pode ser NULL, no qual maiúsculas e minúsculas o objeto é instanciado (1) on o atual máquina, (2) at a máquina especificada na RemoteServerName nomeado-valor para a classe no Registro ou (3) na máquina onde o szName arquivo reside se a ActivateAtStorage nomeado - valor é especificada para a classe no Registro ou não há nenhum local informações Registro.

  • pclsid
    [no] Ponteiro para a classe do objeto para criar. Pode ser NULL, no qual maiúsculas e minúsculas há um chamar para GetClassFile, usando szName como seu parâmetro para a classe de objeto a serem get instanciado.
  • punkOuter
    [no] Quando não-NULL, indica a instância está sendo criada como parte de um agregado, e punkOuter Deve ser usado como o ponteiro para controlar instância de nova IUnknown.

    Agregação não está com suporte cruzado - processo ou cruzado - máquina. Ao instanciar um objeto out of processo, CLASS_E_NOAGGREGATION será retornado se punkOuter não-NULL.

  • dwClsCtx
    [no] Valores extraídos o CLSCTX enumeração.
  • grfMode
    [no] Sinalizadores que especificam como o arquivo é a ser aberto. Os valores são tirados do STGM enumeração.
  • szName
    [no] Arquivo para inicializar o objeto com IPersistFile::Load. Pode não ser NULL.
  • cmq
    [no] Número de estruturas MULTI_QI in rgmqResults. Deve ser maior que zero.
  • rgmqResults
    [no] Matriz de MULTI_QI estruturas. Cada estrutura possui três membros: o identificador para um (interface solicitadapIID), a localidade para Retornar (ponteiro de interfacepItf) e a valor de retorno do chamar para Falha de QueryInterface (hr).

Return Value

Essa função suporta o padrão valor de retorno E_INVALIDARG, bem como o seguinte:

  • S_OK
    Indica sucesso.
  • CO_S_NOTALLINTERFACES
    Pelo menos um, mas não todos as interfaces solicitadas na rgmqResults matriz foram recuperadas com êxito. O hr campo de cada um de MULTI_QI estruturas no rgmqResults Indica com S_OK ou E_NOINTERFACE se ou não a interface específica foi retornado.
  • E_NOINTERFACE
    Nenhum das interfaces solicitadas na rgmqResults matriz foram recuperadas com êxito.

Remarks

CoGetInstanceFromFile Cria um novo objeto e inicializa-lo de usar um arquivo IPersistFile::Load. O resultado desta função é semelhante ao criar uma instância com um chamar para CoCreateInstanceEx, seguido por um chamar inicializar para IPersistFile::Load, com a seguinte distinções importantes:

  • Rede menos arredondar viagens são exigido por essa função ao instanciar um objeto em um máquina remota.
  • Na maiúsculas e minúsculas onde dwClsCtx é definido como CLSCTX_REMOTE_SERVER e pServerInfo é NULL, se a classe estiver registrado com o ActivateAtStorage Sub-Key ou não associado tem informações Registro, essa função será criar instância um objeto sobre a máquina onde szName reside, fornecendo o mínimo possível tráfego de rede.
    Por exemplo, se szName especificado "\\myserver\users\johndo\file", o objeto pode ser instanciado na "MyServer" máquina e o objeto poderia acessar o arquivo diretamente.

Para determinar se a plataforma oferece suporte a essa função, consulte Determinando suporte COM APIs.

Requirements

Header objbase.h
Library ole32.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

COM Functions
CoGetInstanceFromIStorage