IByteBuffer::Clone-Methode
[Die Clone-Methode ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Es ist nicht für die Verwendung in Windows Server 2003 mit Service Pack 1 (SP1) und höher, Windows Vista, Windows Server 2008 und nachfolgenden Versionen des Betriebssystems verfügbar. Die IStream-Schnittstelle bietet ähnliche Funktionen.]
Die Clone-Methode erstellt ein neues Objekt mit einem eigenen Suchzeiger, der auf die gleichen Bytes wie das ursprüngliche IByteBuffer-Objekt verweist.
Syntax
HRESULT Clone(
[out] LPBYTEBUFFER *ppByteBuffer
);
Parameter
-
ppByteBuffer [out]
-
Zeigt bei erfolgreicher Ausführung auf den Speicherort eines IByteBuffer-Zeigers auf das neue Streamobjekt. Wenn Sie die Verwendung des IByteBuffer-Zeigers abgeschlossen haben, geben Sie ihn durch Aufrufen der IUnknown::Release-Funktion frei. Wenn ein Fehler auftritt, ist dieser Parameter NULL.
Rückgabewert
Der Rückgabewert ist ein HRESULT. Der Wert S_OK gibt an, dass der Aufruf erfolgreich war.
Bemerkungen
Diese Methode erstellt ein neues Streamobjekt für den Zugriff auf die gleichen Bytes, aber mit einem separaten Suchzeiger. Das neue Streamobjekt sieht dieselben Daten wie das Quellstreamobjekt. Änderungen, die in ein Objekt geschrieben werden, sind sofort im anderen sichtbar. Die Bereichssperrung wird von den Streamobjekten gemeinsam genutzt.
Die anfängliche Einstellung des Suchzeigers im geklonten Stream instance entspricht der aktuellen Einstellung des Suchzeigers im ursprünglichen Stream zum Zeitpunkt des Klonvorgangs.
Beispiele
Das folgende Beispiel zeigt das Klonen der IByteBuffer-Schnittstelle .
HRESULT hr;
// Clone the buffer.
hr = pIByteBuff->Clone(&pIByteClone);
if (FAILED(hr))
printf("Failed IByteBuffer::Clone\n");
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2003 [nur Desktop-Apps] |
Ende des Supports (Client) |
Windows XP |
Ende des Supports (Server) |
Windows Server 2003 |
Header |
|
Typbibliothek |
|
DLL |
|
IID |
IID_IByteBuffer ist definiert als E126F8FE-A7AF-11D0-B88A-00C04FD424B9 |