Fungsi InterlockedExchangePointer (wdm.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 diatur (*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 pengkompilasi. InterlockedExchangePointer hanya bersifat atomik sehubungan dengan panggilan Xxx interlocked lainnya. Ini tidak menggunakan kunci putar dan dapat digunakan dengan aman pada data yang dapat dipaginasi.
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 saling di-interlock.
Operasi yang saling diblokir 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 | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
IRQL | Tingkat apa pun |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk