次の方法で共有


IDebugDataSpaces3::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 を含む)