Compartilhar via


IEnumVARIANT::Clone

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Esse método cria um copiar do atual estado da enumeração.

Syntax

HRESULT Clone( 
  IEnumVARIANT FAR* FAR* ppEnum 
);

Parameters

  • ppEnum
    [out] Em retorno, ponteiro para a localidade do enumerador de clone.

Return Value

Se o método for bem-sucedido, o valor de retorno é S_OK.

Se não houver memória insuficiente para completo a operação, o valor de retorno é E_OUTOFMEMORY.

Remarks

Usando essa função, um apontar específico na seqüência de enumeração pode ser registrada e então retornado para em um tempo posterior. O enumerador retornado está real a mesma interface que o que está sendo clonado.

Não há nenhuma garantia que exatamente o mesmo conjunto de variantes irá ser enumerado o segundo tempo conforme foi enumeradas primeiro. Embora um duplicado exato seja desejável, o resultado depende de como a coleção sendo enumerada.

Você pode localizar que é impraticável para algumas coleções para manter essa condição (por exemplo, uma enumeração os arquivos de um Diretório).

Example

O seguinte implementa codificar Clone Para coleções no arquivo de exemplo linhas Enumvar.cpp.

STDMETHODIMP
CEnumVariant::Clone(IEnumVARIANT FAR* FAR* ppEnum)
{
CEnumVariant FAR* penum = NULL;
HRESULT hr;
*ppenum = NULL;
hr = CEnumVariant::Create(m_psa, m_cElements, &penum);
if (FAILED(hr))
goto error;
penum->AddRef();
penum->m_lCurrent = m_lCurrent;
*ppenum = penum;
  return NOERROR;
error:
if (penum)
penum->Release();
return hr;
}

Requirements

Header oaidl.h, oaidl.idl
Library oleaut32.lib, uuid.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

IEnumVARIANT