Fungsi InterlockedAnd

Dan nilainya, secara atomik.

Sintaks

void InterlockedAnd(
  in  UINT dest,
  in  UINT value,
  out UINT original_value
);

Parameter

dest [in]

Jenis: UINT

Alamat tujuan.

value [in]

Jenis: UINT

Nilai input.

original_value [keluar]

Jenis: UINT

Nilai asli.

Mengembalikan nilai

Fungsi ini tidak mengembalikan nilai.

Keterangan

Operasi ini hanya dapat dilakukan pada sumber daya yang diketik int atau uint dan variabel memori bersama. Ada tiga kemungkinan penggunaan untuk fungsi ini. Yang pertama adalah ketika R adalah jenis variabel memori bersama. Dalam hal ini, fungsi melakukan atomik dan nilai ke register memori bersama yang dirujuk oleh dest. Skenario kedua adalah ketika R adalah jenis variabel sumber daya. Dalam skenario ini, fungsi melakukan atomik dan nilai ke lokasi sumber daya yang direferensikan oleh tujuan. Terakhir, skenario ketiga adalah ketika R adalah jenis variabel lokal. Dalam skenario ini, fungsi berkurang menjadi dan dari nilai tujuan dan nilai, disimpan dalam tujuan. Fungsi kelebihan beban memiliki variabel output tambahan yang akan diatur ke nilai asli tujuan. Operasi kelebihan beban ini hanya tersedia ketika R dapat dibaca dan dapat ditulis.

Fungsi ini didukung dalam jenis shader berikut:

VS HS DS GS PS CS
x x x x x x

 

Lihat juga

RWByteAddressBuffer

Model Shader 5