PshedRegisterPlugin 函数 (ntddk.h)

PshedRegisterPlugin 函数向 PSHED 注册 PSHED 插件。

语法

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

参数

[in, out] Packet

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

返回值

PshedRegisterPlugin 返回以下 NTSTATUS 代码之一:

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

言论

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

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

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

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

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

V1 和 V2 插件上的所有回调都至少调用 DISPATCH_LEVEL IRQL。

要求

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

另请参阅

AddDevice

DriverEntry

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET