IDiaFrameData::get_program
Извлекает строку программы, которая используется для вычисления набор регистров перед вызовом текущей функции.
HRESULT get_program (
BSTR* pRetVal
);
Параметры
- pRetVal
[out] возвращает строку программы.
Возвращаемое значение
В случае успеха возвращает S_OK. Возвращает S_FALSE если это свойство не поддерживается. В противном случае возвращает код ошибки.
Заметки
Строка интерпретируется программы последовательность макросов, чтобы задать прологе. Например, конечный кадр стека может использовать строку программы "$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =". Формат обратная польская нотация, в котором операторы, за которым следует операндами. T0 представляет временную переменную в стеке. Этот пример выполняет следующие шаги:
Содержимое перемещения регистров ebp В T0.
Добавить 4 значения в T0 создать адрес, получите значение из этого адреса и сохраните значение в регистре eip.
Получите значение из адреса, расположенных в T0 и хранилище то значение в регистре ebp.
Добавить 8 значения в T0 и хранилище то значение в регистре esp.
Обратите внимание, что строка программы относится к ЦП и вызывающему установке соглашения для функции, представленной текущим кадром стека.