Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pobiera ciąg programu używany do obliczania zestawu rejestrów przed wywołaniem bieżącej funkcji.
Składnia
HRESULT get_program (
BSTR* pRetVal
);
Parametry
pRetVal
[out] Zwraca ciąg programu.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca wartość S_OK. Zwraca wartość S_FALSE , jeśli ta właściwość nie jest obsługiwana. W przeciwnym razie zwraca kod błędu.
Uwagi
Ciąg programu to sekwencja makr interpretowanych w celu ustanowienia prologu. Na przykład typowa ramka stosu może używać ciągu "$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + ="programu . Format jest odwrotną notacją polerowaną, gdzie operatory podążają za operandami. T0 reprezentuje zmienną tymczasową na stosie. W tym przykładzie są wykonywane następujące kroki:
Przenieś zawartość rejestru
ebpdoT0.Dodaj
4do wartości wT0pliku , aby utworzyć adres, pobrać wartość z tego adresu i zapisać wartość w rejestrzeeip.Pobierz wartość z adresu przechowywanego w
T0lokalizacji i zapisz wartość w rejestrzeebp.Dodaj
8wartość do plikuT0i zapisz wartość w rejestrzeesp.Pamiętaj, że ciąg programu jest specyficzny dla procesora CPU i konwencji wywoływania skonfigurowanej dla funkcji reprezentowanej przez bieżącą ramkę stosu.