Bagikan melalui


Fungsi WriteProcessMemory (memoryapi.h)

Menulis data ke area memori dalam proses tertentu. Seluruh area yang akan ditulis harus dapat diakses atau operasi gagal.

Sintaks

BOOL WriteProcessMemory(
  [in]  HANDLE  hProcess,
  [in]  LPVOID  lpBaseAddress,
  [in]  LPCVOID lpBuffer,
  [in]  SIZE_T  nSize,
  [out] SIZE_T  *lpNumberOfBytesWritten
);

Parameter

[in] hProcess

Handel ke memori proses yang akan dimodifikasi. Handel harus memiliki akses PROCESS_VM_WRITE dan PROCESS_VM_OPERATION ke proses.

[in] lpBaseAddress

Penunjuk ke alamat dasar dalam proses yang ditentukan tempat data ditulis. Sebelum transfer data terjadi, sistem memverifikasi bahwa semua data dalam alamat dasar dan memori dengan ukuran yang ditentukan dapat diakses untuk akses tulis, dan jika tidak dapat diakses, fungsi gagal.

[in] lpBuffer

Penunjuk ke buffer yang berisi data yang akan ditulis dalam ruang alamat proses yang ditentukan.

[in] nSize

Jumlah byte yang akan ditulis ke proses yang ditentukan.

[out] lpNumberOfBytesWritten

Penunjuk ke variabel yang menerima jumlah byte yang ditransfer ke dalam proses yang ditentukan. Parameter ini bersifat opsional. Jika lpNumberOfBytesWritten adalah NULL, parameter diabaikan.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah 0 (nol). Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError. Fungsi gagal jika operasi tulis yang diminta menyeberang ke area proses yang tidak dapat diakses.

Keterangan

WriteProcessMemory menyalin data dari buffer yang ditentukan dalam proses saat ini ke rentang alamat proses yang ditentukan. Setiap proses yang memiliki handel dengan PROCESS_VM_WRITE dan PROCESS_VM_OPERATION akses ke proses yang akan ditulis dapat memanggil fungsi . Biasanya tetapi tidak selalu, proses dengan ruang alamat yang sedang ditulis sedang di-debug.

Seluruh area yang akan ditulis harus dapat diakses, dan jika tidak dapat diakses, fungsi gagal.

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header memoryapi.h (termasuk Windows.h)
Pustaka onecore.lib
DLL Kernel32.dll

Lihat juga

Fungsi Debugging

Fungsi Proses untuk Penelusuran Kesalahan

ReadProcessMemory

VirtualAllocEx