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 do modo kernel para barramentos SCSI quando ele acessa um dispositivo.
Código principal
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
Definido como 0.
Bloco de status
Irp->IoStatus.Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, status à condição de erro apropriada como um código de NTSTATUS.
Observações
Quando o driver de imagem SCSI no 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. Assim, 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 morta.
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) |
Consulte também
criar solicitações IOCTL em drivers
WdfIoTargetSendInternalIoctlOthersSynchronously