Função OleRegEnumFormatEtc (ole2.h)
Cria um objeto de enumeração que pode ser usado para enumerar formatos de dados que um servidor de objetos OLE registrou no registro do sistema. Um aplicativo de objeto ou manipulador de objetos chama essa função quando deve enumerar esses formatos. Os desenvolvedores de aplicativos de objeto DLL personalizados usam essa função para emular o comportamento do manipulador de objetos padrão.
Sintaxe
HRESULT OleRegEnumFormatEtc(
[in] REFCLSID clsid,
[in] DWORD dwDirection,
[out] LPENUMFORMATETC *ppenum
);
Parâmetros
[in] clsid
CLSID da classe cujos formatos estão sendo solicitados.
[in] dwDirection
Indica se os formatos que podem ser passados para IDataObject::GetData ou formatos que podem ser passados para IDataObject::SetData. Os valores possíveis são obtidos do DATADIR de enumeração.
[out] ppenum
Endereço da variável de ponteiro IEnumFORMATETC que recebe o ponteiro de interface para o objeto de enumeração.
Retornar valor
Essa função retorna S_OK com êxito. Outros valores possíveis incluem o seguinte.
Código de retorno | Descrição |
---|---|
|
Memória insuficiente para a operação. |
|
Não há CLSID registrado para o objeto de classe. |
|
Erro ao ler o registro. |
|
A chave DataFormats/GetSet está ausente do registro. |
Comentários
Os aplicativos de objeto podem pedir ao OLE para criar um objeto de enumeração para estruturas FORMATETC para enumerar formatos de dados com suporte de uma das duas maneiras. Uma maneira é chamar OleRegEnumFormatEtc. A outra é retornar OLE_S_USEREG em resposta a chamadas do manipulador de objetos padrão para IDataObject::EnumFormatEtc. OLE_S_USEREG instrui o manipulador padrão a chamar OleRegEnumFormatEtc. Como os aplicativos de objeto DLL não podem retornar OLE_S_USEREG, eles devem chamar OleRegEnumFormatEtc em vez de delegar o trabalho para o manipulador de objetos. Com o ponteiro IEnumFORMATETC fornecido para o objeto , você pode chamar os métodos de objeto de enumeração padrão para fazer a enumeração.
A função OleRegEnumFormatEtc e suas funções irmãos, OleRegGetUserType, OleRegGetMiscStatus e OleRegEnumVerbs, fornecem uma maneira para os desenvolvedores de aplicativos de objeto DLL personalizados emularem o comportamento do manipulador de objetos padrão do OLE na obtenção de informações sobre objetos do registro. Ao usar essas funções, você evita o trabalho considerável de escrever o seu próprio e as armadilhas inerentes ao trabalho diretamente no Registro. Além disso, você obtém aprimoramentos futuros e otimizações dessas funções sem precisar codifique-as por conta própria.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ole2.h |
Biblioteca | Ole32.lib |
DLL | Ole32.dll |