Metode IMallocSpy::P reRealloc (objidl.h)

Melakukan operasi yang diperlukan sebelum memanggil IMalloc::Realloc.

Sintaks

SIZE_T PreRealloc(
  [in]  void   *pRequest,
  [in]  SIZE_T cbRequest,
  [out] void   **ppNewRequest,
  [in]  BOOL   fSpyed
);

Parameter

[in] pRequest

Penunjuk ke blok memori yang ditentukan dalam panggilan ke IMalloc::Realloc.

[in] cbRequest

Jumlah byte blok memori seperti yang ditentukan dalam panggilan asli ke IMalloc::Realloc.

[out] ppNewRequest

Alamat variabel pointer yang menerima pointer ke blok memori yang akan dialokasikan kembali. Ini mungkin berbeda dari pointer di pRequest jika implementasi PreRealloc memperluas atau memodifikasi realokasi. Ini adalah pointer harus selalu disimpan oleh PreRealloc.

[in] fSpyed

Menunjukkan apakah blok memori dialokasikan saat mata-mata ini aktif.

Nilai kembali

Jumlah byte yang akan diteruskan ke IMalloc::Realloc.

Keterangan

Implementasi PreRealloc dapat memperluas dan/atau memodifikasi alokasi untuk menyimpan informasi khusus debug dengan alokasi. Dengan demikian, parameter ppNewRequest mungkin berbeda dari pRequest, penunjuk ke permintaan yang ditentukan dalam panggilan asli ke Realloc.

PreRealloc dapat memaksa kegagalan alokasi memori dengan mengembalikan 0, memungkinkan pengujian untuk memastikan bahwa aplikasi menangani kegagalan alokasi dengan baik dalam semua kasus. Dalam hal ini, PostRealloc tidak dipanggil dan Realloc mengembalikan NULL. Namun, jika Realloc mengalami kegagalan memori nyata dan mengembalikan NULL, PostRealloc dipanggil. Memaksa kegagalan alokasi hanya berlaku jika cbRequest tidak sama dengan 0.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header objidl.h

Lihat juga

IMalloc::Realloc

IMallocSpy

IMallocSpy::P ostRealloc