IWDFIoRequest2::GetRequestorMode-Methode (wudfddi.h)
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.]
Die GetRequestorMode-Methode gibt an, ob eine E/A-Anforderung von einem Kernelmodustreiber oder einer Benutzermoduskomponente (entweder einer Anwendung oder einem Benutzermodustreiber) stammt.
Syntax
WDF_KPROCESSOR_MODE GetRequestorMode();
Rückgabewert
GetRequestorMode gibt einen WDF_KPROCESSOR_MODE typisierten Wert zurück, der angibt, ob die aktuelle E/A-Anforderung von einem Kernelmodustreiber oder einer Benutzermoduskomponente stammt.
Hinweise
Ein UMDF-basierter Treiber kann eine E/A-Anforderung von einem Kernelmodustreiber nur empfangen, wenn der UMDF-basierte Treiber Clients im Kernelmodus unterstützt.
Wenn GetRequestorModeWdfUserMode zurückgibt, kann der Treiber IWDFIoRequest2::IsFromUserModeDriver aufrufen, um zu bestimmen, ob die E/A-Anforderung von einer Anwendung oder einem Benutzermodustreiber stammt.
Beispiele
Das folgende Codebeispiel zeigt, wie eine IQueueCallbackWrite::OnWrite-Rückruffunktion bestimmen kann, ob eine E/A-Anforderung aus dem Kernel- oder Benutzermodus stammt. Wenn die Anforderung aus dem Benutzermodus stammt, bestimmt das Beispiel, ob die Anforderung von einer Anwendung oder einem anderen Benutzermodustreiber stammt.
VOID
STDMETHODCALLTYPE
CMyQueue::OnWrite(
__in IWDFIoQueue *pWdfQueue,
__in IWDFIoRequest *pWdfRequest,
__in SIZE_T BytesToWrite
)
{
WDF_KPROCESSOR_MODE processorMode;
BOOL fromApp = FALSE;
//
// Declare an IWDFIoRequest2 interface pointer and obtain the
// IWDFIoRequest2 interface from the IWDFIoRequest interface.
//
CComQIPtr<IWDFIoRequest2> r2 = pWdfRequest;
processorMode = r2->GetRequestorMode();
if (processorMode == WdfUserMode)
{
fromApp = r2->IsFromUserModeDriver();
}
...
}
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform | Desktop |
UMDF-Mindestversion | 1.9 |
Kopfzeile | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |