次の方法で共有


WheaFindNextErrorRecordSection 関数 (ntddk.h)

WheaFindNextErrorRecordSection 関数を使用すると、呼び出し元は WHEA エラー レコード内の WHEA エラー レコード セクションを繰り返し調べることができます。 各エラー レコード セクションは、WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 構造体として書式設定されます。

構文

NTSTATUS WheaFindNextErrorRecordSection(
  [in]            PWHEA_ERROR_RECORD                    Record,
  [in, out]       ULONG                                 *Context,
  [out]           PWHEA_ERROR_RECORD_SECTION_DESCRIPTOR *SectionDescriptor,
  [out, optional] PVOID                                 *SectionData
);

パラメーター

[in] Record

WHEA_ERROR_RECORD 構造体として書式設定された WHEA エラー レコード へのポインター。

[in, out] Context

検索の現在の状態を維持する ULONG 変数へのポインター。

この変数は、WheaFindNextErrorRecordSection 関数の最初の呼び出しの前に 0 に初期化する必要があります。

[out] SectionDescriptor

WHEA_ERROR_RECORD_SECTION_DESCRIPTOR ポインターのアドレス。

WheaFindNextErrorRecordSection 関数が、指定した WHEA エラー レコード内の次のWHEA_ERROR_RECORD_SECTION_DESCRIPTOR構造体を検索する場合、この関数は、SectionDescriptor パラメーターを、指定した WHEA エラー レコード内の構造体のアドレスに設定します。

[out, optional] SectionData

PVOID ポインターのアドレス。

WheaFindNextErrorRecordSection 関数が、指定した WHEA エラー レコード内で次の WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 構造体を検索する場合、この関数は、SectionData パラメーターを、その記述子に関連付けられているハードウェア エラー データのアドレスに設定します。

このパラメーターは省略可能であり、エラー レコード セクション データへのポインターが不要な場合は、null に設定する必要があります。

戻り値

WheaFindNextErrorRecordSection は、次のいずれかの NTSTATUS コードを返します。

リターン コード 形容
STATUS_SUCCESS 次の WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 構造が見つかりました。
STATUS_NOT_FOUND 次の WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 構造体が見つかりませんでした。
STATUS_INVALID_PARAMETER RecordSectionType、、または SectionDescriptor パラメーターが NULL に設定されているか、Record パラメーターを介して参照される WHEA_ERROR_RECORD データが無効です。

備考

Context パラメーターが 0 に設定されている場合、WheaFindNextErrorRecordSection は、WHEA エラー レコード内の最初の WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 構造体へのポインターを返します。 WheaFindNextErrorRecordSection は、SectionDescriptor パラメーターを介して返されるWHEA_ERROR_RECORD_SECTION_DESCRIPTORに関連する状態情報を使用して、Context パラメーターも更新します。

WheaFindNextErrorRecordSection 後続の呼び出しでは、この関数は WHEA エラー レコード内の次のWHEA_ERROR_RECORD_SECTION_DESCRIPTOR構造体 (使用可能な場合) を返します。 関数が次のWHEA_ERROR_RECORD_SECTION_DESCRIPTOR構造体を検索すると、Context パラメーターが更新されます。 それ以外の場合、関数はSTATUS_NOT_FOUNDを返します。

指定した WHEA エラー レコード内で最初の WHEA_ERROR_RECORD_SECTION_DESCRIPTOR を見つけるには、呼び出し元は、呼び出し前に、Context パラメーターでアドレスが渡される変数を 0 に設定する必要があります。 その後、WheaFindNextErrorRecordSectionへの後続の呼び出しによって次のWHEA_ERROR_RECORD_SECTION_DESCRIPTORを検索するときに、呼び出し元は変数の値を変更しないでください。

さらに、WheaFindNextErrorRecordSection がSTATUS_SUCCESSを返し、呼び出し元が SectionData パラメーターを PVOID ポインター変数のアドレスに設定した場合、関数は、指定された WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 構造体に関連付けられているハードウェア エラー データのアドレスでパラメーターを更新します。

ハードウェア エラー データの形式は、SectionDescriptor パラメーターを介して参照される WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 構造体の SectionType メンバーによって異なります。 たとえば、SectionType メンバーに値PROCESSOR_GENERIC_ERROR_SECTION_GUIDがある場合、ハードウェア エラー データは WHEA_PROCESSOR_GENERIC_ERROR_SECTION 構造体として書式設定されます。

必要条件

要件 価値
サポートされる最小クライアント Windows 7 以降のバージョンの Windows でサポートされています。
ターゲット プラットフォーム デスクトップ
ヘッダー ntddk.h (Ntddk.h を含む)
IRQL IRQL <= DISPATCH_LEVEL

関連項目

エラー レコードの

WHEA_ERROR_PACKET

WHEA_ERROR_RECORD

WHEA_ERROR_RECORD_SECTION_DESCRIPTOR