Compartir a través de


Función ChangerGetElementStatus (mcd.h)

ChangerGetElementStatus controla los aspectos específicos del dispositivo de un IRP de control de dispositivo con el código IOCTL IOCTL_CHANGER_GET_ELEMENT_STATUS.

Sintaxis

NTSTATUS ChangerGetElementStatus(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

Parámetros

[in] DeviceObject

Puntero al objeto de dispositivo que representa el modificador.

[in] Irp

Puntero al IRP.

Valor devuelto

ChangerGetElementStatus devuelve el estado devuelto por el controlador de puerto del sistema o uno de los siguientes valores:

STATUS_SUCCESS

STATUS_INFO_LENGTH_MISMATCH

STATUS_INSUFFICIENT_RESOURCES

STATUS_INVALID_DEVICE_REQUEST

STATUS_INVALID_ELEMENT_ADDRESS

Si VolumeTagInfo está establecido para un modificador que no admite información de etiquetas de volumen, ChangerGetElementStatus devuelve STATUS_INVALID_PARAMETER.

Comentarios

Esta rutina es necesaria.

ChangerGetElementStatus devuelve el estado y, opcionalmente, la información de etiquetas de volumen para todos los elementos de un modificador o el estado de un número específico de elementos de un tipo determinado.

El controlador de clase changer comprueba las longitudes del búfer de entrada y salida en la ubicación de la pila de E/S antes de llamar a ChangerGetElementStatus.

Irp-SystemBuffer> apunta a una estructura de CHANGER_READ_ELEMENT_STATUS como parámetro de entrada que indica los elementos para los que se va a notificar el estado y si se va a notificar información de etiquetas de volumen.

ChangerGetElementStatus compila primero un SRB con un CDB para leer el comando de estado del elemento y lo envía al controlador de puerto del sistema para recuperar el estado de los elementos del modificador. Para la mayoría de los tipos de elementos, ChangerGetElementStatus rellena una estructura de CHANGER_ELEMENT_STATUS en Irp-AssociatedIrp.SystemBuffer > para cada elemento para el que notifica el estado. Sin embargo, algunos elementos del tipo ChangerDrive devuelven datos de información del producto. Si el dispositivo proporciona información del producto, el controlador de miniclase debe notificar los datos de estado del elemento en una estructura de tipo CHANGER_ELEMENT_STATUS_EX en lugar de usar CHANGER_ELEMENT_STATUS. ChangerGetElementStatus debe indicar que la información del producto está presente estableciendo ELEMENT_STATUS_PRODUCT_DATA en el miembro Flags de la estructura.

ChangerGetElementStatus establece el campo Información en el bloque de estado de E/S en el número de bytes devueltos antes de volver al controlador de clase changer.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado mcd.h (incluya Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL

Consulte también

CHANGER_ELEMENT

CHANGER_ELEMENT_LIST

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

estado de CHANGER_READ_ELEMENT

ChangerGetStatus

ChangerInitializeElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS