event  
            Specifies the event object being queried.
param_value  
            
               A pointer to memory where the appropriate result being queried is returned.
               If param_value is NULL, it is ignored.
            
param_value_size  
            
              Specifies the size in bytes of memory pointed to by param_value.
              This size must be ≥ size of the return type as described in the table below.
            
param_value_size_ret  
            
              Returns the actual size in bytes of data copied to param_value. If
              param_value_size_ret is NULL, it is ignored.
            
param_name  
            
              Specifies the information to query. The list of supported
              param_name types and the information returned in
              param_value by clGetEventInfo is described
              in the table below (Table 5.22):
            
| cl_event_info | Return Type | Information returned in param_value | 
|---|---|---|
| CL_EVENT_COMMAND_QUEUE | cl_command_queue | Return the command-queue associated with event.
                      For user event objects, a NULL value is returned.
                        If the cl_khr_gl_sharing 
                        extension is enabled, the command queue of a linked event NULL, because the event is not 
                        associated with any OpenCL command queue. | 
| CL_EVENT_CONTEXT | cl_context | Return the context associated with event. | 
| CL_EVENT_COMMAND_TYPE | cl_command_type | Return the command associated with event.
                                    Can be one of the following values:
 | 
| CL_EVENT_COMMAND_ EXECUTION_STATUS | cl_int | Return the execution status of the command identified by event.
                      The valid values are:
                         
                         
                         
                         
                        Error code given by a negative integer value. (command was
                        abnormally terminated – this may be caused by a bad memory access
                        etc.) These error codes come from the same set of error codes that are
                        returned from the platform or runtime API calls as return values or
                         
                        The error code values are negative, and event state values are
                        positive. The event state values are ordered from the largest
                        value ( 
                        If the cl_khr_gl_event 
                        extension is enabled,
                        the status of a linked event is either 
                         
                        If the cl_khr_egl_event 
                        extension is enabled,
                        the status of a linked event is either 
                         | 
| CL_EVENT_REFERENCE_COUNT | cl_uint | Return the eventreference count. The reference count
                      returned should be considered immediately stale. It is unsuitable for general
                      use in applications.  This feature is provided for identifying memory leaks. | 
          Using clGetEventInfo to determine if a command
          identified by event has finished execution
          (i.e. CL_EVENT_COMMAND_EXECUTION_STATUS returns
          CL_COMPLETE) is not a synchronization point. There are no
          guarantees that the memory objects being modified by command associated with
          event will be visible to other enqueued commands.
        
Returns CL_SUCCESS if the function executed successfully. Otherwise, it returns one of the following errors:
param_name is not
              valid, or if size in bytes specified by param_value_size
              is < size of return type as described in the table above and
              param_value is not NULL.
            param_name cannot be queried for event.
            event is not a
              valid event object.
             Copyright © 2007-2013 The Khronos Group Inc. 
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.
Copyright © 2007-2013 The Khronos Group Inc. 
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.