NDIS_RW_LOCK structure (ndis.h)

The NDIS_RW_LOCK structure defines the attributes of a read/write lock. This structure is opaque to NDIS drivers and is reserved for NDIS.

Syntax

typedef struct _NDIS_RW_LOCK {
  union {
    struct {
      KSPIN_LOCK SpinLock;
      PVOID      Context;
    };
    UCHAR Reserved[16];
  };
  union {
    NDIS_RW_LOCK_REFCOUNT RefCount[MAXIMUM_PROCESSORS];
    ULONG                 *RefCountEx[sizeof(NDIS_RW_LOCK_REFCOUNT)/ sizeof(ULONG) MAXIMUM_PROCESSORS];
    struct {
      KSPIN_LOCK RefCountLock;
      ULONG      SharedRefCount;
      BOOLEAN    WriterWaiting;
    };
  };
} NDIS_RW_LOCK, *PNDIS_RW_LOCK;

Members

SpinLock

Reserved.

Context

Reserved.

Reserved[16]

Reserved.

RefCount[MAXIMUM_PROCESSORS]

Reserved.

RefCountEx[sizeof(NDIS_RW_LOCK_REFCOUNT)/ sizeof(ULONG)* MAXIMUM_PROCESSORS]

Reserved.

RefCountLock

Reserved.

SharedRefCount

Reserved.

WriterWaiting

Reserved.

Requirements

Requirement Value
Minimum supported client Supported in NDIS 6.0 and 6.1. For NDIS 6.20 and later, use NDIS_RW_LOCK_EX instead.
Header ndis.h (include Ndis.h)

See also

NDIS_RW_LOCK_EX