备份

备份技术概述。

若要开发备份,需要以下标头:

有关此技术的编程指南,请参阅:

枚举

 
JOB_OBJECT_NET_RATE_CONTROL_FLAGS

指定网络速率控制计划策略的类型。
LOGICAL_PROCESSOR_RELATIONSHIP

表示在相应的SYSTEM_LOGICAL_PROCESSOR_INFORMATION或SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX结构中标识的处理器集之间的关系。
PROCESS_MITIGATION_POLICY

表示不同的进程缓解策略。
PROCESSOR_CACHE_TYPE

表示在相应的CACHE_DESCRIPTOR结构中标识的处理器缓存的类型。

函数

 
_InlineInterlockedAdd

对指定的 LONG 值执行原子加法运算。 该操作是使用获取内存排序语义执行的。
_InlineInterlockedAdd64

对指定的 LONG64 值执行原子加法操作。
_interlockedbittestandreset

测试指定 LONG 值的指定位并将其设置为 0。 此操作为原子性操作。
_interlockedbittestandreset64

测试指定 LONG64 值的指定位并将其设置为 0。 此操作为原子性操作。
_interlockedbittestandset

测试指定 LONG 值的指定位并将其设置为 1。 此操作为原子性操作。
_interlockedbittestandset64

测试指定 LONG64 值的指定位并将其设置为 1。 此操作为原子性操作。
AddIntegrityLabelToBoundaryDescriptor

将新的必需安全标识符 (SID) 添加到指定的边界描述符。
BackupRead

备份文件或目录,包括安全信息。
BackupSeek

在最初使用 BackupRead 或 BackupWrite 函数访问的数据流中向前查找。
BackupWrite

还原使用 BackupRead 备份的文件或目录。
BindIoCompletionCallback

将线程池拥有的 I/O 完成端口与指定的文件句柄相关联。 完成涉及此文件的 I/O 请求后,非 I/O 工作线程将执行指定的回调函数。
ConvertFiberToThread

将当前光纤转换为线程。
ConvertThreadToFiber

将当前线程转换为光纤。 必须先将线程转换为光纤,然后才能计划其他光纤。 (ConvertThreadToFiber)
ConvertThreadToFiberEx

将当前线程转换为光纤。 必须先将线程转换为光纤,然后才能计划其他光纤。 (ConvertThreadToFiberEx)
CreateBoundaryDescriptorA

CreateBoundaryDescriptorA (ANSI) 函数 (winbase.h) 创建边界描述符。
CreateFiber

分配一个光纤对象,为其分配一个堆栈,并将执行设置为从指定的开始地址(通常是光纤函数)开始。 此函数不会计划光纤。 (CreateFiber)
CreateFiberEx

分配一个光纤对象,为其分配一个堆栈,并将执行设置为从指定的开始地址(通常是光纤函数)开始。 此函数不会计划光纤。 (CreateFiberEx)
CreateJobObjectA

创建或打开作业对象。 (CreateJobObjectA)
CreateProcessWithLogonW

创建新进程及其主线程。 然后,新进程在指定凭据的安全上下文中运行指定的可执行文件, (用户、域和密码) 。 可以选择加载指定用户的用户配置文件。
CreateProcessWithTokenW

创建新进程及其主线程。 新进程在指定令牌的安全上下文中运行。 它可以选择性地加载指定用户的用户配置文件。
CreateSemaphoreA

创建或打开命名或未命名的信号量对象。 (CreateSemaphoreA)
CreateSemaphoreExA

创建或打开一个命名或未命名的信号量对象,并返回该对象的句柄。 (CreateSemaphoreExA)
CreateTapePartition

重新设置磁带格式。
CreateUmsCompletionList

(UMS) 完成列表创建用户模式计划。
CreateUmsThreadContext

(UMS) 线程上下文创建用户模式计划,以表示 UMS 工作线程。
DeleteFiber

删除现有光纤。
DeleteUmsCompletionList

删除指定的用户模式计划 (UMS) 完成列表。 列表必须为空。
DeleteUmsThreadContext

删除指定的用户模式计划 (UMS) 线程上下文。 线程必须终止。
DequeueUmsCompletionListItems

从指定的 UMS 完成列表中检索用户模式计划 (UMS) 工作线程。
DestroyThreadpoolEnvironment

删除指定的回调环境。 当不再需要回调环境来创建新的线程池对象时,调用此函数。 (DestroyThreadpoolEnvironment)
EnterUmsSchedulingMode

