CoTaskMemRealloc-Funktion (combaseapi.h)

Ändert die Größe eines zuvor zugewiesenen Aufgabenspeicherblocks.

Syntax

LPVOID CoTaskMemRealloc(
  [in, optional] LPVOID pv,
  [in]           SIZE_T cb
);

Parameter

[in, optional] pv

Ein Zeiger auf den Speicherblock, der neu zugeordnet werden soll. Dieser Parameter kann NULL sein, wie unter Hinweise erläutert.

[in] cb

Die Größe des Speicherblocks, der neu zugeordnet werden soll, in Bytes. Dieser Parameter kann 0 sein, wie unter Hinweise erläutert.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie den neu zugeordneten Speicherblock zurück. Andernfalls wird NULL zurückgegeben.

Hinweise

Diese Funktion ändert die Größe eines zuvor zugewiesenen Speicherblocks auf die gleiche Weise wie IMalloc::Realloc . Es ist nicht erforderlich, die CoGetMalloc-Funktion aufzurufen, um einen Zeiger auf die OLE-Zuordnung abzurufen, bevor CoTaskMemRealloc aufgerufen wird.

Der pv-Parameter zeigt auf den Anfang des Speicherblocks. Wenn pvNULL ist, weist CoTaskMemRealloc einen neuen Speicherblock auf die gleiche Weise zu wie die CoTaskMemAlloc-Funktion . Wenn pv nicht NULL ist, sollte es sich um einen Zeiger handelt, der von einem vorherigen Aufruf von CoTaskMemAlloc zurückgegeben wird.

Der cb-Parameter gibt die Größe des neuen Blocks an. Der Inhalt des Blocks bleibt bis zum Minimum von neuer und alter Größe unverändert, obwohl sich der neue Block an einem anderen Speicherort befinden kann. Da sich der neue Block an einem anderen Speicherort befinden kann, ist nicht garantiert, dass der von CoTaskMemRealloc zurückgegebene Zeiger der Zeiger ist, der durch das pv-Argument übergeben wird. Wenn pv nicht NULL und cb 0 ist, wird der speicher freigegeben, auf den pv verweist.

CoTaskMemRealloc gibt einen Void-Zeiger auf den neu zugewiesenen (und möglicherweise verschobenen) Speicherblock zurück. Der Rückgabewert ist NULL , wenn die Größe 0 ist und das Pufferargument nicht NULL ist, oder wenn nicht genügend Arbeitsspeicher verfügbar ist, um den Block auf die angegebene Größe zu erweitern. Im ersten Fall wird der ursprüngliche Block freigegeben. im zweiten Fall bleibt der ursprüngliche Block unverändert.

Der Rückgabewert zeigt auf einen Speicherplatz, der für die Speicherung eines beliebigen Objekttyps geeignet ist. Um einen Zeiger auf einen anderen Typ als void abzurufen, verwenden Sie einen Typ, der für den Rückgabewert umgewandelt wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile combaseapi.h (include Objbase.h)
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

CoTaskMemAlloc

CoTaskMemFree

IMalloc::Realloc