~~NOTOC~~ ====== clRetainMemObject ====== Inkrementiert den Referenzzähler eines Speicherobjektes. ====== Signatur ====== cl_int clRetainMemObject ( cl_mem memobj ) ====== Parameter ====== **memobj:** gültiges Speicherobjekt ====== Rückgabewert ====== Zurückgegeben wird ein Fehlercode: ^ Wert ^ Beschreibung ^ | CL_SUCCESS | Die Funktion wurde erfolgreich ausgeführt | | CL_INVALID_COMMAND_QUEUE | //command_queue// ist keine gültige Command-Queue | | CL_OUT_OF_RESOURCES | Es ist ein Fehler beim Reservieren von Speicher aufgetreten, der für die OpenCL-Implementation auf dem Gerät gebraucht wird. | | CL_OUT_OF_HOST_MEMORY | Es ist ein Fehler beim Reservieren von Speicher aufgetreten, der für die OpenCL-Implementation auf dem Hostprozressor gebraucht wird. | ====== Hinweise ====== //clCreateBuffer//, //clCreateSubBuffer//, //clCreateImage// führen implizit ein retain aus. Wenn der Referenzzähler des Speicherobjekts auf Null fällt und alle Befehle, die in der Command-Queue eingereiht sind, die das Speicherobjekt brauchen beendet sind, wird das Speicherobjekt gelöscht. Wenn //memobj// ein Puffer-Objekt ist, kann //memobj// nicht gelöscht werden bis nicht alle SubPuffer-Objekte, die zu //memobj// gehören gelöscht wurden. ====== Siehe auch ====== * [[clreleasememobject|clReleaseMemObject]] * [[clcreatebuffer|clCreateBuffer]]