IDebugDataSpaces4::ReadDebuggerData-Methode (dbgeng.h)

Die ReadDebuggerData-Methode gibt Informationen über das Ziel zurück, das das Debuggermodul während der aktuellen Sitzung abgefragt oder ermittelt hat. Die verfügbaren Informationen umfassen die Speicherorte bestimmter wichtiger Zielkernkernspeicherorte, bestimmte status Werte und eine Reihe anderer Dinge.

Syntax

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

Parameter

[in] Index

Gibt den Index der abzurufenden Daten an. Folgende Werte sind gültig:

Wert Rückgabetyp BESCHREIBUNG
DEBUG_DATA_KernBase ULONG64 Gibt die Basisadresse des Kernelimages zurück.
DEBUG_DATA_BreakpointWithStatusAddr ULONG64 Gibt die Adresse der Kernelfunktion BreakpointWithStatusInstruction zurück.
DEBUG_DATA_SavedContextAddr ULONG64 Gibt die Adresse des gespeicherten Kontextdatensatzes während einer Fehlerüberprüfung zurück. Sie ist nur nach einer Fehlerüberprüfung gültig.
DEBUG_DATA_KiCallUserModeAddr ULONG64 Gibt die Adresse der Kernelfunktion KiCallUserMode zurück.
DEBUG_DATA_KeUserCallbackDispatcherAddr ULONG64 Gibt die Kernelvariable KeUserCallbackDispatcher zurück.
DEBUG_DATA_PsLoadedModuleListAddr ULONG64 Gibt die Adresse der Kernelvariable PsLoadedModuleList zurück.
DEBUG_DATA_PsActiveProcessHeadAddr ULONG64 Gibt die Adresse der Kernelvariable PsActiveProcessHead zurück.
DEBUG_DATA_PspCidTableAddr ULONG64 Gibt die Adresse der Kernelvariable PspCidTable zurück.
DEBUG_DATA_ExpSystemResourcesListAddr ULONG64 Gibt die Adresse der Kernelvariable ExpSystemResourcesList zurück.
DEBUG_DATA_ExpPagedPoolDescriptorAddr ULONG64 Gibt die Adresse der Kernelvariable ExpPagedPoolDescriptor zurück.
DEBUG_DATA_ExpNumberOfPagedPoolsAddr ULONG64 Gibt die Adresse der Kernelvariable ExpNumberOfPagedPools zurück.
DEBUG_DATA_KeTimeIncrementAddr ULONG64 Gibt die Adresse der Kernelvariable KeTimeIncrement zurück.
DEBUG_DATA_KeBugCheckCallbackListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable KeBugCheckCallbackListHead zurück.
DEBUG_DATA_KiBugcheckDataAddr ULONG64 Gibt die Kernelvariable KiBugCheckData zurück.
DEBUG_DATA_IopErrorLogListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable IopErrorLogListHead zurück.
DEBUG_DATA_ObpRootDirectoryObjectAddr ULONG64 Gibt die Adresse der Kernelvariable ObpRootDirectoryObject zurück.
DEBUG_DATA_ObpTypeObjectTypeAddr ULONG64 Gibt die Adresse der Kernelvariable ObpTypeObjectType zurück.
DEBUG_DATA_MmSystemCacheStartAddr ULONG64 Gibt die Adresse der Kernelvariable MmSystemCacheStart zurück.
DEBUG_DATA_MmSystemCacheEndAddr ULONG64 Gibt die Adresse der Kernelvariable MmSystemCacheEnd zurück.
DEBUG_DATA_MmSystemCacheWsAddr ULONG64 Gibt die Adresse der Kernelvariable MmSystemCacheWs zurück.
DEBUG_DATA_MmPfnDatabaseAddr ULONG64 Gibt die Adresse der Kernelvariable MmPfnDatabase zurück.
DEBUG_DATA_MmSystemPtesStartAddr ULONG64 Gibt die Kernelvariable MmSystemPtesStart zurück.
DEBUG_DATA_MmSystemPtesEndAddr ULONG64 Gibt die Kernelvariable MmSystemPtesEnd zurück.
DEBUG_DATA_MmSubsectionBaseAddr ULONG64 Gibt die Adresse der Kernelvariable MmSubsectionBase zurück.
DEBUG_DATA_MmNumberOfPagingFilesAddr ULONG64 Gibt die Adresse der Kernelvariable MmNumberOfPagingFiles zurück.
DEBUG_DATA_MmLowestPhysicalPageAddr ULONG64 Gibt die Adresse der Kernelvariable MmLowestPhysicalPage zurück.
DEBUG_DATA_MmHighestPhysicalPageAddr ULONG64 Gibt die Adresse der Kernelvariable MmHighestPhysicalPage zurück.
DEBUG_DATA_MmNumberOfPhysicalPagesAddr ULONG64 Gibt die Adresse der Kernelvariable MmNumberOfPhysicalPages zurück.
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr ULONG64 Gibt die Adresse der Kernelvariable MmMaximumNonPagedPoolInBytes zurück.
DEBUG_DATA_MmNonPagedSystemStartAddr ULONG64 Gibt die Adresse der Kernelvariable MmNonPagedSystemStart zurück.
DEBUG_DATA_MmNonPagedPoolStartAddr ULONG64 Gibt die Adresse der Kernelvariable MmNonPagedPoolStart zurück.
DEBUG_DATA_MmNonPagedPoolEndAddr ULONG64 Gibt die Adresse der Kernelvariable MmNonPagedPoolEnd zurück.
DEBUG_DATA_MmPagedPoolStartAddr ULONG64 Gibt die Adresse der Kernelvariable MmPagedPoolStart zurück.
DEBUG_DATA_MmPagedPoolEndAddr ULONG64 Gibt die Adresse der Kernelvariable MmPagedPoolEnd zurück.
DEBUG_DATA_MmPagedPoolInformationAddr ULONG64 Gibt die Adresse der Kernelvariable MmPagedPoolInfo zurück.
DEBUG_DATA_MmPageSize ULONG64 Gibt die Seitengröße zurück.
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr ULONG64 Gibt die Adresse der Kernelvariable MmSizeOfPagedPoolInBytes zurück.
DEBUG_DATA_MmTotalCommitLimitAddr ULONG64 Gibt die Adresse der Kernelvariable MmTotalCommitLimit zurück.
DEBUG_DATA_MmTotalCommittedPagesAddr ULONG64 Gibt die Adresse der Kernelvariable MmTotalCommittedPages zurück.
DEBUG_DATA_MmSharedCommitAddr ULONG64 Gibt die Adresse der Kernelvariable MmSharedCommit zurück.
DEBUG_DATA_MmDriverCommitAddr ULONG64 Gibt die Adresse der Kernelvariable MmDriverCommit zurück.
DEBUG_DATA_MmProcessCommitAddr ULONG64 Gibt die Adresse der Kernelvariable MmProcessCommit zurück.
DEBUG_DATA_MmPagedPoolCommitAddr ULONG64 Gibt die Adresse der Kernelvariable MmPagedPoolCommit zurück.
DEBUG_DATA_MmExtendedCommitAddr ULONG64 Gibt die Adresse der Kernelvariable MmExtendedCommit.. zurück.
DEBUG_DATA_MmZeroedPageListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable MmZeroedPageListHead zurück.
DEBUG_DATA_MmFreePageListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable MmFreePageListHead zurück.
DEBUG_DATA_MmStandbyPageListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable MmStandbyPageListHead zurück.
DEBUG_DATA_MmModifiedPageListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable MmModifiedPageListHead zurück.
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable MmModifiedNoWritePageListHead zurück.
DEBUG_DATA_MmAvailablePagesAddr ULONG64 Gibt die Adresse der Kernelvariable MmAvailablePages zurück.
DEBUG_DATA_MmResidentAvailablePagesAddr ULONG64 Gibt die Adresse der Kernelvariable MmResidentAvailablePages zurück.
DEBUG_DATA_PoolTrackTableAddr ULONG64 Gibt die Adresse der Kernelvariable PoolTrackTable zurück.
DEBUG_DATA_NonPagedPoolDescriptorAddr ULONG64 Gibt die Adresse der Kernelvariable NonPagedPoolDescriptor zurück.
DEBUG_DATA_MmHighestUserAddressAddr ULONG64 Gibt die Adresse der Kernelvariable MmHighestUserAddress zurück.
DEBUG_DATA_MmSystemRangeStartAddr ULONG64 Gibt die Adresse der Kernelvariable MmSystemRangeStart zurück.
DEBUG_DATA_MmUserProbeAddressAddr ULONG64 Gibt die Adresse der Kernelvariable MmUserProbeAddress zurück.
DEBUG_DATA_KdPrintCircularBufferAddr ULONG64 Gibt die Kernelvariable KdPrintDefaultCircularBuffer zurück.
DEBUG_DATA_KdPrintCircularBufferEndAddr ULONG64 Gibt die Adresse des Endes des Arrays KdPrintDefaultCircularBuffer zurück.
DEBUG_DATA_KdPrintWritePointerAddr ULONG64 Gibt die Adresse der Kernelvariable KdPrintWritePointer zurück.
DEBUG_DATA_KdPrintRolloverCountAddr ULONG64 Gibt die Adresse der Kernelvariable KdPrintRolloverCount zurück.
DEBUG_DATA_MmLoadedUserImageListAddr ULONG64 Gibt die Adresse der Kernelvariable MmLoadedUserImageList zurück.
DEBUG_DATA_PaeEnabled BOOLEAN Gibt TRUE zurück, wenn für das Zielsystem PAE aktiviert ist.

