Función ChangerInitializeElementStatus (mcd.h)
ChangerInitializeElementStatus controla los aspectos específicos del dispositivo de un IRP de control de dispositivo con el código IOCTL IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS.
Sintaxis
NTSTATUS ChangerInitializeElementStatus(
[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
ChangerInitializeElementStatus devuelve el estado devuelto por el controlador de puerto del sistema o uno de los siguientes valores:
STATUS_SUCCESS
STATUS_INVALID_PARAMETER
STATUS_INSUFFICIENT_RESOURCES
Si el modificador no admite la inicialización de un intervalo de elementos de un tipo determinado y se llama a ChangerInitializeElementStatus con un tipo de elemento distinto de AllElements, devuelve STATUS_INVALID_PARAMETER.
Comentarios
Esta rutina es necesaria.
ChangerInitializeElementStatus actualiza la memoria interna del modificador con información actual sobre sus elementos.
El controlador de clase del modificador comprueba la longitud del búfer de entrada en la ubicación de la pila de E/S antes de llamar a ChangerInitializeElementStatus.
Irp-SystemBuffer> apunta a una estructura de CHANGER_INITIALIZE_ELEMENT_STATUS como parámetro de entrada que indica los elementos para los que se va a inicializar el estado y si se va a inicializar el estado del elemento con los datos obtenidos a partir de etiquetas de código de barras.
Para un modificador SCSI, ChangerInitializeElementStatus compila una SRB con un CDB para inicializar el estado del elemento, traduce las direcciones de elementos de base cero a direcciones específicas del dispositivo y envía la SRB al controlador de puerto del sistema.
ChangerInitializeElementStatus establece el campo Información del bloque de estado de E/S en sizeof(CHANGER_INITIALIZE_ELEMENT_STATUS) antes de volver al controlador de clase de modificador.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | mcd.h (incluye Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |