IDebugDataSpaces4::ReadDebuggerData メソッド (dbgeng.h)

ReadDebuggerData メソッドは、デバッガー エンジンが現在のセッション中に照会または決定 ターゲットに関する情報を返します。 使用可能な情報には、特定のキー ターゲット カーネルの場所、特定の状態値、およびその他の多くのものが含まれます。

構文

HRESULT ReadDebuggerData(
  [in]            ULONG  Index,
  [out]           PVOID  Buffer,
  [in]            ULONG  BufferSize,
  [out, optional] PULONG DataSize
);

パラメーター

[in] Index

取得するデータのインデックスを指定します。 次の値が有効です。

価値 戻り値の型 形容
DEBUG_DATA_KernBase ULONG64 カーネル イメージのベース アドレスを返します。
DEBUG_DATA_BreakpointWithStatusAddr ULONG64 BreakpointWithStatusInstruction カーネル関数のアドレスを返します。
DEBUG_DATA_SavedContextAddr ULONG64 バグチェック中に保存されたコンテキスト レコードのアドレスを返します。 バグチェック後にのみ有効です。
DEBUG_DATA_KiCallUserModeAddr ULONG64 KiCallUserMode カーネル関数のアドレスを返します。
DEBUG_DATA_KeUserCallbackDispatcherAddr ULONG64 KeUserCallbackDispatcher カーネル変数を返します。
DEBUG_DATA_PsLoadedModuleListAddr ULONG64 PsLoadedModuleList カーネル変数のアドレスを返します。
DEBUG_DATA_PsActiveProcessHeadAddr ULONG64 PsActiveProcessHead カーネル変数のアドレスを返します。
DEBUG_DATA_PspCidTableAddr ULONG64 PspCidTable カーネル変数のアドレスを返します。
DEBUG_DATA_ExpSystemResourcesListAddr ULONG64 ExpSystemResourcesList カーネル変数のアドレスを返します。
DEBUG_DATA_ExpPagedPoolDescriptorAddr ULONG64 ExpPagedPoolDescriptor カーネル変数のアドレスを返します。
DEBUG_DATA_ExpNumberOfPagedPoolsAddr ULONG64 ExpNumberOfPagedPools カーネル変数のアドレスを返します。
DEBUG_DATA_KeTimeIncrementAddr ULONG64 KeTimeIncrement カーネル変数のアドレスを返します。
DEBUG_DATA_KeBugCheckCallbackListHeadAddr ULONG64 KeBugCheckCallbackListHead カーネル変数のアドレスを返します。
DEBUG_DATA_KiBugcheckDataAddr ULONG64 KiBugCheckData カーネル変数を返します。
DEBUG_DATA_IopErrorLogListHeadAddr ULONG64 IopErrorLogListHead カーネル変数のアドレスを返します。
DEBUG_DATA_ObpRootDirectoryObjectAddr ULONG64 ObpRootDirectoryObject カーネル変数のアドレスを返します。
DEBUG_DATA_ObpTypeObjectTypeAddr ULONG64 ObpTypeObjectType カーネル変数のアドレスを返します。
DEBUG_DATA_MmSystemCacheStartAddr ULONG64 MmSystemCacheStart カーネル変数のアドレスを返します。
DEBUG_DATA_MmSystemCacheEndAddr ULONG64 mmSystemCacheEnd カーネル変数のアドレスを返します。
DEBUG_DATA_MmSystemCacheWsAddr ULONG64 mmSystemCacheWs カーネル変数のアドレスを返します。
DEBUG_DATA_MmPfnDatabaseAddr ULONG64 MmPfnDatabase カーネル変数のアドレスを返します。
DEBUG_DATA_MmSystemPtesStartAddr ULONG64 MmSystemPtesStart カーネル変数を返します。
DEBUG_DATA_MmSystemPtesEndAddr ULONG64 mmSystemPtesEnd カーネル変数を返します。
DEBUG_DATA_MmSubsectionBaseAddr ULONG64 mmSubsectionBase カーネル変数のアドレスを返します。
DEBUG_DATA_MmNumberOfPagingFilesAddr ULONG64 mmNumberOfPagingFiles カーネル変数のアドレスを返します。
DEBUG_DATA_MmLowestPhysicalPageAddr ULONG64 mmLowestPhysicalPage カーネル変数のアドレスを返します。
DEBUG_DATA_MmHighestPhysicalPageAddr ULONG64 mmHighestPhysicalPage カーネル変数のアドレスを返します。
DEBUG_DATA_MmNumberOfPhysicalPagesAddr ULONG64 mmNumberOfPhysicalPages カーネル変数のアドレスを返します。
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr ULONG64 mmMaximumNonPagedPoolInBytes カーネル変数のアドレスを返します。
DEBUG_DATA_MmNonPagedSystemStartAddr ULONG64 MmNonPagedSystemStart カーネル変数のアドレスを返します。
DEBUG_DATA_MmNonPagedPoolStartAddr ULONG64 MmNonPagedPoolStart カーネル変数のアドレスを返します。
DEBUG_DATA_MmNonPagedPoolEndAddr ULONG64 MmNonPagedPoolEnd カーネル変数のアドレスを返します。
DEBUG_DATA_MmPagedPoolStartAddr ULONG64 MmPagedPoolStart カーネル変数のアドレスを返します。
DEBUG_DATA_MmPagedPoolEndAddr ULONG64 MmPagedPoolEnd カーネル変数のアドレスを返します。
DEBUG_DATA_MmPagedPoolInformationAddr ULONG64 MmPagedPoolInfo カーネル変数のアドレスを返します。
DEBUG_DATA_MmPageSize ULONG64 ページ サイズを返します。
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr ULONG64 mmSizeOfPagedPoolInBytes カーネル変数のアドレスを返します。
DEBUG_DATA_MmTotalCommitLimitAddr ULONG64 MmTotalCommitLimit カーネル変数のアドレスを返します。
DEBUG_DATA_MmTotalCommittedPagesAddr ULONG64 mmTotalCommittedPages カーネル変数のアドレスを返します。
DEBUG_DATA_MmSharedCommitAddr ULONG64 MmSharedCommit カーネル変数のアドレスを返します。
DEBUG_DATA_MmDriverCommitAddr ULONG64 MmDriverCommit カーネル変数のアドレスを返します。
DEBUG_DATA_MmProcessCommitAddr ULONG64 MmProcessCommit カーネル変数のアドレスを返します。
DEBUG_DATA_MmPagedPoolCommitAddr ULONG64 MmPagedPoolCommit カーネル変数のアドレスを返します。
DEBUG_DATA_MmExtendedCommitAddr ULONG64 mmExtendedCommit カーネル変数のアドレスを返します。
DEBUG_DATA_MmZeroedPageListHeadAddr ULONG64 MmZeroedPageListHead カーネル変数のアドレスを返します。
DEBUG_DATA_MmFreePageListHeadAddr ULONG64 MmFreePageListHead カーネル変数のアドレスを返します。
DEBUG_DATA_MmStandbyPageListHeadAddr ULONG64 MmStandbyPageListHead カーネル変数のアドレスを返します。
DEBUG_DATA_MmModifiedPageListHeadAddr ULONG64 MmModifiedPageListHead カーネル変数のアドレスを返します。
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr ULONG64 MmModifiedNoWritePageListHead カーネル変数のアドレスを返します。
DEBUG_DATA_MmAvailablePagesAddr ULONG64 mmAvailablePages カーネル変数のアドレスを返します。
DEBUG_DATA_MmResidentAvailablePagesAddr ULONG64 mmResidentAvailablePages カーネル変数のアドレスを返します。
DEBUG_DATA_PoolTrackTableAddr ULONG64 PoolTrackTable カーネル変数のアドレスを返します。
DEBUG_DATA_NonPagedPoolDescriptorAddr ULONG64 NonPagedPoolDescriptor カーネル変数のアドレスを返します。
DEBUG_DATA_MmHighestUserAddressAddr ULONG64 MmHighestUserAddress カーネル変数のアドレスを返します。
DEBUG_DATA_MmSystemRangeStartAddr ULONG64 mmSystemRangeStart カーネル変数のアドレスを返します。
DEBUG_DATA_MmUserProbeAddressAddr ULONG64 MmUserProbeAddress カーネル変数のアドレスを返します。
DEBUG_DATA_KdPrintCircularBufferAddr ULONG64 KdPrintDefaultCircularBuffer カーネル変数を返します。
DEBUG_DATA_KdPrintCircularBufferEndAddr ULONG64 配列 KdPrintDefaultCircularBuffer の末尾のアドレスを返します。
DEBUG_DATA_KdPrintWritePointerAddr ULONG64 KdPrintWritePointer カーネル変数のアドレスを返します。
DEBUG_DATA_KdPrintRolloverCountAddr ULONG64 KdPrintRolloverCount カーネル変数のアドレスを返します。
DEBUG_DATA_MmLoadedUserImageListAddr ULONG64 mmLoadedUserImageList カーネル変数のアドレスを返します。
DEBUG_DATA_PaeEnabled ブーリアン ターゲット システム PAE が有効な場合に TRUE を返します。

