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 場合、この情報は返されません。
戻り値
リターン コード | 形容 |
---|---|
|
メソッドが成功しました。 |
このメソッドは、エラー値を返すこともできます。 詳細については 戻り値の を参照してください。
備考
一部またはすべての値は、特定のデバッグ セッションでは使用できない場合があります。 たとえば、一部の値は、オペレーティング システムの特定のバージョンでのみ使用できます。
ReadDebuggerDataによって返されるさまざまな値の詳細については、David ソロモンと Mark Russinovich、Microsoft Windows SDK、および Windows Driver Kit (WDK) Microsoft Windows Internals を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | dbgeng.h (Dbgeng.h を含む) |