PshedRegisterPlugin 函数 (ntddk.h)

PshedRegisterPlugin 函数向 PSHED 注册 PSHED 插件。

语法

NTPSHEDAPI NTSTATUS PshedRegisterPlugin(
  [in, out] PWHEA_PSHED_PLUGIN_REGISTRATION_PACKET Packet
);

参数

[in, out] Packet

指向已初始化 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 结构的指针,该结构描述 PSHED 插件的注册信息。

返回值

PshedRegisterPlugin 返回以下 NTSTATUS 代码之一:

返回代码 说明
STATUS_SUCCESS
已成功注册 PSHED 插件。
STATUS_INVALID_PARAMETER
提供的注册数据包中的数据无效。

注解

PSHED 插件调用 PshedRegisterPlugin 函数将自身注册到 PSHED。 PSHED 插件通常从其 DriverEntry 函数或其 AddDevice 函数内部调用此函数。

从 Windows 10 版本 1903 (WDK 10 版本 18362) 开始,可以使用 V2 PSHED-Plugin 接口,通过调用 PshedUnregisterPlugin 函数在正在运行的系统上删除和更新插件。 由于可以取消注册,V2 插件无法在 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET_V2 结构的 FunctionalAreaMask 成员中指定 PshedFADiscovery 标志 (发现功能区域) 。 有关注册插件的信息,请参阅注册 PSHED 插件。 对于 V1 插件,如果尝试注销,可能会进行 bug 检查。 建议尽可能使用 V2 插件,这是当前默认值。

若要注册 V1 与 V2 插件,请使用正确的结构。 V1 的WHEA_PSHED_PLUGIN_REGISTRATION_PACKET_V1 和 V2 的WHEA_PSHED_PLUGIN_REGISTRATION_PACKET_V2

V2 插件仍可以添加错误源,如在 Windows 10 上使用 WHEA 中所述,或通过调用 WheaAddErrorSourceWheaRemoveErrorSource

插件可以通过指定 WHEA_PLUGIN_REGISTRATION_PACKET_V1 作为其 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET_V2 结构的版本来继续使用发现功能区域。

在 V1 和 V2 插件上调用所有回调,最低 IRQL 为 DISPATCH_LEVEL。

要求

要求
最低受支持的客户端 在 Windows Server 2008、Windows Vista SP1 及更高版本的 Windows 中受支持。
目标平台 通用
标头 ntddk.h (包括 Ntddk.h)
Library Pshed.lib
DLL Pshed.dll
IRQL <=DISPATCH_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) PowerIrpDDis (wdm)

另请参阅

AddDevice

DriverEntry

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET