Gestione di query e set di OID_PNP_Xxx
Il miniport virtuale di un driver intermedio deve esportare la funzione MiniportOidRequest. NDIS chiama la funzione MiniportOidRequest del driver intermedio quando un driver eccessivamente associato al miniport virtuale del driver intermedio chiama NdisOidRequest per eseguire query o impostare oggetti informazioni (OID_Xxx). NDIS può anche chiamare MiniportOidRequest per proprio conto. Per altre informazioni sulla gestione dei driver miniport di set e query sugli oggetti informazioni, vedere Recupero e impostazione delle informazioni sul driver miniport e supporto NDIS per WMI.
Il driver intermedio deve conservare informazioni sulle funzionalità delle schede miniport sottostanti ricevute nella funzione ProtocolBindAdapterEx. Se l'adattatore miniport non è compatibile con il risparmio energia, NDIS imposta il membro PowerManagementCapabilities di NDIS_BIND_PARAMETERS su NULL.
Il driver intermedio può eseguire una query o impostare un OID_Xxx gestito dal driver miniport sottostante. Esegue questa operazione con NdisOidRequest(se il driver intermedio ha un bordo inferiore senza connessione) o con NdisCoOidRequest(se il driver intermedio ha un bordo inferiore orientato alla connessione).
Un driver intermedio deve gestire query e set come segue:
-
In risposta a questa query OID, i driver intermedi devono segnalare le funzionalità PnP delle schede miniport fisiche sottostanti. Si noti che le schede miniport per i dispositivi fisici non ricevono questa query OID.
Il driver intermedio riceve le funzionalità PnP delle schede miniport sottostanti nei parametri di associazione. Deve passarli a driver eccessivamente appropriati per l'uso previsto del driver intermedio. I driver intermedi e i driver miniport segnalano le funzionalità PnP negli attributi dell'adattatore miniport. Il driver intermedio non invia richieste OID_PNP_CAPABILITIES al driver miniport sottostante. Se l'adattatore miniport sottostante è compatibile con il risparmio energia, nella struttura NDIS_PM_WAKE_UP_CAPABILITIES negli attributi del miniport virtuale, il driver intermedio deve specificare uno stato di alimentazione del dispositivo NdisDeviceStateUnspecified per ogni funzionalità di riattivazione:
- MinMagicPacketWakeUp
- MinPatternWakeUp
- MinLinkChangeWakeUp
Tale impostazione indica che il driver intermedio è in grado di supportare il risparmio energia, ma non può riattivare il sistema.
OID_PNP_QUERY_POWER e OID_PNP_edizione Standard T_POWER
Il driver intermedio deve restituire sempre NDIS_STATUS_SUCCESS a una query di OID_PNP_QUERY_POWER o a un set di OID_PNP_edizione Standard T_POWER. Il driver intermedio non deve mai propagare una di queste richieste OID al driver miniport sottostante.
"URI di riattivazione"
Se una scheda di interfaccia di rete sottostante è in grado di supportare il risparmio energia, il driver intermedio deve passare al driver miniport sottostante (chiamando NdisOidRequest o NdisCoOidRequest) il seguente OID_PNP_Xxx correlato agli eventi di riattivazione:
Il driver intermedio deve anche propagare la risposta del driver miniport sottostante a questi URI ai driver di protocollo overlying.
Se l'adattatore miniport sottostante non è compatibile con il risparmio energia, il driver miniport imposta il membro PowerManagementCapabilities di NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES su NULL e NDIS imposta il membro PowerManagementCapabilities di NDIS_BIND_PARAMETERS su NULL.
Se un adattatore miniport sottostante non è compatibile con il risparmio energia, il driver intermedio deve restituire NDIS_STATUS_NOT_SUPPORTED in risposta a una query o a un set di questi ID.