Gibt andernfalls FALSE zurück.

DEBUG_DATA_SharedUserData ULONG64 Gibt die Adresse im Ziel der freigegebenen Benutzermodusstruktur zurück, KUSER_SHARED_DATA. Die KUSER_SHARED_DATA-Struktur ist in ntddk.h (im Windows Driver Kit) und ntexapi.h (im Windows SDK) definiert.

Einige der in dieser Struktur enthaltenen Informationen werden von der Debuggererweiterung !kuser angezeigt.

DEBUG_DATA_ProductType ULONG Gibt den Wert des NtProductType-Felds auf der Seite für den freigegebenen Benutzermodus zurück.

Dieser Wert sollte auf die gleiche Weise interpretiert werden wie das wProductType-Feld der Struktur OSVERSIONINFOEX, das im Windows SDK dokumentiert ist.

DEBUG_DATA_SuiteMask ULONG Gibt den Wert des Felds SuiteMask auf der Seite für den freigegebenen Benutzermodus zurück.

Dieser Wert sollte genauso interpretiert werden wie das wSuiteMask-Feld der Struktur OSVERSIONINFOEX, das im Windows SDK dokumentiert ist.

DEBUG_DATA_DumpWriterStatus ULONG Gibt den status des Writers der Speicherabbilddatei zurück. Dieser Wert ist betriebssystem- und speicherabbilddateitypspezifisch.
 

