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 代码之一:
返回代码 | 描述 |
---|---|
|
PSHED 插件已成功注册。 |
|
提供的注册数据包中的数据无效。 |
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_V2 的 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET_V1。
V2 插件仍可以添加错误源,如在 Windows 10 上使用 WHEA中所述,或通过调用 WheaAddErrorSource 和 WheaRemoveErrorSource。
插件可以通过将 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) |