IDiaFrameData::get_programIDiaFrameData::get_program

Récupère la chaîne de programme qui est utilisée pour calculer le Registre défini avant l’appel à la fonction actuelle.Retrieves the program string that is used to compute the register set before the call to the current function.

SyntaxeSyntax

HRESULT get_program (   
   BSTR* pRetVal  
);  

ParamètresParameters

pRetVal
[out] Retourne la chaîne de programme.[out] Returns the program string.

Valeur de retourReturn Value

En cas de réussite, retourne S_OK.If successful, returns S_OK. Retourne S_FALSE si cette propriété n’est pas pris en charge.Returns S_FALSE if this property is not supported. Sinon, retourne un code d'erreur.Otherwise, returns an error code.

NotesRemarks

La chaîne de programme est une séquence de macros qui est interprétée afin d’établir le prologue.The program string is a sequence of macros that is interpreted in order to establish the prologue. Par exemple, un frame de pile classique peut utiliser la chaîne de programme "$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =".For example, a typical stack frame might use the program string "$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =". Le format est la notation polonaise inverse, dans lequel les opérateurs de suivent les opérandes.The format is reverse polish notation, where the operators follow the operands. T0 représente une variable temporaire sur la pile.T0 represents a temporary variable on the stack. Cet exemple effectue les étapes suivantes :This example performs the following steps:

  1. Déplacer le contenu du Registre ebp à T0.Move contents of register ebp to T0.

  2. Ajouter 4 à la valeur de T0 à produire une adresse, obtenir la valeur de cette adresse et stockez la valeur de Registre eip.Add 4 to the value in T0 to produce an address, get the value from that address, and store the value in register eip.

  3. Obtenir la valeur de l’adresse stockée dans T0 et enregistrer cette valeur dans le Registre ebp.Get the value from the address stored in T0 and store that value in register ebp.

  4. Ajouter 8 à la valeur de T0 et enregistrer cette valeur dans le Registre esp.Add 8 to the value in T0 and store that value in register esp.

    Notez que la chaîne du programme est spécifique au processeur et à la convention d’appel défini pour la fonction représentée par le frame de pile actuel.Note that the program string is specific to the CPU and to the calling convention set up for the function represented by the current stack frame.

Voir aussiSee Also

IDiaFrameDataIDiaFrameData