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 | Record、SectionType、または 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 でサポートされています。 |
対象プラットフォーム | デスクトップ |
Header | ntddk.h (Ntddk.h を含む) |
IRQL | IRQL <= DISPATCH_LEVEL |