Я нахожусь в ситуации, когда мне приходится макетировать функцию _stdcall с использованием C ++ и встроенного ASM, но которая использует переменное число аргументов. Обычно он не знает, сколько аргументов нужно извлечь из стека, когда он возвращает управление своему родителю, поэтому не сработает, но я надеюсь сообщить ему через глобальную переменную, какое количество параметров должно быть, а затем получить его чтобы вытащить их вот так.
Это действительно возможно? Если так, может ли кто-нибудь начать меня в правильном направлении? Я специально застрял с эпилог-кодом, который мне понадобится.
Моя цель - создать функцию, которая может использоваться в качестве обратного вызова для любой функции, для которой она требуется (например, EnumWindows), при условии, что пользователь сообщает ей во время выполнения, насколько длинным должен быть список аргументов. Идея состоит в том, чтобы он интегрировался с некоторым кодом в другом месте, поэтому он в основном запускает триггер каждый раз, когда вызывается обратный вызов, и предоставляет ссылку на место, где возвращаемые переменные могут быть прочитаны и просмотрены пользователем.
Имеет ли это смысл?