将调用线程转换为用户模式计划 (UMS) 计划程序线程。
EraseTape

擦除磁带的全部或部分内容。
ExecuteUmsThread

运行指定的 UMS 工作线程。
GetActiveProcessorCount

返回处理器组或系统中活动处理器的数目。
GetActiveProcessorGroupCount

返回系统中活动处理器组的数目。
GetCurrentFiber

检索当前光纤的地址。
GetCurrentUmsThread

返回调用 UMS 线程 (UMS) 线程上下文的用户模式计划。
GetEnvironmentVariable

getEnvironmentVariable 函数 (winbase.h) 从调用进程的环境块检索指定变量的内容。
GetFiberData

检索与当前光纤关联的光纤数据。
GetMaximumProcessorCount

返回处理器组或系统可以具有的最大逻辑处理器数。
GetMaximumProcessorGroupCount

返回系统可以具有的最大处理器组数。
GetNextUmsListItem

在线程上下文列表中返回下一个用户模式计划 (UMS) 线程上下文。
GetNumaAvailableMemoryNode

检索指定节点中的可用内存量。
GetNumaAvailableMemoryNodeEx

检索指定为 USHORT 值的节点中可用的内存量。
GetNumaNodeNumberFromHandle

检索与指定的文件句柄表示的文件或 I/O 设备关联的 NUMA 节点。
GetNumaNodeProcessorMask

检索指定节点的处理器掩码。
GetNumaProcessorNode

检索指定处理器的节点号。
GetNumaProcessorNodeEx

检索节点号作为指定逻辑处理器的 USHORT 值。
GetNumaProximityNode

检索与指定的邻近域标识符对应的 NUMA 节点编号。
GetProcessAffinityMask

检索指定进程的进程关联掩码和系统的系统关联掩码。
GetProcessIoCounters

检索指定进程执行的所有 I/O 操作的计帐信息。
GetTapeParameters

检索描述磁带或磁带驱动器的信息。
GetTapePosition

检索磁带的当前地址(以逻辑块或绝对块为单位)。
GetTapeStatus

确定磁带设备是否已准备好处理磁带命令。
GetUmsCompletionListEvent

检索与指定的用户模式计划关联的事件的句柄 (UMS) 完成列表。
GetUmsSystemThreadInformation

查询指定的线程是 UMS 计划程序线程、UMS 工作线程还是非 UMS 线程。
HasOverlappedIoCompleted

提供可用于轮询完成未完成 I/O 操作的高性能测试操作。
InitializeThreadpoolEnvironment

初始化回调环境。
InterlockedAdd

对指定的 LONG 值执行原子加法运算。
InterlockedAnd

对指定的 LONG 值执行原子 AND 操作。
InterlockedAnd16

对指定的 SHORT 值执行原子 AND 操作。
InterlockedAnd64

对指定的 LONGLONG 值执行原子 AND 操作。
InterlockedAnd8

对指定的字符值执行原子 AND 操作。
InterlockedCompareExchange

对指定的值执行原子比较和交换操作。 函数根据比较结果比较两个指定的 32 位值,并与另一个 32 位值交换。
InterlockedCompareExchange128

对指定的值执行原子比较和交换操作。 函数比较两个指定的 128 位值,并根据比较结果与另一个 128 位值交换。
InterlockedCompareExchange16

对指定的值执行原子比较和交换操作。 函数比较两个指定的 16 位值,并根据比较结果与另一个 16 位值交换。
InterlockedCompareExchange64

对指定的值执行原子比较和交换操作。 函数比较两个指定的 64 位值,并根据比较结果与另一个 64 位值交换。
InterlockedCompareExchangePointer

对指定的值执行原子比较和交换操作。 函数比较两个指定的指针值,并根据比较结果与另一个指针值交换。
InterlockedDecrement

递减 () 指定 32 位变量的值作为原子操作减少一个。
InterlockedDecrement16

递减 (递减 1) 指定 16 位变量的值作为原子操作。
InterlockedDecrement64

递减 () 指定 64 位变量的值作为原子操作减少 1。
InterlockedExchange

将 32 位变量设置为指定值作为原子操作。
InterlockedExchange16

将 16 位变量设置为指定值作为原子操作。
InterlockedExchange64

将 64 位变量设置为指定值作为原子操作。
InterlockedExchange8

将 8 位变量设置为指定值作为原子操作。
InterlockedExchangeAdd

执行两个 32 位值的原子加法。
InterlockedExchangeAdd64

执行两个 64 位值的原子加法。
InterlockedExchangePointer

