docs: def cudnnGetPooling2dDescriptor(poolingDesc):
      """"
      This function queries a previously created pooling descriptor object.
  
      Parameters
      ----------
      poolingDesc : cudnnPoolingDescriptor
      Handle to a previously created 2D pooling descriptor.
  
      Returns
      -------
      mode : cudnnPoolingMode
          Enumerant to specify the pooling mode.
      windowHeight : int
          Height of the pooling window.
      windowWidth : int
          Width of the pooling window.
      verticalPadding: int
          Size of vertical padding.
      horizontalPadding: int
          Size of horizontal padding.
      verticalStride : int
          Pooling vertical stride.
      horizontalStride : int
          Pooling horizontal stride.
      """
  
      mode = ctypes.c_int()
      windowHeight = ctypes.c_int()
      windowWidth = ctypes.c_int()
      verticalPadding = ctypes.c_int()
      horizontalPadding = ctypes.c_int()
      verticalStride = ctypes.c_int()
      horizontalStride = ctypes.c_int()
  
      status = _libcudnn.cudnnGetPooling2dDescriptor(poolingDesc, ctypes.byref(mode), ctypes.byref(windowHeight),
                                                ctypes.byref(windowWidth), ctypes.byref(verticalPadding),
                                                ctypes.byref(horizontalPadding), ctypes.byref(verticalStride),
                                                ctypes.byref(horizontalStride))
      cudnnCheckStatus(status)
  
      return mode.value, windowHeight.value, windowWidth.value, verticalStride.value, horizontalStride.value