Share via


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 BOOLEAN ターゲット システムで 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

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

戻り値

リターン コード 説明
S_OK
メソッドは正常に実行されました。
 

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

注釈

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

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

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (Dbgeng.h を含む)