以原子方式交换一对地址。
InterlockedExchangeSubtract

执行两个值的原子减法。
InterlockedIncrement

() 指定 32 位变量的值作为原子运算增加一个增量。
InterlockedIncrement16

() 指定 16 位变量的值作为原子运算递增 1。
InterlockedIncrement64

() 指定 64 位变量的值作为原子运算递增 1。
InterlockedOr

对指定的 LONG 值执行原子 OR 操作。
InterlockedOr16

对指定的 SHORT 值执行原子 OR 操作。
InterlockedOr64

对指定的 LONGLONG 值执行原子 OR 操作。
InterlockedOr8

对指定的字符值执行原子 OR 操作。
InterlockedXor

对指定的 LONG 值执行原子 XOR 操作。
InterlockedXor16

对指定的 SHORT 值执行原子 XOR 操作。
InterlockedXor64

对指定的 LONGLONG 值执行原子 XOR 操作。
InterlockedXor8

对指定的字符值执行原子 XOR 操作。
MemoryBarrier

(围栏) 创建硬件内存屏障,防止 CPU 重新排序读取和写入操作。 它还可能会阻止编译器对读取和写入操作重新排序。
OpenJobObjectA

打开现有作业对象。 (OpenJobObjectA)
PAPCFUNC

应用程序定义的完成例程。 调用 QueueUserAPC 函数时指定此地址。
PFIBER_START_ROUTINE

与 CreateFiber 函数一起使用的应用程序定义的函数。 它用作光纤的起始地址。
PFLS_CALLBACK_FUNCTION

应用程序定义的函数。 如果 FLS 槽正在使用中,则会在光纤删除、线程退出以及释放 FLS 索引时调用 FlsCallback。
PreFetchCacheLine

向处理器指示在不久的将来需要缓存行。
PrepareTape

准备要访问或删除的磁带。
PulseEvent

将指定的事件对象设置为信号状态,然后在释放适当数量的等待线程后将其重置为未对齐状态。
QueryFullProcessImageNameA

检索指定进程的可执行映像的全名。 (ANSI)
QueryFullProcessImageNameW

检索指定进程的可执行映像的全名。 (Unicode)
QueryUmsThreadInformation

检索有关指定用户模式计划的信息 (UMS) 工作线程。
RegisterWaitForSingleObject

指示线程池中的等待线程等待对象。
RTL_UMS_SCHEDULER_ENTRY_POINT

应用程序定义的用户模式计划 (UMS) 与 UMS 完成列表关联的计划程序入口点函数。
RtlFirstEntrySList

检索单独链接列表中的第一个条目。 对列表的访问在多处理器系统上同步。
RtlInitializeSListHead

初始化单独链接列表的标题。 (RtlInitializeSListHead)
RtlInterlockedFlushSList

从单独链接列表中删除所有项。 对列表的访问在多处理器系统上同步。 (RtlInterlockedFlushSList)
RtlInterlockedPopEntrySList

从单独链接列表的前面删除项。 对列表的访问在多处理器系统上同步。 (RtlInterlockedPopEntrySList)
RtlInterlockedPushEntrySList

在单独链接列表的前面插入一个项目。 对列表的访问在多处理器系统上同步。 (RtlInterlockedPushEntrySList)
RtlQueryDepthSList

检索指定的单独链接列表中的条目数。 (RtlQueryDepthSList)
SetEnvironmentVariable

setEnvironmentVariable 函数 (winbase.h) 设置当前进程的指定环境变量的内容。
SetProcessAffinityMask

为指定进程的线程设置处理器关联掩码。
SetTapeParameters

指定磁带的块大小或配置磁带设备。
SetTapePosition

设置指定设备上的磁带位置。
SetThreadAffinityMask

为指定线程设置处理器关联掩码。
SetThreadpoolCallbackCleanupGroup

将指定的清理组与指定的回调环境相关联。 (SetThreadpoolCallbackCleanupGroup)
SetThreadpoolCallbackLibrary

确保只要有未完成的回调,指定的 DLL 就保持加载状态。 (SetThreadpoolCallbackLibrary)
SetThreadpoolCallbackPersistent

指定回调应在持久线程上运行。 (SetThreadpoolCallbackPersistent)
SetThreadpoolCallbackPool

设置生成回调时要使用的线程池。
SetThreadpoolCallbackPriority

指定回调函数相对于同一线程池中其他工作项的优先级。 (SetThreadpoolCallbackPriority)
SetThreadpoolCallbackRunsLong

