Fungsi InterlockedExchangePointer (miniport.h)

Rutinitas InterlockedExchangePointer melakukan operasi atomik yang mengatur penunjuk ke nilai baru.

Sintaks

PVOID InterlockedExchangePointer(
  [in, out]      PVOID volatile *Target,
  [in, optional] PVOID          Value
);

Parameter

[in, out] Target

Penunjuk ke nilai PVOID. Rutin mengatur (*Target) ke Nilai.

[in, optional] Value

Menentukan nilai PVOID yang akan ditetapkan (*Target) ke.

Nilai kembali

InterlockedExchangePointer mengembalikan nilai asli pointer di *Target (yaitu, nilai pointer ini pada entri ke rutinitas).

Keterangan

InterlockedExchangePointer menyediakan cara atom yang cepat untuk menyinkronkan pembaruan variabel pointer yang dibagikan oleh beberapa utas.

InterlockedExchangePointer dirancang untuk kecepatan dan, biasanya, diimplementasikan sebaris oleh kompilator. InterlockedExchangePointer hanya bersifat atomik sehubungan dengan panggilan Xxx yang diblokir lainnya. Ini tidak menggunakan kunci putar dan dapat digunakan dengan aman pada data yang dapat di-pageable.

Parameter Target harus diselaraskan pada batas 32-bit atau 64-bit, tergantung pada jenis sistem, untuk performa yang lebih baik.

Panggilan ke InterlockedExchangePointer hanya bersifat atomik sehubungan dengan panggilan Xxx yang Diblokir lainnya.

Operasi yang saling dikunci tidak dapat digunakan pada memori yang tidak di-cache.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Desktop
Header miniport.h (termasuk Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)
IRQL Tingkat apa pun

Lihat juga

InterlockedCompareExchange

InterlockedCompareExchangePointer

InterlockedExchange