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 | BOOLEAN |
ターゲット システムで PAE が有効になっている場合は TRUE を 返します。
それ以外の場合は FALSE を 返します。 |
DEBUG_DATA_SharedUserData | ULONG64 |
KUSER_SHARED_DATA、共有ユーザー モード構造体のターゲットのアドレスを返します。 KUSER_SHARED_DATA構造体は、ntddk.h (Windows ドライバー キット) と 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 の場合、この情報は返されません。
戻り値
リターン コード | 説明 |
---|---|
|
メソッドは正常に実行されました。 |
このメソッドは、エラー値を返すこともできます。 詳細については、「 戻り値 」を参照してください。
注釈
一部またはすべての値は、特定のデバッグ セッションでは使用できない場合があります。 たとえば、一部の値は、オペレーティング システムの特定のバージョンでのみ使用できます。
ReadDebuggerData によって返されるさまざまな値の詳細については、「Microsoft Windows Internals by David ソロモン」および「Mark Russinovich」、「Microsoft Windows SDK」、「Windows Driver Kit (WDK)」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | dbgeng.h (Dbgeng.h を含む) |