それ以外の場合 FALSE を返します。

DEBUG_DATA_SharedUserData ULONG64 KUSER_SHARED_DATA、共有ユーザー モード構造体のターゲットのアドレスを返します。 KUSER_SHARED_DATA構造体は、ntddk.h (Windows Driver Kit) と ntexapi.h (Windows SDK) で定義されます。

この構造体に含まれる情報の一部は、!kuser デバッガー拡張機能によって表示されます。

DEBUG_DATA_ProductType ULONG 共有ユーザー モード ページの NtProductType フィールドの値を返します。

この値は、Windows SDK に記載されている OSVERSIONINFOEX 構造体の wProductType フィールドと同じ方法で解釈する必要があります。

DEBUG_DATA_SuiteMask ULONG 共有ユーザー モード ページの SuiteMask フィールドの値を返します。

この値は、Windows SDK に記載されている OSVERSIONINFOEX 構造体の wSuiteMask フィールドと同じ方法で解釈する必要があります。

DEBUG_DATA_DumpWriterStatus ULONG ダンプ ファイルのライターの状態を返します。 この値は、オペレーティング システムとダンプ ファイルの種類に固有です。
 

Windows XP 以降のバージョンの Windows では、次の値が有効です。

価値 戻り値の型 形容
DEBUG_DATA_NtBuildLabAddr ULONG64 NtBuildLab カーネル変数のアドレスを返します。
DEBUG_DATA_KiNormalSystemCall ULONG64 (Itanium のみ)KiNormalSystemCall カーネル関数のアドレスを返します。
DEBUG_DATA_KiProcessorBlockAddr ULONG64 KiProcessorBlock カーネル変数を返します。
DEBUG_DATA_MmUnloadedDriversAddr ULONG64 MmUnloadedDrivers カーネル変数のアドレスを返します。
DEBUG_DATA_MmLastUnloadedDriverAddr ULONG64 MmLastUnloadedDriver カーネル変数のアドレスを返します。
DEBUG_DATA_MmTriageActionTakenAddr ULONG64 VerifierTriageActionTaken カーネル変数のアドレスを返します。
DEBUG_DATA_MmSpecialPoolTagAddr ULONG64 MmSpecialPoolTag カーネル変数のアドレスを返します。
DEBUG_DATA_KernelVerifierAddr ULONG64 KernelVerifier カーネル変数のアドレスを返します。
DEBUG_DATA_MmVerifierDataAddr ULONG64 MmVerifierData カーネル変数のアドレスを返します。
DEBUG_DATA_MmAllocatedNonPagedPoolAddr ULONG64 MmAllocatedNonPagedPool カーネル変数のアドレスを返します。
DEBUG_DATA_MmPeakCommitmentAddr ULONG64 mmPeakCommitment カーネル変数のアドレスを返します。
DEBUG_DATA_MmTotalCommitLimitMaximumAddr ULONG64 mmTotalCommitLimitMaximum カーネル変数のアドレスを返します。
DEBUG_DATA_CmNtCSDVersionAddr ULONG64 CmNtCSDVersion カーネル変数のアドレスを返します。
DEBUG_DATA_MmPhysicalMemoryBlockAddr ULONG64 MmPhysicalMemoryBlock カーネル変数のアドレスを返します。
DEBUG_DATA_MmSessionBase ULONG64 mmSessionBase カーネル変数のアドレスを返します。
DEBUG_DATA_MmSessionSize ULONG64 mmSessionSize カーネル変数のアドレスを返します。
DEBUG_DATA_MmSystemParentTablePage ULONG64 (Itanium のみ)mmSystemParentTablePage カーネル変数のアドレスを返します。
 

