This function takes the following parameters:
The specified map object.
Pointer to the key for the entry.
If an entry with the same key already exists, the existing value is replaced by the new value.
Pointer to the [new] value to be associated with the key.
If not zero, the specified value replaces all existing values. Otherwise, the specified value is added to the list of values already associated with the specified key.