With RPC, a single conceptual execution thread can be processed by two or more processing threads. These processing threads can run on the same computer or on different computers. RPC depends on the ability to simulate the client thread's address space in the server thread's address space and to return data, including new and changed data, from the server to the client memory.
Memory management in the context of RPC involves:
As a developer, you can choose among several methods for selecting the way that memory is allocated and freed. Consider a complex data structure, such as a linked list or a tree, that consists of nodes connected with pointers. You can apply attributes that select the following models:
Each of these models is described in detail in this chapter.
This section does not describe the use of different Intel-architecture memory models. For information about using different Intel-architecture memory models, see Building RPC Applications.