clfsMgmtInstallPolicy 函数 (wdm.h)

ClfsMgmtInstallPolicy 例程将CLFS_MGMT_POLICY结构添加到物理日志。

语法

CLFSUSER_API NTSTATUS ClfsMgmtInstallPolicy(
  [in] PLOG_FILE_OBJECT  LogFile,
  [in] PCLFS_MGMT_POLICY Policy,
  [in] ULONG             PolicyLength
);

参数

[in] LogFile

指向 LOG_FILE_OBJECT 结构的指针,该结构表示此 CLFS_MGMT_POLICY 结构的实例将应用到的 CLFS 日志。 该策略适用于日志中的所有流,即使指定了日志中的单个流。

[in] Policy

指向包含要安装的策略 的CLFS_MGMT_POLICY 结构的指针。

[in] PolicyLength

Policy 参数指向的结构的长度(以字节为单位)。

返回值

ClfsMgmtInstallPolicy 例程返回以下 NTSTATUS 值之一:

返回代码 说明
STATUS_SUCCESS
已安装策略。
STATUS_INVALID_PARAMETER_1
LogFile 参数提供了 NULL 值。
STATUS_INVALID_PARAMETER_2
Policy 参数提供了 NULL 值。
STATUS_INVALID_PARAMETER_3
PolicyLength 参数的值小于 CLFS_MGMT_POLICY 结构的实例的大小。
STATUS_NOT_SUPPORTED
Policy 参数指向CLFS_MGMT_POLICY_STRUCTUREPolicyFlags 成员指定除LOG_POLICY_OVERWRITE以外的任何标志
STATUS_INVALID_PARAMETER
符合下列条件之一:
  • Policy 参数的 Version 成员不等于 CLFS_MGMT_POLICY_VERSION。
  • Policy 参数的值等于 ClfsMgmtPolicyInvalid
  • Policy 参数的 PolicyFlags 成员指定除LOG_POLICY_OVERWRITE以外的任何标志。
STATUS_LOG_POLICY_ALREADY_INSTALLED
日志已具有此类型的策略,并且未设置LOG_POLICY_OVERWRITE标志。
STATUS_INSUFFICIENT_RESOURCES
内存不足,无法完成操作。
 

此例程还可能返回其他 NTSTATUS 值

注解

策略是可变的。 关闭日志的所有句柄后,策略将丢失。 每次注册第一个客户端时,都应安装策略。

在创建日志中的第一个容器之前,只应注册其 PolicyType 成员等于 ClfsMgmtPolicyNewContainerSizeCLFS_MGMT_POLICY 结构。 将忽略任何后续注册。

安装的日志策略适用于物理日志,即使 LogFile 参数指定了日志流也是如此。

要求

要求
最低受支持的客户端 在 Windows Server 2003 R2、Windows Vista 和更高版本的 Windows 中可用。
目标平台 桌面
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

另请参阅

CLFS_MGMT_POLICY