Compartir a través de


Función ChangerClassSendSrbSynchronous (mcd.h)

El ChangerClassSendSrbSynchronous rutina de forma sincrónica envía un SRB a un dispositivo especificado.

Sintaxis

NTSTATUS ChangerClassSendSrbSynchronous(
  [in] PDEVICE_OBJECT      DeviceObject,
  [in] PSCSI_REQUEST_BLOCK Srb,
  [in] PVOID               Buffer,
  [in] ULONG               BufferSize,
  [in] BOOLEAN             WriteToDevice
);

Parámetros

[in] DeviceObject

Puntero al objeto de dispositivo funcional del dispositivo de destino.

[in] Srb

Puntero a un bloque de solicitud SCSI (SRB) inicializado parcialmente que se enviará al dispositivo de destino.

[in] Buffer

Especifica la dirección del búfer al que > DataBuffer. ChangerClassSendSrbSynchronous crea una MDL para este búfer y la pasa al controlador de dispositivo de destino en el IRP de SRB.

[in] BufferSize

Especifica la longitud, en bytes, del búfer.

[in] WriteToDevice

Indica una operación de escritura cuando operación TRUE y lectura cuando FALSE.

Valor devuelto

Devuelve STATUS_SUCCESS si la SRB se transmite correctamente o el código de error adecuado si se produce un error en la SRB o no se puede enviar por algún motivo.

Observaciones

Los controladores de miniclase del modificador pueden llamar a esta rutina de controladores de clase en Microsoft Windows XP y sistemas operativos posteriores. Los controladores de miniclase deben usar esta rutina para enviar un SRB al controlador de puerto en lugar de llamar directamente a la rutina de biblioteca de classpnp.sysClassSendSrbSynchron ous. Aunque classpnp.sys se incluye con el Kit de controladores de Windows (WDK), no es una API compatible y los controladores que llaman directamente a las rutinas de esta biblioteca podrían no funcionar correctamente en versiones futuras.

ChangerClassSendSrbSynchronous finaliza la inicialización de la SRB parcialmente inicializada, estableciendo las marcas de SRB con los valores indicados en el objeto de dispositivo del destino. ChangerClassSendSrbSynchronous crea el IRP que se usa para transmitir el SRB al dispositivo de destino, envía el IRP y, a continuación, controla la finalización del IRP.

Si se produce un error en el IRP y los datos de la solicitud de detección indican que se debe reintentar el IRP, ChangerClassSendSrbSynchronous volverá a enviar el IRP.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de mcd.h (incluya Mcd.h, Ntddchgr.h)
biblioteca de Mcd.lib

Consulte también

SCSI_REQUEST_BLOCK