Freigeben über


IoctlReqs-Regel (kmdf)

Die IoctlReqs-Regel gibt an, dass IOCTL-Anforderungen nicht an ungeeignete KMDF-Anforderungen oder Sendegerätetreiberschnittstellen (DDIs) übergeben werden dürfen.

Alle Anforderungen, die an die EvtIoDeviceControl-Ereignisrückruffunktion des Treibers gesendet werden, sind garantiert IOCTL-Anforderungen. Die EvtIoDeviceControl-Funktion des Treibers wird mithilfe der EVT_WDF_IO_QUEUE_IO_DEVICE_CONTROL Rollentypdeklaration deklariert.

Diese IOCTL-Anforderungen können nicht an die folgenden DDIs gesendet werden, die speziell für das Senden von Lese-, Schreib- oder IOCTL-Anforderungen gelten:

WdfUsbTargetPipeSendUrbSynchronously, WdfIoTargetSendReadSynchronously, WdfIoTargetSendWriteSynchronously, WdfIoTargetSendInternalIoctlSynchronously, WdfIoTargetSendInternalIoctlOthersSynchronously, WdfUsbTargetPipeWriteSynchronly, WdfUsbTargetPipeReadSynchronously

Treibermodell: KMDF

So führen Sie einen Test durch

Beim Kompilieren:

Führen Sie die statische Treiberüberprüfung aus , und geben Sie die IoctlReqs-Regel an.

Gehen Sie folgendermaßen vor, um Ihren Code zu analysieren:
  1. Bereiten Sie den Code vor (verwenden Sie Rollentypdeklarationen).
  2. Führen Sie Static Driver Verifier aus.
  3. Überprüfen und analysieren Sie die Ergebnisse.

Weitere Informationen finden Sie unter Verwenden der statischen Treiberüberprüfung, um Fehler in Treibern zu finden.

Gilt für:

WdfIoTargetSendInternalIoctlOthersSynchronouslyWdfIoTargetSendInternalIoctlSynchronouslyWdfIoTargetSendReadSynchronouslyWdfIoTargetSendWriteSynchronouslyWdfUsbTargetPipeReadSynchronouslyWdfUsbTargetPipeSendUrbSynchronouslyWdfUsbTargetPipeWriteSynchronously