Die folgenden Werte gelten für Windows XP und höhere Versionen von Windows:

Wert Rückgabetyp BESCHREIBUNG
DEBUG_DATA_NtBuildLabAddr ULONG64 Gibt die Adresse der Kernelvariable NtBuildLab zurück.
DEBUG_DATA_KiNormalSystemCall ULONG64 (Nur Itanium) Gibt die Adresse der Kernelfunktion KiNormalSystemCall zurück.
DEBUG_DATA_KiProcessorBlockAddr ULONG64 Gibt die Kernelvariable KiProcessorBlock zurück.
DEBUG_DATA_MmUnloadedDriversAddr ULONG64 Gibt die Adresse der Kernelvariable MmUnloadedDrivers zurück.
DEBUG_DATA_MmLastUnloadedDriverAddr ULONG64 Gibt die Adresse der Kernelvariable MmLastUnloadedDriver zurück.
DEBUG_DATA_MmTriageActionTakenAddr ULONG64 Gibt die Adresse der Kernelvariable VerifierTriageActionTaken zurück.
DEBUG_DATA_MmSpecialPoolTagAddr ULONG64 Gibt die Adresse der Kernelvariable MmSpecialPoolTag zurück.
DEBUG_DATA_KernelVerifierAddr ULONG64 Gibt die Adresse der Kernelvariable KernelVerifier zurück.
DEBUG_DATA_MmVerifierDataAddr ULONG64 Gibt die Adresse der Kernelvariable MmVerifierData zurück.
DEBUG_DATA_MmAllocatedNonPagedPoolAddr ULONG64 Gibt die Adresse der Kernelvariable MmAllocatedNonPagedPool zurück.
DEBUG_DATA_MmPeakCommitmentAddr ULONG64 Gibt die Adresse der Kernelvariable MmPeakCommitment zurück.
DEBUG_DATA_MmTotalCommitLimitMaximumAddr ULONG64 Gibt die Adresse der Kernelvariable MmTotalCommitLimitMaximum zurück.
DEBUG_DATA_CmNtCSDVersionAddr ULONG64 Gibt die Adresse der Kernelvariable CmNtCSDVersion zurück.
DEBUG_DATA_MmPhysicalMemoryBlockAddr ULONG64 Gibt die Adresse der Kernelvariable MmPhysicalMemoryBlock zurück.
DEBUG_DATA_MmSessionBase ULONG64 Gibt die Adresse der Kernelvariable MmSessionBase zurück.
DEBUG_DATA_MmSessionSize ULONG64 Gibt die Adresse der Kernelvariable MmSessionSize zurück.
DEBUG_DATA_MmSystemParentTablePage ULONG64 (Nur Itanium) Gibt die Adresse der Kernelvariable MmSystemParentTablePage zurück.
 

