Metodo IWDFIoRequest2::GetRequestorMode (wudfddi.h)
[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre info, vedi Introduzione con UMDF.]
Il metodo GetRequestorMode indica se una richiesta di I/O proviene da un driver in modalità kernel o da un componente in modalità utente (un'applicazione o un driver in modalità utente).
Sintassi
WDF_KPROCESSOR_MODE GetRequestorMode();
Valore restituito
GetRequestorMode restituisce un valore tipizzato WDF_KPROCESSOR_MODE che indica se la richiesta di I/O corrente proviene da un driver in modalità kernel o da un componente in modalità utente.
Commenti
Un driver basato su UMDF può ricevere una richiesta di I/O da un driver in modalità kernel solo se il driver basato su UMDF supporta i client in modalità kernel.
Se GetRequestorMode restituisceWdfUserMode, il driver può chiamare IWDFIoRequest2::IsFromUserModeDriver per determinare se la richiesta di I/O proviene da un'applicazione o da un driver in modalità utente.
Esempio
L'esempio di codice seguente mostra come una funzione di callback IQueueCallbackWrite::OnWrite può determinare se una richiesta di I/O proviene dalla modalità kernel o dall'utente. Se la richiesta proviene dalla modalità utente, l'esempio determina se la richiesta proviene da un'applicazione o da un altro driver in modalità utente.
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();
}
...
}
Requisiti
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
Piattaforma di destinazione | Desktop |
Versione UMDF minima | 1,9 |
Intestazione | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |