CreateFileA retorna ERROR_NOACCESS + STATUS_DATATYPE_MISALIGNMENT

Iniciado por Usuario887, 20 Noviembre 2021, 14:18 PM

0 Miembros y 1 Visitante están viendo este tema.

Usuario887

#10
Ahora que citaste sobre x64... leo esto:

CitarThe caller reserves space on the stack for arguments passed in registers. The called function can use this space to spill the contents of registers to the stack.

"The caller reserves space on the stack for arguments passed in registers."

Por que reservar en la pila argumentos que ya estas pasando en registros?

Cita de: Eternal Idol en 21 Noviembre 2021, 00:19 AM
No, no se dice eso, sacaste la parte del prologo, DENTRO del prologo se puede dejar la pila desalineada momentaneamente, eso es lo que dice. Si todavia no entendes lo que esta dentro del prologo lee de nuevo:
https://en.wikipedia.org/wiki/Function_prologue_and_epilogue

¿A que se refiere con excepto? ¿Es una pregunta en serio? ¿De verdad? Me rindo por un tiempo.

Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh... Ya ya ya... Es decir, los datos que se salvan en el prologo... Porque esta hablando de la pila... Ya entendi.

Citar¿Es una pregunta en serio?
:xD
En este caso lo borroso no fue la palabra sino el contexto... Era lo que no estaba captando...

Una ultima pregunta al respecto de esto mismo...

Dice que, tambien, excepto las "Frame funcions". En la definicion que citaste:
Citar"There are basically two types of functions. A function that requires a stack frame is called a frame function. A function that does not require a stack frame is called a leaf function."

Con "Requiere de un marco en la pila" se refiere a un espacio para argumentos pasados o a un espacio para variables locales?

Gracias por tu atencion.




CitarAny additional arguments are passed on the stack.

An integer or pointer return value is returned in the rax register, while a floating-point return value is returned in xmm0.

Aprovechando la primera pregunta...
Y las estructuras? Como en x86?