One of the cardinal rules of the
structure is the structure
must remain valid until the I/O completes.
The reason is that the structure
is
manipulated by address rather than by value.
The word complete here has a specific technical meaning.
It doesn't mean "must remain valid until you are no longer interested
in the result of the I/O."
...