A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release en lugar de aosp-main para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
  
         
       
     
  
  
  
    
  
  
  
    
    
      
    
    
      
      Organiza tus páginas con colecciones
    
    
      
      Guarda y categoriza el contenido según tus preferencias.
    
  
  
    
  
  
  
  
    
  
  
    
    
    
  
  Referencia de la estructura gralloc_module_t
 
  
   #include <
   
    gralloc.h
   
   >
  
 
 
  
   |  | 
  
   | struct
    
     hw_module_t | común | 
  
   |  | 
  
   | int(* | registerBuffer
    
    )(struct
    
     gralloc_module_t
    
    const *module, buffer_handle_t handle) | 
  
   |  | 
  
   | int(* | unregisterBuffer
    
    )(struct
    
     gralloc_module_t
    
    const *module, buffer_handle_t handle) | 
  
   |  | 
  
   | int(* | lock
    
    )(struct
    
     gralloc_module_t
    
    const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, void **vaddr) | 
  
   |  | 
  
   | int(* | unlock
    
    )(struct
    
     gralloc_module_t
    
    const *module, buffer_handle_t handle) | 
  
   |  | 
  
   | int(* | perform
    
    )(struct
    
     gralloc_module_t
    
    const *module, int operation,...) | 
  
   |  | 
  
   | int(* | lock_ycbcr
    
    )(struct
    
     gralloc_module_t
    
    const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, struct android_ycbcr *ycbcr) | 
  
   |  | 
  
   | int(* | lockAsync
    
    )(struct
    
     gralloc_module_t
    
    const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, void **vaddr, int fenceFd) | 
  
   |  | 
  
   | int(* | unlockAsync
    
    )(struct
    
     gralloc_module_t
    
    const *module, buffer_handle_t handle, int *fenceFd) | 
  
   |  | 
  
   | int(* | lockAsync_ycbcr
    
    )(struct
    
     gralloc_module_t
    
    const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, struct android_ycbcr *ycbcr, int fenceFd) | 
  
   |  | 
  
   | void * | reserved_proc
    
    [3] | 
  
   |  | 
 
 
 
 
 
  
   Cada módulo de hardware debe tener una estructura de datos llamada HAL_MODULE_INFO_SYM, y los campos de esta estructura de datos deben comenzar con 
    hw_module_t
   , seguido de información específica del módulo.
  
  
   Definición en la línea 
    155
    del archivo 
    gralloc.h
   .
  
  
 
 
 
 
 
 
 
  
   
    
     | int(* lock)(struct
      
       gralloc_module_t
      
      const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, void **vaddr) | 
   
   
  
  
 
 
 
  
   
    
     | int(* lock_ycbcr)(struct
      
       gralloc_module_t
      
      const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, struct android_ycbcr *ycbcr) | 
   
   
  
  
 
 
 
  
   
    
     | int(* lockAsync)(struct
      
       gralloc_module_t
      
      const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, void **vaddr, int fenceFd) | 
   
   
  
  
 
 
 
  
   
    
     | int(* lockAsync_ycbcr)(struct
      
       gralloc_module_t
      
      const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, struct android_ycbcr *ycbcr, int fenceFd) | 
   
   
  
  
 
 
 
 
 
 
  
   
    
     | int(* registerBuffer)(struct
      
       gralloc_module_t
      
      const *module, buffer_handle_t handle) | 
   
   
  
  
 
 
 
 
 
 
 
 
 
  
   
    
     | int(* unlockAsync)(struct
      
       gralloc_module_t
      
      const *module, buffer_handle_t handle, int *fenceFd) | 
   
   
  
  
 
 
 
  
   
    
     | int(* unregisterBuffer)(struct
      
       gralloc_module_t
      
      const *module, buffer_handle_t handle) | 
   
   
  
  
 
 La documentación de esta struct se generó a partir del siguiente archivo:
 
  - 
   hardware/libhardware/include/hardware/
   
    gralloc.h
   
  
 
 
  
  
  
 
  
    
    
      
    
    
  
       
    
    
  
  
  El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
  Última actualización: 2025-07-27 (UTC)
  
  
  
    
      [[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[]]