次の値は、Windows Server 2003 以降のバージョンの Windows で有効です。

価値 戻り値の型 形容
DEBUG_DATA_MmVirtualTranslationBase ULONG64 mmVirtualTranslationBase カーネル変数のアドレスを返します。
DEBUG_DATA_OffsetKThreadNextProcessor USHORT KTHREAD 構造体の NextProcessor フィールドのオフセットを返します。
DEBUG_DATA_OffsetKThreadTeb USHORT KTHREAD 構造体の Teb フィールドのオフセットを返します。
DEBUG_DATA_OffsetKThreadKernelStack USHORT KTHREAD 構造体の KernelStack フィールドのオフセットを返します。
DEBUG_DATA_OffsetKThreadInitialStack USHORT KTHREAD 構造体の InitialStack フィールドのオフセットを返します。
DEBUG_DATA_OffsetKThreadApcProcess USHORT KTHREAD 構造体の ApcState.Process フィールドのオフセットを返します。
DEBUG_DATA_OffsetKThreadState USHORT KTHREAD 構造体の State フィールドのオフセットを返します。
DEBUG_DATA_OffsetKThreadBStore USHORT (Itanium のみ)KTHREAD 構造体の InitialBStore フィールドのオフセットを返します。
DEBUG_DATA_OffsetKThreadBStoreLimit USHORT (Itanium のみ)KTHREAD 構造体の BStoreLimit フィールドのオフセットを返します。
DEBUG_DATA_SizeEProcess USHORT EPROCESS 構造体のサイズを返します。
DEBUG_DATA_OffsetEprocessPeb USHORT EPROCESS 構造体の Peb フィールドのオフセットを返します。
DEBUG_DATA_OffsetEprocessParentCID USHORT EPROCESS 構造体の InheritedFromUniqueProcessId フィールドのオフセットを返します。
DEBUG_DATA_OffsetEprocessDirectoryTableBase USHORT EPROCESS 構造体の DirectoryTableBase フィールドのオフセットを返します。
DEBUG_DATA_SizePrcb USHORT KPRCB 構造体のサイズを返します。
DEBUG_DATA_OffsetPrcbDpcRoutine USHORT KPRCB 構造体の DpcRoutineActive フィールドのオフセットを返します。
DEBUG_DATA_OffsetPrcbCurrentThread USHORT KPRCB 構造体の CurrentThread フィールドのオフセットを返します。
DEBUG_DATA_OffsetPrcbMhz USHORT KPRCB 構造体の MHz フィールドのオフセットを返します。
DEBUG_DATA_OffsetPrcbCpuType USHORT Itanium プロセッサの場合: KPRCB 構造体の ProcessorModel フィールドのオフセットを返します。

