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
以下条件之一为 true:
  • 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)
Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

另请参阅

CLFS_MGMT_POLICY