Partager via


Méthode IDebugDataSpaces4 ::SearchVirtual2 (dbgeng.h)

La méthode SearchVirtual2 recherche un modèle d’octets spécifié dans la mémoire virtuelle du processus.

Syntaxe

HRESULT SearchVirtual2(
  [in]  ULONG64  Offset,
  [in]  ULONG64  Length,
  [in]  ULONG    Flags,
  [in]  PVOID    Pattern,
  [in]  ULONG    PatternSize,
  [in]  ULONG    PatternGranularity,
  [out] PULONG64 MatchOffset
);

Paramètres

[in] Offset

Spécifie l’emplacement dans l’espace d’adressage virtuel du processus pour commencer à rechercher le modèle.

[in] Length

Spécifie la distance à rechercher pour le modèle. Une correspondance réussie nécessite que le modèle entier soit trouvé avant que les octets de longueur aient été examinés.

[in] Flags

Spécifie un champ de bits d’indicateurs pour la recherche. Actuellement, le seul indicateur de bits qui peut être défini est DEBUG_VSEARCH_WRITABLE_ONLY, ce qui limite la recherche à la mémoire accessible en écriture.

[in] Pattern

Spécifie le modèle à rechercher.

[in] PatternSize

Spécifie la taille, en octets, du modèle. Il doit s’agir d’un multiple de la granularité du modèle.

[in] PatternGranularity

Spécifie la granularité du modèle. Pour que la correspondance réussisse, la différence entre l’emplacement du modèle trouvé et le décalage doit être un multiple de PatternGranularity.

[out] MatchOffset

Reçoit l’emplacement dans l’espace d’adressage virtuel du processus du modèle, s’il a été trouvé.

Valeur retournée

Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez Valeurs de retour .

Code de retour Description
S_OK
La méthode a réussi.
HRESULT_FROM_NT(STATUS_NO_MORE_ENTRIES)
Après avoir examiné les octets de longueur , le modèle est introuvable.

Remarques

Cette méthode recherche dans la mémoire virtuelle de la cible la première occurrence, sous réserve de granularité, du modèle qui est entièrement contenu dans les octets de longueur de la mémoire de la cible, en commençant à l’emplacement Décalage .

PatternGranularity peut être utilisé pour garantir l’alignement de la correspondance par rapport à Offset. Par exemple, une valeur de 0x4 peut être utilisée pour exiger l’alignement sur un DWORD. Une valeur de 0x1 peut être utilisée pour permettre au modèle de démarrer n’importe où.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête dbgeng.h (inclure Dbgeng.h)

Voir aussi

IDebugDataSpaces4

SearchVirtual