他のすべてのプロセッサの場合: KPRCB 構造体の CpuType フィールドのオフセットを返します。

DEBUG_DATA_OffsetPrcbVendorString USHORT Itanium プロセッサの場合: KPRCB 構造体の ProcessorVendorString フィールドのオフセットを返します。

他のすべてのプロセッサの場合: KPRCB 構造体の VendorString フィールドのオフセットを返します。

DEBUG_DATA_OffsetPrcbProcessorState USHORT KPRCB 構造体の ProcessorState.ContextFrame フィールドのオフセットを返します。
DEBUG_DATA_OffsetPrcbNumber USHORT KPRCB 構造体の Number フィールドのオフセットを返します。
DEBUG_DATA_SizeEThread USHORT ETHREAD 構造体のサイズを返します。
DEBUG_DATA_KdPrintCircularBufferPtrAddr ULONG64 KdPrintCircularBuffer カーネル変数のアドレスを返します。
DEBUG_DATA_KdPrintBufferSizeAddr ULONG64 KdPrintBufferSize カーネル変数のアドレスを返します。

[out] Buffer

指定したデバッガー データの値を受け取ります。 上記の表の "戻り値の型" 列は、返されるデータ型を指定します。 データにアクセスするには、Buffer をその型へのポインターにキャストします。

[in] BufferSize

バッファー バッファーのサイズをバイト単位で指定します。

[out, optional] DataSize

バッファー バッファーで使用されるバイト数を受け取ります。 DataSize が NULL 場合、この情報は返されません。

戻り値

リターン コード 形容
S_OK
メソッドが成功しました。
 

このメソッドは、エラー値を返すこともできます。 詳細については 戻り値の を参照してください。

備考

一部またはすべての値は、特定のデバッグ セッションでは使用できない場合があります。 たとえば、一部の値は、オペレーティング システムの特定のバージョンでのみ使用できます。

ReadDebuggerDataによって返されるさまざまな値の詳細については、David ソロモンと Mark Russinovich、Microsoft Windows SDK、および Windows Driver Kit (WDK) Microsoft Windows Internals を参照してください。

必要条件

要件 価値
ターゲット プラットフォーム の デスクトップ
ヘッダー dbgeng.h (Dbgeng.h を含む)