Freigeben über


IOCTL_SCSISCAN_SET_TIMEOUT IOCTL (scsiscan.h)

Der IOCTL_SCSISCAN_SET_TIMEOUT Steuercode ändert den Timeoutwert, der vom Kernelmodus-Standbildtreiber für SCSI-Busse verwendet wird, wenn er auf ein Gerät zugreift.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Der Speicherort, der einen Timeoutwert in halben Sekunden enthält.

Länge des Eingabepuffers

Größe des Eingabepuffers

Ausgabepuffer

Auf NULL festgelegt.

Länge des Ausgabepuffers

Auf 0 festlegen.

Statusblock

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

Hinweise

Wenn der SCSI-Standbildtreiber im Kernelmodus einen SCSI-Befehl an ein Gerät sendet, wartet der Treiber standardmäßig 30 Sekunden, bevor ein Timeout des Vorgangs auftritt. Sie können den Timeoutwert für ein Gerät ändern, indem Sie die DeviceloControl-Funktion mit dem IOCTL_SCSISCAN_CMD Steuercode aufrufen. Der angegebene Timeoutwert bleibt in Kraft, bis das Gerät geschlossen wird.

Timeoutwerte werden in halben Sekunden angegeben. Ein angegebener Wert von 100 bewirkt daher, dass der Treiber 50 Sekunden wartet, bevor ein Timeout des Geräts auftritt.

Weitere Informationen finden Sie unter Zugreifen auf Kernel-Mode Treiber für Standbildgeräte.

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 (Scsiscan.h einschließen)

Weitere Informationen

Erstellen von IOCTL-Anforderungen in Treibern

WdfIoTargetSendInternalIoctlOthersSynchronly

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously