Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The stubs call the type_free_inst function to free memory associated with the presented type. The function is defined as:
void __RPC_USER <type>_free_inst(<type> __RPC_FAR *)
The parameter points to the presented type instance. This object should not be freed. For a discussion on when to call the function, see The transmit_as Attribute.
In the following example, the double-linked list is freed by walking the list to its end, then backing up and freeing each element of the list.
void __RPC_USER DOUBLE_LINK_TYPE_free_inst(
DOUBLE_LINK_TYPE __RPC_FAR * pList)
{
while (pList->pNext != NULL) // go to end of the list
pList = pList->pNext;
pList = pList->pPrevious;
while (pList != NULL)
{
// back through the list
midl_user_free(pList->pNext);
pList = pList->pPrevious;
}
}