Die folgenden Werte sind für Windows Server 2003 und höhere Versionen von Windows gültig:

Wert Rückgabetyp BESCHREIBUNG
DEBUG_DATA_MmVirtualTranslationBase ULONG64 Gibt die Adresse der Kernelvariable MmVirtualTranslationBase zurück.
DEBUG_DATA_OffsetKThreadNextProcessor USHORT Gibt den Offset des NextProcessor-Felds in der KTHREAD-Struktur zurück.
DEBUG_DATA_OffsetKThreadTeb USHORT Gibt den Offset des Teb-Felds in der KTHREAD-Struktur zurück.
DEBUG_DATA_OffsetKThreadKernelStack USHORT Gibt den Offset des KernelStack-Felds in der KTHREAD-Struktur zurück.
DEBUG_DATA_OffsetKThreadInitialStack USHORT Gibt den Offset des InitialStack-Felds in der KTHREAD-Struktur zurück.
DEBUG_DATA_OffsetKThreadApcProcess USHORT Gibt den Offset des Felds ApcState.Process in der KTHREAD-Struktur zurück.
DEBUG_DATA_OffsetKThreadState USHORT Gibt den Offset des Felds State in der KTHREAD-Struktur zurück.
DEBUG_DATA_OffsetKThreadBStore USHORT (Nur Itanium) Gibt den Offset des InitialBStore-Felds in der KTHREAD-Struktur zurück.
DEBUG_DATA_OffsetKThreadBStoreLimit USHORT (Nur Itanium) Gibt den Offset des Felds BStoreLimit in der KTHREAD-Struktur zurück.
DEBUG_DATA_SizeEProcess USHORT Gibt die Größe der EPROCESS-Struktur zurück.
DEBUG_DATA_OffsetEprocessPeb USHORT Gibt den Offset des Peb-Felds in der EPROCESS-Struktur zurück.
DEBUG_DATA_OffsetEprocessParentCID USHORT Gibt den Offset des Felds InheritedFromUniqueProcessId in der EPROCESS-Struktur zurück.
DEBUG_DATA_OffsetEprocessDirectoryTableBase USHORT Gibt den Offset des DirectoryTableBase-Felds in der EPROCESS-Struktur zurück.
DEBUG_DATA_SizePrcb USHORT Gibt die Größe der KPRCB-Struktur zurück.
DEBUG_DATA_OffsetPrcbDpcRoutine USHORT Gibt den Offset des DpcRoutineActive-Felds in der KPRCB-Struktur zurück.
DEBUG_DATA_OffsetPrcbCurrentThread USHORT Gibt den Offset des CurrentThread-Felds in der KPRCB-Struktur zurück.
DEBUG_DATA_OffsetPrcbMhz USHORT Gibt den Offset des MHz-Felds in der KPRCB-Struktur zurück.
DEBUG_DATA_OffsetPrcbCpuType USHORT Für Itanium-Prozessoren: Gibt den Offset des ProcessorModel-Felds in der KPRCB-Struktur zurück.

