Compartilhar via


IOCTL_SCSISCAN_SET_TIMEOUT IOCTL (scsiscan.h)

O código de controle IOCTL_SCSISCAN_SET_TIMEOUT modifica o valor de tempo limite usado pelo driver de imagem ainda no modo kernel para barramentos SCSI quando acessa um dispositivo.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

O local que contém um valor de tempo limite, em meio segundo.

Comprimento do buffer de entrada

Tamanho do buffer de entrada

Buffer de saída

Definido como NULL.

Comprimento do buffer de saída

Defina como 0.

Bloco de status

Irp->IoStatus.Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, Status para a condição de erro apropriada como um código NTSTATUS .

Comentários

Quando o driver de imagem SCSI do modo kernel ainda envia um comando SCSI para um dispositivo, por padrão, o driver aguarda 30 segundos antes de cronometrar a operação. Você pode alterar o valor de tempo limite para um dispositivo chamando a função DeviceloControl com o código de controle IOCTL_SCSISCAN_CMD . O valor de tempo limite especificado permanece em vigor até que o dispositivo seja fechado.

Os valores de tempo limite são especificados em meio segundo. Portanto, um valor especificado de 100 faz com que o driver aguarde 50 segundos antes de atingir o tempo limite do dispositivo.

Para obter mais informações, consulte Acessando drivers de Kernel-Mode para dispositivos de imagem ainda.

Exemplo de código

ULONG timeout = 240;
fRet = DeviceIoControl( m_DeviceDataHandle,
        (DWORD)IOCTL_SCSISCAN_SET_TIMEOUT,
        &timeout,
        sizeof(ULONG),
        NULL, NULL, &dwBytesReturned, NULL);

Requisitos

Requisito Valor
Cabeçalho scsiscan.h (inclua Scsiscan.h)

Confira também

Criando solicitações IOCTL em drivers

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously