enumeración NVME_STATUS_GENERIC_COMMAND_CODES (nvme.h)
Contiene valores que indican un estado asociado al comando que es genérico en muchos tipos diferentes de comandos.
Estos códigos de estado son del de tipo de código de estado
Sintaxis
typedef enum {
NVME_STATUS_SUCCESS_COMPLETION,
NVME_STATUS_INVALID_COMMAND_OPCODE,
NVME_STATUS_INVALID_FIELD_IN_COMMAND,
NVME_STATUS_COMMAND_ID_CONFLICT,
NVME_STATUS_DATA_TRANSFER_ERROR,
NVME_STATUS_COMMAND_ABORTED_DUE_TO_POWER_LOSS_NOTIFICATION,
NVME_STATUS_INTERNAL_DEVICE_ERROR,
NVME_STATUS_COMMAND_ABORT_REQUESTED,
NVME_STATUS_COMMAND_ABORTED_DUE_TO_SQ_DELETION,
NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_FUSED_COMMAND,
NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_MISSING_COMMAND,
NVME_STATUS_INVALID_NAMESPACE_OR_FORMAT,
NVME_STATUS_COMMAND_SEQUENCE_ERROR,
NVME_STATUS_INVALID_SGL_LAST_SEGMENT_DESCR,
NVME_STATUS_INVALID_NUMBER_OF_SGL_DESCR,
NVME_STATUS_DATA_SGL_LENGTH_INVALID,
NVME_STATUS_METADATA_SGL_LENGTH_INVALID,
NVME_STATUS_SGL_DESCR_TYPE_INVALID,
NVME_STATUS_INVALID_USE_OF_CONTROLLER_MEMORY_BUFFER,
NVME_STATUS_PRP_OFFSET_INVALID,
NVME_STATUS_ATOMIC_WRITE_UNIT_EXCEEDED,
NVME_STATUS_OPERATION_DENIED,
NVME_STATUS_SGL_OFFSET_INVALID,
NVME_STATUS_RESERVED,
NVME_STATUS_HOST_IDENTIFIER_INCONSISTENT_FORMAT,
NVME_STATUS_KEEP_ALIVE_TIMEOUT_EXPIRED,
NVME_STATUS_KEEP_ALIVE_TIMEOUT_INVALID,
NVME_STATUS_COMMAND_ABORTED_DUE_TO_PREEMPT_ABORT,
NVME_STATUS_SANITIZE_FAILED,
NVME_STATUS_SANITIZE_IN_PROGRESS,
NVME_STATUS_SGL_DATA_BLOCK_GRANULARITY_INVALID,
NVME_STATUS_DIRECTIVE_TYPE_INVALID,
NVME_STATUS_DIRECTIVE_ID_INVALID,
NVME_STATUS_NVM_LBA_OUT_OF_RANGE,
NVME_STATUS_NVM_CAPACITY_EXCEEDED,
NVME_STATUS_NVM_NAMESPACE_NOT_READY,
NVME_STATUS_NVM_RESERVATION_CONFLICT,
NVME_STATUS_FORMAT_IN_PROGRESS
} NVME_STATUS_GENERIC_COMMAND_CODES;
Constantes
NVME_STATUS_SUCCESS_COMPLETION El comando se completó correctamente. |
NVME_STATUS_INVALID_COMMAND_OPCODE El campo de código de operación de comando asociado no es válido. |
NVME_STATUS_INVALID_FIELD_IN_COMMAND Se especifica un campo no válido o no admitido en los parámetros de comando. |
NVME_STATUS_COMMAND_ID_CONFLICT El identificador de comando ya está en uso. NOTA El número de comandos que se buscan en un conflicto de identificador es específico de la implementación. |
NVME_STATUS_DATA_TRANSFER_ERROR Indica un error al transferir los datos o metadatos asociados a un comando. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_POWER_LOSS_NOTIFICATION Indica que el comando se anuló debido a una notificación de pérdida de energía. |
NVME_STATUS_INTERNAL_DEVICE_ERROR El comando no se completó correctamente debido a un error interno. Los detalles sobre el error interno del dispositivo se devuelven como un evento asincrónico. |
NVME_STATUS_COMMAND_ABORT_REQUESTED El comando se anuló debido a que se recibe un comando De anulación de comandos que especificó el identificador de cola de envío y el identificador de comando de este comando. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_SQ_DELETION El comando se anuló debido a una solicitud de cola de envío de E/S de eliminación recibida para la cola de envío a la que se envió el comando. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_FUSED_COMMAND El comando se anuló debido a un error en la otra operación fusionada. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_MISSING_COMMAND El comando se anuló debido a que el comando complementario fusionado no se encuentra como la entrada de cola de envío posterior. |
NVME_STATUS_INVALID_NAMESPACE_OR_FORMAT El espacio de nombres o el formato de ese espacio de nombres no es válido. |
NVME_STATUS_COMMAND_SEQUENCE_ERROR El comando se anuló debido a una infracción de protocolo en una secuencia de varios comandos. Por ejemplo, una infracción de las reglas de secuenciación de envío de seguridad y recepción de seguridad en el protocolo de comunicaciones de interfaz sincrónica de almacenamiento TCG. |
NVME_STATUS_INVALID_SGL_LAST_SEGMENT_DESCR El comando incluye un descriptor SGL Last Segment o SGL Segment no válido. Esto puede ocurrir cuando el segmento SGL al que apunta un descriptor SGL Last Segment contiene un descriptor de segmento SGL o un descriptor SGL Last Segment o un descriptor de segmento SGL. Esto puede ocurrir cuando un descriptor SGL Last Segment contiene una longitud no válida (por ejemplo, una longitud de cero o una que no es un múltiplo de 16). |
NVME_STATUS_INVALID_NUMBER_OF_SGL_DESCR Hay un descriptor SGL Last Segment o un descriptor de segmento SGL en una ubicación distinta del último descriptor de un segmento en función de la longitud indicada. |
NVME_STATUS_DATA_SGL_LENGTH_INVALID Esto puede ocurrir si la longitud de un SGL de datos es demasiado corta. Esto puede ocurrir si la longitud de un SGL de datos es demasiado larga y el controlador no admite transferencias SGL más largas que la cantidad de datos que se van a transferir, como se indica en el campo Compatibilidad con SGL (SGLS) del controlador de identificación de (NVME_IDENTIFY_CONTROLLER_DATA) estructura de datos. |
NVME_STATUS_METADATA_SGL_LENGTH_INVALID Esto puede ocurrir si la longitud de un SGL de metadatos es demasiado corta. Esto puede ocurrir si la longitud de un SGL de metadatos es demasiado larga y el controlador no admite transferencias SGL más largas que la cantidad de datos que se van a transferir, como se indica en el campo Compatibilidad con SGL (SGLS) del controlador de identificación de (NVME_IDENTIFY_CONTROLLER_DATA) estructura de datos. |
NVME_STATUS_SGL_DESCR_TYPE_INVALID El tipo de un descriptor SGL es un tipo que no es compatible con el controlador. |
NVME_STATUS_INVALID_USE_OF_CONTROLLER_MEMORY_BUFFER El controlador no admite el uso intentado del búfer de memoria del controlador. |
NVME_STATUS_PRP_OFFSET_INVALID El campo Desplazamiento de una entrada PRP no es válido. Esto puede ocurrir cuando hay una entrada PRP con un desplazamiento distinto de cero después de la primera entrada. |
NVME_STATUS_ATOMIC_WRITE_UNIT_EXCEEDED La longitud especificada supera el tamaño de la unidad de escritura atómica. |
NVME_STATUS_OPERATION_DENIED Se denegó el comando debido a la falta de derechos de acceso. |
NVME_STATUS_SGL_OFFSET_INVALID El desplazamiento especificado en un descriptor no es válido. |
NVME_STATUS_RESERVED Reservado. |
NVME_STATUS_HOST_IDENTIFIER_INCONSISTENT_FORMAT El subsistema NVM detectó el uso simultáneo de valores de identificador de host de 64 y 128 bits en diferentes controladores. |
NVME_STATUS_KEEP_ALIVE_TIMEOUT_EXPIRED El temporizador Keep Alive expiró. |
NVME_STATUS_KEEP_ALIVE_TIMEOUT_INVALID El valor Keep Alive Timeout especificado no es válido. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_PREEMPT_ABORT El comando se anuló debido a un comando Reservation Acquire con la acción de adquisición de reserva (RACQA) establecida en 010b (Preempt y Abort). |
NVME_STATUS_SANITIZE_FAILED Error en la operación de saneamiento más reciente y no se ha completado correctamente ninguna acción de recuperación. |
NVME_STATUS_SANITIZE_IN_PROGRESS La función solicitada (por ejemplo, comando) está prohibida mientras una operación de saneamiento está en curso. |
NVME_STATUS_SGL_DATA_BLOCK_GRANULARITY_INVALID La alineación de direcciones o la granularidad de longitud de un descriptor de bloque SGLData no es válida. |
NVME_STATUS_NVM_LBA_OUT_OF_RANGE El comando hace referencia a un LBA que supera el tamaño del espacio de nombres. |
NVME_STATUS_NVM_CAPACITY_EXCEEDED La ejecución del comando ha provocado que se supere la capacidad del espacio de nombres. Este error se produce cuando el Namespace Uso supera la capacidad de Namespace. |
NVME_STATUS_NVM_NAMESPACE_NOT_READY El espacio de nombres no está listo para accederse. El bit No reintentar indica si la nueva emisión del comando en un momento posterior puede realizarse correctamente. |
NVME_STATUS_NVM_RESERVATION_CONFLICT El comando se anuló debido a un conflicto con una reserva mantenida en el espacio de nombres al que se accede. |
NVME_STATUS_FORMAT_IN_PROGRESS El espacio de nombres está siendo formateado actualmente. El bit No reintentar se borrará en "0" para indicar que el comando puede realizarse correctamente si se vuelve a enviar. |
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 10 |
encabezado de |
nvme.h |