Condividi tramite


Metodo IByteBuffer::Clone

[Il metodo Clone è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Non è disponibile per l'uso in Windows Server 2003 con Service Pack 1 (SP1) e versioni successive, Windows Vista, Windows Server 2008 e versioni successive del sistema operativo. L'interfaccia IStream offre funzionalità simili.

Il metodo Clone crea un nuovo oggetto con il proprio puntatore seek che fa riferimento agli stessi byte dell'oggetto IByteBuffer originale.

Sintassi

HRESULT Clone(
  [out] LPBYTEBUFFER *ppByteBuffer
);

Parametri

ppByteBuffer [out]

In caso di esito positivo, punta alla posizione di un puntatore IByteBuffer al nuovo oggetto flusso. Al termine dell'uso del puntatore IByteBuffer , rilasciarlo chiamando la funzione IUnknown::Release . Se si verifica un errore, questo parametro è NULL.

Valore restituito

Il valore restituito è HRESULT. Un valore di S_OK indica che la chiamata ha avuto esito positivo.

Commenti

Questo metodo crea un nuovo oggetto flusso per accedere agli stessi byte, ma usando un puntatore di ricerca separato. Il nuovo oggetto flusso visualizza gli stessi dati dell'oggetto flusso di origine. Le modifiche scritte in un oggetto sono immediatamente visibili nell'altra. Il blocco di intervalli viene condiviso tra gli oggetti flusso.

L'impostazione iniziale del puntatore seek nell'istanza del flusso clonato corrisponde all'impostazione corrente del puntatore seek nel flusso originale al momento dell'operazione di clonazione.

Esempio

Nell'esempio seguente viene illustrata la clonazione dell'interfaccia IByteBuffer .

HRESULT  hr;

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

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Fine del supporto client
Windows XP
Fine del supporto server
Windows Server 2003
Intestazione
Scardssp.h
Libreria dei tipi
Scardssp.tlb
DLL
Scardssp.dll
IID
IID_IByteBuffer è definito come E126F8FE-A7AF-11D0-B88A-00C04FD424B9