clGetCommandQueueInfo
clGetCommandQueueInfo
2007-2011 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.
3
clGetCommandQueueInfo Query information about a command-queue.

##

cl_int `clGetCommandQueueInfo` cl_command_queue command_queue cl_command_queue_info param_name size_t param_value_size void *param_value size_t *param_value_size_ret

## Parameters

`command_queue`

  Specifies the command-queue being queried.

`param_name`

  Specifies the information to query.

`param_value_size`

  Specifies the size in bytes of memory pointed to by `param_value`. This size must be ≥ size of return type as described in the table below. If `param_value` is NULL, it is ignored.

`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_ret`

  Returns the actual size in bytes of data being queried by `param_value`. If `param_value_size_ret` is NULL, it is ignored

  The list of supported `param_name` values and the information returned in `param_value` by `clGetCommandQueueInfo` is described in the table below.

  cl_command_queue_info | Return Type and Information returned in param_value
  --- | ---
  `CL_QUEUE_CONTEXT` | Return type: cl_context Return the context specified when the command-queue is created.
  `CL_QUEUE_DEVICE` | Return type: cl_device_id Return the device specified when the command-queue is created.
  `CL_QUEUE_REFERENCE_COUNT` | Return type: cl_uint Return the command-queue reference count. The reference count returned with `CL_QUEUE_REFERENCE_COUNT` should be considered immediately stale. It is unsuitable for general use in applications. This feature is provided for identifying memory leaks.
  `CL_QUEUE_PROPERTIES` | Return type: cl_command_queue_properties Return the currently specified properties for the command-queue. These properties are specified by the `properties` argument in clCreateCommandQueue.

## Notes

It is possible that a device(s) becomes unavailable after a context and command-queues that use this device(s) have been created and commands have been queued to command-queues. In this case the behavior of OpenCL API calls that use this context (and command-queues) are considered to be implementation-defined. The user callback function, if specified, when the context is created can be used to record appropriate information in the `errinfo`, `private_info` arguments passed to the callback function when the device becomes unavailable.

## Errors

Returns CL_SUCCESS if the function is executed successfully. Otherwise, it returns the following:

- Returns CL_INVALID_COMMAND_QUEUE if `command_queue` is not a valid command-queue.
- Returns CL_INVALID_VALUE if `param_name` is not one of the supported values or if size in bytes specified by `param_value_size` is less than size of return type and `param_value` is not a NULL value.
- CL_OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
- CL_OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.

## Specification

OpenCL Specification

## Also see

clCreateCommandQueue, clReleaseCommandQueue, clRetainCommandQueue

##