NdisMDeregisterInterrupt

VOID
    NdisMDeregisterInterrupt(
        IN PNDIS_MINIPORT_INTERRUPT
 Interrupt
        );

NdisMDeregisterInterrupt stops a miniport’s ISR from being called to handle NIC interrupts.

Parameters

Interrupt
Points to an interrupt object previously registered with NdisMRegisterInterrupt.

Comments

NdisMDeregisterInterrupt releases the association between the initialized interrupt object at Interrupt and the caller’s MiniportISR function. It also releases the driver’s claim on the interrupt vector or level in the registry.

NdisMDeregisterInterrupt can be called from the MiniportInitialize or MiniportHalt function only if MiniportInitialize previously made a successful call to NdisMRegisterInterrupt.

The miniport should disable its NIC from generating interrupts before it calls NdisMDeregisterInterrupt. After NdisMDeregisterInterrupt returns control, the miniport cannot call NdisMSynchronizeWithInterrupt.

Callers of NdisMDeregisterInterrupt run at IRQL PASSIVE_LEVEL.

See Also

MiniportDisableInterrupt, MiniportHalt, MiniportInitialize, MiniportISR, NdisMRegisterInterrupt, NdisMSynchronizeWithInterrupt