指示与此回调环境关联的回调可能不会快速返回。 (SetThreadpoolCallbackRunsLong)
SetUmsThreadInformation

为指定的用户模式计划设置应用程序特定的上下文信息, (UMS) 工作线程。
SwitchToFiber

计划光纤。 必须在光纤上调用 函数。
TpDestroyCallbackEnviron

删除指定的回调环境。 当不再需要回调环境来创建新的线程池对象时,调用此函数。 (TpDestroyCallbackEnviron)
TpInitializeCallbackEnviron

初始化线程池的回调环境。
TpSetCallbackActivationContext

将激活上下文分配给回调环境。
TpSetCallbackCleanupGroup

将指定的清理组与指定的回调环境相关联。 (TpSetCallbackCleanupGroup)
TpSetCallbackFinalizationCallback

指示在回调环境完成时要调用的函数。
TpSetCallbackLongFunction

指示与此回调环境关联的回调可能不会快速返回。 (TpSetCallbackLongFunction)
TpSetCallbackNoActivationContext

指示回调环境没有激活上下文。
TpSetCallbackPersistent

指定回调应在持久线程上运行。 (TpSetCallbackPersistent)
TpSetCallbackPriority

指定回调函数相对于同一线程池中其他工作项的优先级。 (TpSetCallbackPriority)
TpSetCallbackRaceWithDll

确保只要有未完成的回调,指定的 DLL 就保持加载状态。 (TpSetCallbackRaceWithDll)
TpSetCallbackThreadpool

将线程池分配给回调环境。
UmsThreadYield

对运行调用 UMS 工作线程的用户模式计划 (UMS) 计划程序线程产生控制权。
UnregisterWait

取消 RegisterWaitForSingleObject 函数发出的已注册等待操作。 (UnregisterWait)
WinExec

运行指定的应用程序。
WriteTapemark

将指定数量的文件标记、集标记、短文件标记或长文件标记写入磁带设备。
YieldProcessor

向处理器发出信号,以向等待它们的线程提供资源。

结构

 
CACHE_DESCRIPTOR

描述缓存属性。
CACHE_RELATIONSHIP

描述缓存属性。 此结构与 GetLogicalProcessorInformationEx 函数一起使用。
GROUP_AFFINITY

表示特定于处理器组的相关性,例如线程的相关性。
GROUP_RELATIONSHIP

表示有关处理器组的信息。 此结构与 GetLogicalProcessorInformationEx 函数一起使用。
IO_COUNTERS

包含进程或作业对象的 I/O 记帐信息。
JOBOBJECT_ASSOCIATE_COMPLETION_PORT

包含用于将完成端口与作业关联的信息。
JOBOBJECT_BASIC_ACCOUNTING_INFORMATION

包含作业对象的基本会计信息。
JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION

包含作业对象的基本记帐和 I/O 记帐信息。
JOBOBJECT_BASIC_LIMIT_INFORMATION

包含作业对象的基本限制信息。
JOBOBJECT_BASIC_PROCESS_ID_LIST

包含作业对象的进程标识符列表。
JOBOBJECT_BASIC_UI_RESTRICTIONS

包含作业对象的基本用户界面限制。
JOBOBJECT_CPU_RATE_CONTROL_INFORMATION

包含作业对象的 CPU 速率控制信息。 此结构由 SetInformationJobObject 和 QueryInformationJobObject 函数与 JobObjectCpuRateControlInformation 信息类一起使用。
JOBOBJECT_END_OF_JOB_TIME_INFORMATION

指定超过作业结束时间限制时系统将执行的操作。
JOBOBJECT_EXTENDED_LIMIT_INFORMATION

包含作业对象的基本和扩展限制信息。
JOBOBJECT_LIMIT_VIOLATION_INFORMATION

包含有关作业对象已超出的资源通知限制的信息。 此结构与 JobObjectLimitViolationInformationInformation 信息类的 QueryInformationJobObject 函数一起使用。
JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2

包含有关作业对象已超出的资源通知限制的扩展信息。 此结构与 JobObjectLimitViolationInformationInformation2 信息类的 QueryInformationJobObject 函数一起使用。
JOBOBJECT_NET_RATE_CONTROL_INFORMATION

包含用于控制作业的网络流量的信息。 此结构由 SetInformationJobObject 和 QueryInformationJobObject 函数与 JobObjectNetRateControlInformation 信息类一起使用。
JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION

包含有关作业对象的通知限制的信息。 此结构由具有 JobObjectNotificationLimitInformation 信息类的 SetInformationJobObject 和 QueryInformationJobObject 函数使用。
JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2

