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 informazioni, vedi Introduzione a 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 di tipo WDF_KPROCESSOR_MODEche indica se la richiesta di I/O corrente proviene da un driver in modalità kernel o da un componente in modalità utente.
Osservazioni
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 client in modalità kernel.
Se GetRequestorMode restituisce WdfUserMode, 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.
Esempi
L'esempio di codice seguente mostra come un IQueueCallbackWrite::OnWrite funzione di callback 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();
}
...
}
Fabbisogno
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
piattaforma di destinazione | Desktop |
versione minima di UMDF | 1.9 |
intestazione | wudfddi.h (include Wudfddi.h) |
dll | WUDFx.dll |