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)

Vedi anche

IO_INTERRUPT_MESSAGE_INFO

IO_INTERRUPT_MESSAGE_INFO_ENTRY

MiniportInterrupt

MiniportSynchronizeInterrupt

NdisMRegisterInterruptEx