协调作业系统内部对原生容器内存的安全访问。
AtomicSafetyHandle
持有一个对安全系统为给定原生容器存储的中心信息的引用。当作业包含 NativeContainer
实例时,作业系统会自动配置 AtomicSafetyHandle
中的标志以反映原生容器在该作业中如何使用。每个作业对于给定的原生容器都有一个单独的 AtomicSafetyHandle
实例。
当您实现自定义 NativeContainer
类型时,请使用此类。每个 NativeContainer
实例都必须包含一个名为 m_Safety
的 AtomicSafetyHandle
字段。有关 AtomicSafetyHandle 及其在作业系统中所起作用的概念概述,请参阅 实现自定义原生容器。
CheckDeallocateAndThrow | 检查是否可以释放 AtomicSafetyHandle。 |
CheckExistsAndThrow | 检查 AtomicSafetyHandle 是否有效。 |
CheckGetSecondaryDataPointerAndThrow | 检查是否可以安全地创建对原生容器的内存别名视图。 |
CheckReadAndThrow | 检查是否可以从中读取引用的原生容器。 |
CheckWriteAndBumpSecondaryVersion | 检查是否可以写入引用的原生容器,如果可以,则递增辅助版本号。 |
CheckWriteAndThrow | 检查是否可以写入引用的原生容器。 |
Create | 创建一个新的 AtomicSafetyHandle。 |
EnforceAllBufferJobsHaveCompleted | 等待针对 AtomicSafetyHandle 运行的所有作业完成。 |
EnforceAllBufferJobsHaveCompletedAndDisableReadWrite | 等待针对 AtomicSafetyHandle 运行的所有作业完成,然后禁用 AtomicSafetyHandle 上的读写访问权限。 |
EnforceAllBufferJobsHaveCompletedAndRelease | 等待针对 AtomicSafetyHandle 运行的所有作业完成,然后释放 AtomicSafetyHandle。 |
GetAllowReadOrWriteAccess | 检查 AtomicSafetyHandle 是否配置为允许读取或写入。 |
GetNestedContainer | 检查 AtomicSafetyHandle 是否表示嵌套容器。 |
GetReaderArray | 获取从 AtomicSafetyHandle 读取的所有作业的作业句柄。 |
GetReaderName | 获取从 AtomicSafetyHandle 读取的指定作业的名称。 |
GetTempMemoryHandle | 获取临时内存范围中临时内存分配的 AtomicSafetyHandle。 |
GetTempUnsafePtrSliceHandle | 获取单个共享的 AtomicSafetyHandle。 |
GetWriter | 获取 AtomicSafetyHandle 上的任何写入器。 |
GetWriterName | 获取 AtomicSafetyHandle 上当前写入器的调试名称。 |
IsDefaultValue | 检查 AtomicSafetyHandle 是否具有其默认值。 |
IsHandleValid | 检查 AtomicSafetyHandle 是否有效。 |
IsTempMemoryHandle | 检查 AtomicSafetyHandle 是否是活动临时内存范围的临时内存安全句柄。 |
IsValidNonDefaultHandle | 检查 AtomicSafetyHandle 是否已初始化且有效。 |
NewStaticSafetyId | 分配一个新的静态安全 ID 以存储为提供的类型提供的信息。 |
PrepareUndisposable | 标记 AtomicSafetyHandle,使其无法被处置。 |
Release | 释放先前创建的 AtomicSafetyHandle。 |
SetAllowReadOrWriteAccess | 设置 AtomicSafetyHandle 上的读写访问权限。 |
SetAllowSecondaryVersionWriting | 设置使用辅助版本号的其他 AtomicSafetyHandle 是否可以写入由给定 AtomicSafetyHandle 保护的 NativeContainer。 |
SetBumpSecondaryVersionOnScheduleWrite | 设置是否在调度具有对 AtomicSafetyHandle 的写访问权限的作业时自动增加辅助版本。 |
SetCustomErrorMessage | 在可以提供其他上下文的情况下,为特定的作业调试器错误类型提供自定义错误消息。 |
SetNestedContainer | 在 AtomicSafetyHandle 上设置嵌套容器标志。 |
SetStaticSafetyId | 将提供的静态安全 ID 分配给 AtomicSafetyHandle。 |
UseSecondaryVersion | 将 AtomicSafetyHandle 切换到辅助版本号。 |
ValidateNonDefaultHandle | 检查句柄是否已初始化,如果已初始化,则检查它是否仍然有效。 |