Für alle anderen Prozessoren: Gibt den Offset des CpuType-Felds in der KPRCB-Struktur zurück.

DEBUG_DATA_OffsetPrcbVendorString USHORT Für Itanium-Prozessoren: Gibt den Offset des ProzessorVendorString-Felds in der KPRCB-Struktur zurück.

Für alle anderen Prozessoren: Gibt den Offset des VendorString-Felds in der KPRCB-Struktur zurück.

DEBUG_DATA_OffsetPrcbProcessorState USHORT Gibt den Offset des Felds ProcessorState.ContextFrame in der KPRCB-Struktur zurück.
DEBUG_DATA_OffsetPrcbNumber USHORT Gibt den Offset des Felds Zahl in der KPRCB-Struktur zurück.
DEBUG_DATA_SizeEThread USHORT Gibt die Größe der ETHREAD-Struktur zurück.
DEBUG_DATA_KdPrintCircularBufferPtrAddr ULONG64 Gibt die Adresse der Kernelvariable KdPrintCircularBuffer zurück.
DEBUG_DATA_KdPrintBufferSizeAddr ULONG64 Gibt die Adresse der Kernelvariable KdPrintBufferSize zurück.

[out] Buffer

Empfängt den Wert der angegebenen Debuggerdaten. Die Spalte "Rückgabetyp" in der obigen Tabelle gibt den zurückgegebenen Datentyp an. Auf die Daten kann zugegriffen werden, indem Puffer in einen Zeiger auf diesen Typ umgewandelt wird.

[in] BufferSize

Gibt die Größe des Pufferpuffers in Byte an.

[out, optional] DataSize

Empfängt die Anzahl von Bytes, die im Pufferpuffer verwendet werden. Wenn DataSizeNULL ist, werden diese Informationen nicht zurückgegeben.

Rückgabewert

Rückgabecode BESCHREIBUNG
S_OK
Die Methode war erfolgreich.
 

Diese Methode kann auch Fehlerwerte zurückgeben. Weitere Informationen finden Sie unter Rückgabewerte .

Hinweise

Einige oder alle Werte sind in bestimmten Debugsitzungen möglicherweise nicht verfügbar. Beispielsweise sind einige der Werte nur für bestimmte Versionen des Betriebssystems verfügbar.

Ausführliche Informationen zu den verschiedenen Werten, die von ReadDebuggerData zurückgegeben werden, finden Sie unter Microsoft Windows Internals von David Solomon und Mark Russinovich, dem Microsoft Windows SDK und dem Windows Driver Kit (WDK).

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dbgeng.h (dbgeng.h einschließen)