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
estado de CHANGER_READ_ELEMENT