Freigeben über


IOCTL_SCSISCAN_SET_TIMEOUT IOCTL (scsiscan.h)

Der IOCTL_SCSISCAN_SET_TIMEOUT Steuerelementcode ändert den Timeoutwert, der vom Kernelmodus verwendet wird, wenn er auf ein Gerät zugreift.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Der Ort, der einen Timeoutwert enthält, in halb Sekunden.

Eingabepufferlänge

Größe des Eingabepuffers

Ausgabepuffer

Auf NULL festgelegt.

Länge des Ausgabepuffers

Auf 0 festgelegt.

Statusblock

Irp->IoStatus.Status auf STATUS_SUCCESS festgelegt ist, wenn die Anforderung erfolgreich ist. Andernfalls Status der entsprechenden Fehlerbedingung als NTSTATUS- Code.

Bemerkungen

Wenn der Kernelmodus-SCSI-Imagetreiber einen SCSI-Befehl an ein Gerät sendet, wartet der Treiber standardmäßig 30 Sekunden, bevor der Vorgang beendet wird. Sie können den Timeoutwert für ein Gerät ändern, indem Sie die DeviceloControl--Funktion mit dem IOCTL_SCSISCAN_CMD-Steuerelementcode aufrufen. Der angegebene Timeoutwert bleibt wirksam, bis das Gerät geschlossen wird.

Timeoutwerte werden in halb Sekunden angegeben. Daher bewirkt ein angegebener Wert von 100, dass der Treiber 50 Sekunden vor dem Timeout des Geräts wartet.

Weitere Informationen finden Sie unter Zugreifen auf Kernel-Mode Drivers for Still Image Devices.

Codebeispiel

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

Anforderungen

Anforderung Wert
Header- scsiscan.h (include Scsiscan.h)

Siehe auch

Erstellen von IOCTL-Anforderungen in Treibern

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously