Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Registra una matriz de búferes con el sistema para futuras operaciones de anillo de E/S.
Syntax
HRESULT BuildIoRingRegisterBuffers(
HIORING ioRing,
UINT32 count,
IORING_BUFFER_INFO const [] buffers,
UINT_PTR userData
);
Parámetros
ioRing
HIORING que representa un identificador del anillo de E/S para el que se registran los búferes.
count
UINT32 que especifica el número de búferes proporcionados en el parámetro buffers .
buffers
Matriz de IORING_BUFFER_INFO estructuras que representan los búferes que se van a registrar.
userData
Valor de UINT_PTR que identifica la operación de registro. Especifique este valor al cancelar la operación con una llamada a BuildIoRingCancelRequest. Si una aplicación implementa el comportamiento de cancelación para la operación, el valor userData debe ser único. De lo contrario, el sistema trata el valor como opaco y puede ser cualquier cosa, incluido 0.
Valor devuelto
Devuelve un VALOR HRESULT, incluido, pero no limitado a lo siguiente:
| Importancia | Description |
|---|---|
| S_OK | Success |
| IORING_E_SUBMISSION_QUEUE_FULL | La cola de envío está llena y no hay entradas adicionales disponibles para compilar. La aplicación debe enviar las entradas existentes y esperar a que algunos de ellos se completen antes de agregar más operaciones a la cola. |
| IORING_E_UNKNOWN_REQUIRED_FLAG | La aplicación proporcionó una marca necesaria que no se conoce para la implementación. El código de biblioteca debe comprobar el campo IoRingVersion del IORING_INFO obtenido de una llamada a GetIoRingInfo para determinar la versión de API de un anillo de E/S que determina las operaciones y las marcas que se admiten. Las aplicaciones deben conocer la versión que usaron para crear el anillo de E/S y, por lo tanto, no deben proporcionar marcas no admitidas en tiempo de ejecución. |
Observaciones
Esta función permite a la implementación del kernel realizar la validación y la asignación interna una vez evitando la sobrecarga en cada operación de E/S. Las entradas posteriores de la cola de envío pueden hacer referencia a los búferes registrados con esta función mediante un índice entero en la matriz. Si existe un registro anterior, esto reemplaza el registro anterior por completo. Las entradas de la matriz con una dirección NULL y una longitud de 0 son entradas dispersas y no se usan. Esto le permite liberar uno o varios de los búferes registrados anteriormente.
Requisitos
| Requirement | Importancia |
|---|---|
| Cliente mínimo compatible | Windows Build 22000 |
| Servidor mínimo admitido | Windows Build 22000 |
| Header | ioringapi.h |
| Library | kernel32. Lib |