Compartilhar via


Método IByteBuffer::Clone

[O método Clone está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele não está disponível para uso no Windows Server 2003 com Service Pack 1 (SP1) e posterior, Windows Vista, Windows Server 2008 e versões subsequentes do sistema operacional. A interface IStream fornece funcionalidade semelhante.]

O método Clone cria um novo objeto com seu próprio ponteiro de busca que faz referência aos mesmos bytes do objeto IByteBuffer original.

Sintaxe

HRESULT Clone(
  [out] LPBYTEBUFFER *ppByteBuffer
);

Parâmetros

ppByteBuffer [out]

Quando bem-sucedido, aponta para o local de um ponteiro IByteBuffer para o novo objeto de fluxo. Quando terminar de usar o ponteiro IByteBuffer , solte-o chamando a função IUnknown::Release . Se ocorrer um erro, esse parâmetro será NULL.

Valor retornado

O valor retornado é um HRESULT. Um valor de S_OK indica que a chamada foi bem-sucedida.

Comentários

Esse método cria um novo objeto de fluxo para acessar os mesmos bytes, mas usando um ponteiro de busca separado. O novo objeto de fluxo vê os mesmos dados que o objeto de fluxo de origem. As alterações gravadas em um objeto são imediatamente visíveis na outra. O bloqueio de intervalo é compartilhado entre os objetos de fluxo.

A configuração inicial do ponteiro seek na instância de fluxo clonada é a mesma da configuração atual do ponteiro seek no fluxo original no momento da operação de clone.

Exemplos

O exemplo a seguir mostra a clonagem da interface IByteBuffer .

HRESULT  hr;

// Clone the buffer.
hr = pIByteBuff->Clone(&pIByteClone);
if (FAILED(hr))
  printf("Failed IByteBuffer::Clone\n");

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
Fim do suporte ao cliente
Windows XP
Fim do suporte ao servidor
Windows Server 2003
Cabeçalho
Scardssp.h
Biblioteca de tipos
Scardssp.tlb
DLL
Scardssp.dll
IID
IID_IByteBuffer é definido como E126F8FE-A7AF-11D0-B88A-00C04FD424B9