函数

GLibpointer_bit_lock_mask_ptr

since: 2.80

声明 [src]

gpointer
g_pointer_bit_lock_mask_ptr (
  gpointer ptr,
  guint lock_bit,
  gboolean set,
  guintptr preserve_mask,
  gpointer preserve_ptr
)

说明 [src]

这会混杂ptr,就像g_pointer_bit_lock()g_pointer_bit_unlock()那样。

可用版本:2.80

参数

ptr

类型: gpointer

指向 mask 的指针。

参数可为NULL
数据归属于该函数的调用方所有。
lock_bit

类型: guint

要设置/清除的位。如果设为G_MAXUINT,则锁定位取自preserve_ptrptr(取决于preserve_mask)。

set

类型: gboolean

是要设置(锁定)该位还是清除(解锁)该位。如果lock_bit设为G_MAXUINT,则它不起作用。

preserve_mask

类型: guintptr

如果非零,则为preserve_ptr的位掩码。preserve_ptr中的preserve_mask位在结果中被设置。请注意,无论preserve_maskpreserve_ptr为何(除非lock_bitG_MAXUINT),lock_bit位都将始终根据set来设置。

preserve_ptr

类型: gpointer

如果preserve_mask是非零,则此指针中的位在 result 中被设置。

参数可为NULL
数据归属于该函数的调用方所有。

返回值

类型: gpointer

混杂的 pointer。

数据归属于被调用函数所有。
返回值可以为NULL