Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La función NdisInterlockedAddUlong agrega un valor long sin signo a un entero sin signo determinado como una operación atómica, utilizando un bloqueo de número proporcionado por el autor de la llamada para sincronizar el acceso a la variable de entero.
Sintaxis
void NdisInterlockedAddUlong(
[in] _Addend,
[in] _Increment,
[in] _SpinLock
);
Parámetros
[in] _Addend
Puntero a la variable para la que el valor se va a ajustar mediante el incremento especificado .
[in] _Increment
Valor que se va a agregar a ese en Addend .
[in] _SpinLock
Puntero a un bloqueo de número inicializado por el autor de la llamada.
Valor devuelto
Ninguno
Observaciones
El autor de la llamada de NdisInterlockedAddUlong debe proporcionar almacenamiento residente para el bloqueo de número, que se debe inicializar con la función NdisAllocateSpinLock antes de la llamada inicial a NdisInterlockedAddUlong.
El valor SpinLock que se pasa al NdisInterlockedAddUlong función se usa para asegurar que la adición a la variable en el parámetro Addend es atómica con respecto a cualquier otra operación en la misma variable que se sincronice con el mismo bloqueo de giro.
NdisInterlockedAddUlong eleva irQL a DISPATCH_LEVEL cuando adquiere el bloqueo de giro especificado y restaura el IRQL original antes de devolver el control. Por lo tanto, cualquier función de controlador que llame a NdisInterlockedAddUlong no puede ser código paginable.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Compatible con los controladores NDIS 6.0 y NDIS 5.1 (consulte NdisInterlockedAddUlong (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte NdisInterlockedAddUlong (NDIS 5.1)) en Windows XP. |
de la plataforma de destino de | Universal |
encabezado de | ndis.h (incluya Ndis.h) |
biblioteca de | Ndis.lib |
irQL | Cualquier nivel |