包含有关作业对象的通知限制的扩展信息。 此结构由 SetInformationJobObject 和 QueryInformationJobObject 函数与 JobObjectNotificationLimitInformation2 信息类一起使用。
JOBOBJECT_SECURITY_LIMIT_INFORMATION

包含作业对象的安全限制。
NUMA_NODE_RELATIONSHIP

表示有关处理器组中 NUMA 节点的信息。 此结构与 GetLogicalProcessorInformationEx 函数一起使用。
PROCESS_MITIGATION_ASLR_POLICY

包含地址空间随机化布局 (ASLR) 的进程缓解策略设置。
PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY

包含用于加载映像的进程缓解策略设置,具体取决于映像的签名。
PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY

包含控制流防护 (CFG) 的进程缓解策略设置。
PROCESS_MITIGATION_DEP_POLICY

包含用于数据执行防护的进程缓解策略设置 (DEP) 。
PROCESS_MITIGATION_DYNAMIC_CODE_POLICY

包含用于限制动态代码生成和修改的进程缓解策略设置。
PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY

包含旧扩展点 DLL 的进程缓解策略设置。
PROCESS_MITIGATION_FONT_DISABLE_POLICY

包含用于加载非系统字体的进程缓解策略设置。
PROCESS_MITIGATION_IMAGE_LOAD_POLICY

包含用于从远程设备加载映像的进程缓解策略设置。
PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY

包含???.的进程缓解策略设置
PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY

此数据结构提供与旁路缓解相关的进程策略的状态。 这可以包括涉及推理执行和页面组合的侧通道攻击。
PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY

用于对无效的句柄引用施加新行为。
PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY

用于对进程可以调用的系统调用施加限制。
PROCESSOR_GROUP_INFO

表示处理器组中处理器的数量和关联。
PROCESSOR_NUMBER

表示处理器组中的逻辑处理器。
PROCESSOR_RELATIONSHIP

表示有关处理器组内相关性的信息。 此结构与 GetLogicalProcessorInformationEx 函数一起使用。
SINGLE_LIST_ENTRY

表示单独链接列表中的项。S
SLIST_ENTRY

表示单独链接列表中的项。 (SLIST_ENTRY)
STARTUPINFOEXA

指定新进程的窗口工作站、桌面、标准句柄和属性。 它与 CreateProcess 和 CreateProcessAsUser 函数一起使用。 (ANSI)
STARTUPINFOEXW

指定新进程的窗口工作站、桌面、标准句柄和属性。 它与 CreateProcess 和 CreateProcessAsUser 函数一起使用。 (Unicode)
SYSTEM_CPU_SET_INFORMATION

此结构由 GetSystemCpuSetInformation 返回。 它用于枚举系统上的 CPU 集并确定其当前状态。
SYSTEM_LOGICAL_PROCESSOR_INFORMATION

描述指定处理器集之间的关系。 此结构与 GetLogicalProcessorInformation 函数一起使用。
SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX

包含有关逻辑处理器和相关硬件关系的信息。 GetLogicalProcessorInformationEx 函数使用此结构。
TAPE_ERASE

描述要擦除的分区。
TAPE_GET_DRIVE_PARAMETERS

描述磁带驱动器。 它由 GetTapeParameters 函数使用。
TAPE_GET_MEDIA_PARAMETERS

描述磁带驱动器中的磁带。 它由 GetTapeParametersfunction 使用。
TAPE_GET_POSITION

描述磁带的位置。
TAPE_PREPARE

介绍如何准备磁带。
TAPE_SET_DRIVE_PARAMETERS

描述磁带驱动器。 它由 SetTapeParametersfunction 使用。
TAPE_SET_MEDIA_PARAMETERS

描述磁带驱动器中的磁带。 它由 SetTapeParametersfunction 使用。
TAPE_SET_POSITION

描述磁带的放置方式和位置。
TAPE_WRITE_MARKS

描述要写入的磁带标记的类型和数量。
UMS_CREATE_THREAD_ATTRIBUTES

指定用户模式计划的属性 (UMS) 工作线程。
UMS_SCHEDULER_STARTUP_INFO

指定用户模式计划 (UMS) 计划程序线程的属性。
UMS_SYSTEM_THREAD_INFORMATION

指定 UMS 计划程序线程、UMS 工作线程或非 UMS 线程。 GetUmsSystemThreadInformation 函数使用此结构。
WIN32_STREAM_ID

包含流数据。