Funzione NdisMSynchronizeWithInterruptEx (ndis.h)
I driver Miniport chiamano la funzione NdisMSynchronizeWithInterruptEx per sincronizzare l'esecuzione di una funzione fornita dal driver miniport con la funzione MiniportInterrupt .
Sintassi
BOOLEAN NdisMSynchronizeWithInterruptEx(
[in] NDIS_HANDLE NdisInterruptHandle,
[in] ULONG MessageId,
[in] MINIPORT_SYNCHRONIZE_INTERRUPT_HANDLER SynchronizeFunction,
[in] PVOID SynchronizeFunction,
[in] PVOID SynchronizeContext
);
Parametri
[in] NdisInterruptHandle
Handle di interruzione ottenuto dal driver miniport in una chiamata precedente all'oggetto Funzione NdisMRegisterInterruptEx .
[in] MessageId
Interruzione segnalata dal messaggio con cui il driver deve sincronizzare. Se NDIS non ha concesso interruzioni del messaggio segnalate per il driver, NDIS ignora questo parametro. MessageId è un indice dell'oggetto IO_INTERRUPT_MESSAGE_INFO_ENTRY strutture all'interno di un IO_INTERRUPT_MESSAGE_INFO struttura. NDIS passa un puntatore alla struttura di IO_INTERRUPT_MESSAGE_INFO associata al membro MessageInfoTable quando il driver registra correttamente per MSI con la funzione NdisMRegisterInterruptEx .
[in] SynchronizeFunction
Punto di ingresso del conducente Funzione MiniportSynchronizeInterrupt .
[in] SynchronizeFunction
Punto di ingresso del conducente Funzione MiniportSynchronizeInterrupt .
[in] SynchronizeContext
Puntatore a un'area di contesto determinata dal miniport-driver passata alla funzione MiniportSynchronizeInterrupt in SyncContext .
Valore restituito
NdisMSynchronizeWithInterruptEx restituisce il valore booleano restituito da MiniportSynchronizeInterrupt .
Commenti
I driver Miniport che registrano un interruzione con NdisMRegisterInterruptEx usano NdisMSynchronizeWithInterruptEx. Valore che l'oggetto La funzione MiniportSynchronizeInterrupt restituisce anche NdisMSynchronizeWithInterruptEx. Questo valore propagato fornisce lo stato al chiamante.
Qualsiasi funzione del driver miniport che condivide le risorse con qualsiasi altra funzione driver eseguita in DIRQL deve usare NdisMSynchronizeWithInterruptEx per sincronizzare l'accesso a tali risorse. La funzione MiniportSynchronizeInterrupt viene eseguita anche in DIRQL e le risorse condivise sono protette da un blocco spin allocato dal sistema. Pertanto, le risorse condivise sono protette dall'accesso simultaneo dalla funzione MiniportInterrupt e dal chiamante.
NdisMSynchronizeWithInterruptEx rilascia il blocco di spin del sistema e ripristina l'irQL originale del chiamante prima di restituire il controllo.
Per altre informazioni sull'acquisizione e il rilascio dei blocchi di spin NDIS, vedere Sincronizzazione e notifica nei driver di rete.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
Piattaforma di destinazione | Universale |
Intestazione | ndis.h (include Ndis.h, Video.h) |
Libreria | Ndis.lib |
IRQL | <= DIRQL |
Regole di conformità DDI | NdisMDeregisterInterruptEx(ndis) |