NDIS Library Functions (Windows Embedded CE 6.0)

1/6/2010

The following table shows the NDIS Library functions with a description of the purpose of each.

Programming element Description

NdisAcquireReadWriteLock

This function acquires a lock that the caller uses for either write or read access to the resources that are shared among driver threads.

NdisAcquireSpinLock

This function acquires a spin lock so that the caller gains exclusive access to the resources, shared among driver functions, that the spin lock protects.

NdisAdjustBufferLength

This function modifies the length specified in a buffer descriptor allocated or copied by the caller.

NdisAllocateBuffer

This function creates a buffer descriptor mapping a specified virtual range or sub-range within an already allocated memory block.

NdisAllocateBufferPool

This function returns a handle with which the caller can allocate buffer descriptors by calling the NdisAllocateBuffer function.

NdisAllocateFromNPagedLookasideList

This function removes the first entry from the given lookaside list head.

NdisAllocateMemory

This function allocates resident system-space memory.

NdisAllocateMemoryWithTag

This function allocates resident system-space memory.

NdisAllocatePacket

This function allocates and initializes a packet descriptor.

NdisAllocatePacketPool

This function allocates and initializes a block of storage for a pool of packet descriptors.

NdisAllocatePacketPoolEx

This function allocates and initializes a block of storage for a pool of packet descriptors.

NdisAllocateSpinLock

This function initializes a variable of type NDIS_SPIN_LOCK, used to synchronize access to resources shared among driver functions not related to interrupts.

NdisAnsiStringToUnicodeString

This function converts a specified counted ASCII string into a counted Unicode string.

NdisBindProtocolsToAdapter

This function allows an application (or NDIS protocol driver) to request that protocols bind to an adapter.

NdisBufferLength

This function returns the length in bytes of a given mapped buffer.

NdisBufferVirtualAddress

This function returns the base virtual address for the buffer mapped by a given buffer descriptor.

NdisBufferVirtualAddressSafe

This function is the safe version of NdisBufferVirtualAddress.

NdisCancelSendPackets

This function cancels transmission of all packets marked with the specified cancellation identifier on the miniport identified by the binding handle.

NdisCancelTimer

This function cancels the immediately preceding call to NdisSetTimer if the interval given to NdisSetTimer has not yet expired.

NdisChainBufferAtBack

This function links a specified buffer descriptor to the tail of the buffer-descriptor chain attached to a packet descriptor.

NdisChainBufferAtFront

This function links a specified buffer descriptor to the head of the buffer-descriptor chain attached to a packet descriptor.

NdisCloseAdapter

This function releases the binding established and the resources allocated when the protocol called the NdisOpenAdapter function.

NdisCloseConfiguration

This function releases the handle to the Parms registry key returned by the NdisOpenConfiguration or the NdisOpenProtocolConfiguration function.

NdisCloseFile

This function releases a handle returned by NdisOpenFile and frees the memory allocated to hold the file contents when it was opened.

NdisCompleteBindAdapter

This function completes a binding operation for which the caller's ProtocolBindAdapter function previously returned NDIS_STATUS_PENDING.

NdisCompleteUnbindAdapter

This function completes an unbinding operation for which the caller's ProtocolBindAdapter function previously returned NDIS_STATUS_PENDING.

NdisCopyBuffer

This function creates a buffer descriptor for a specified virtual sub-range, given a handle for a block of already allocated memory and a pointer to the memory descriptor for the block.

NdisCopyFromPacketToPacket

This function copies a specified range of data from one packet to another.

NdisCopyLookaheadData

This function safely copies receive data indicated in a look-ahead buffer to the transport protocol by the underlying NDIS driver.

NdisCreateLookaheadBufferFromSharedMemory

This function returns the virtual address of a buffer within a block of memory shared with a bus master DMA NIC.

NdisDeleteNPagedLookasideList

This function removes a nonpaged lookaside list from the system.

NdisDeregisterAdapter

This function tells NDIS to destroy a new device instance.

NdisDeregisterProtocol

This function releases the resources allocated when the driver calls the NdisRegisterProtocol function.

NdisDestroyLookaheadBufferFromSharedMemory

This function releases the buffer mapping obtained in a preceding call to NdisCreateLookaheadBufferFromSharedMemory.

NdisDprAcquireSpinLock

NdisDprAcquireSpinLock acquires a spin lock so the caller can synchronize access to resources shared among non-ISR driver functions.

NdisDprAllocatePacket

NdisDprAllocatePacket allocates and initializes a packet descriptor.

NdisDprAllocatePacketNonInterlocked

NdisDprAllocatePacketNonInterlocked allocates and initializes a packet descriptor.

NdisDprFreePacket

NdisDprFreePacket releases a driver-allocated packet descriptor and returns it to the free list.

NdisDprFreePacketNonInterlocked

NdisDprFreePacketNonInterlocked releases a driver-allocated packet descriptor and returns it to the free list when the caller provides internal synchronization for accessing packet pool.

NdisDprReleaseSpinLock

NdisDprReleaseSpinLock releases a spin lock acquired in the immediately preceding call to NdisDprAcquireSpinLock.

NdisEqualAnsiString

This function compares two ANSI strings and returns whether they are equal.

NdisEqualMemory

This function compares a specified number of characters in one block of memory with the same number of characters in a second block of memory.

NdisEqualString

This function compares two strings in the OS-default character set to determine whether the strings are equal.

NdisEqualUnicodeString

This function compares two Unicode strings and returns whether they are equal.

NdisFillMemory

This function fills a caller-supplied buffer with the given character.

NdisFlushBuffer

This function flushes the memory region described by a specified buffer descriptor from all processor caches.

NdisFreeBuffer

This function releases a buffer descriptor obtained in a preceding call to the NdisAllocateBuffer function.

NdisFreeBufferPool

This function releases a handle obtained in a preceding call to the NdisAllocateBufferPool function.

NdisFreeEvent

This function is called to deallocate an event allocated with an earlier call to NdisInitializeEvent.

NdisFreeMemory

This function releases a block of memory previously allocated with the NdisAllocateMemory function.

NdisFreePacket

This function releases a packet that was allocated from a packet pool with the NdisAllocatePacket function and returns it to the free list.

NdisFreePacketPool

This function releases a handle to a block of packet pool that was allocated with the NdisAllocatePacketPool function.

NdisFreeReadWriteLock

This function is called to deallocate a ReadWriteLock allocated with an earlier call to NdisInitializeReadWriteLock.

NdisFreeSpinLock

This function releases a spin lock initialized in a preceding call to the NdisAllocateSpinLock function.

NdisFreeString

This function releases storage that was allocated for a buffered string.

NdisFreeToNPagedLookasideList

This function returns an entry to the given lookaside list.

NdisGeneratePartialCancelId

This function returns a value that the calling driver must use as the high-order byte of a cancellation identifier.

NdisGetAdapterBindings

This function allows an application (or NDIS protocol driver) to return a list of the names of all the protocols bound to the specific adapter.

NdisGetAdapterNames

This function allows an application (or NDIS protocol driver) to retrieve the names of the adapters currently instantiated by NDIS.

NdisGetCacheFillSize

This function returns the microprocessor's data cache-line boundary in bytes.

NdisGetCurrentSystemTime

This function returns the current system time, suitable for setting time stamps.

NdisGetDriverHandle

This function retrieves a handle to the NIC miniport driver that owns the adapter port that is referenced by a caller-supplied handle.

NdisGetFirstBufferFromPacket

This function returns pointers to the buffer descriptor and base virtual address for the initial buffer chained to a specified packet descriptor, along with the sizes of the initial buffer and total buffer in case the buffer is fragmented.

NdisGetFirstBufferFromPacketSafe

NdisGetFirstBufferFromPacketSafe returns pointers to the buffer descriptor and base virtual address for the first buffer chained to a given packet descriptor, along with the sizes of the first buffer and the total buffer.

NdisGetNextBuffer

This function returns the next buffer descriptor in a chain, provided it has a pointer to the current buffer descriptor.

NdisGetPacketCancelId

NdisGetPacketCancelId returns the cancellation identifier assigned to a packet.

NdisGetPacketFlags

This function returns the flags, if any, set by a protocol driver in a specified packet descriptor.

NdisGetPhysicalAddressHigh

This function returns the high-order part of a specified physical address.

NdisGetPhysicalAddressLow

This function returns the low-order part of a specified physical address.

NdisGetPoolFromPacket

This function returns the handle to the packet pool from which a packet was allocated.

NdisGetProtocolNames

This function allows an application (or NDIS protocol driver) to retrieve the names of the protocol drivers currently registered by NDIS.

NdisGetReceivedPacket

This function retrieves a packet that was received from the underlying driver.

NdisGetSystemUpTime

This function returns the number of milliseconds that have elapsed since the system was booted.

NdisIMAssociateMiniport

This function informs NDIS that the specified lower and upper interfaces for miniport and protocol respectively belong to the same intermediate driver.

NdisIMCancelInitializeDeviceInstance

This function cancels the immediately preceding call.

NdisIMCopySendCompletePerPacketInfo

This function copies per-packet information from a packet returned up by a lower miniport driver into a new packet that is to be returned to an upper-level driver.

NdisIMCopySendPerPacketInfo

This function copies per-packet information from a packet that was sent down by an upper-level driver into a new packet to be sent down to a lower miniport driver.

NdisIMDeInitializeDeviceInstance

This function calls an NDIS intermediate driver's MiniportHalt function to tear down the driver's virtual NIC.

NdisIMDeregisterLayeredMiniport

This function releases a previously registered intermediate driver.

NdisIMGetBindingContext

This function allows an NDIS protocol to access the device context area, created by an underlying intermediate driver, for a virtual NIC to which the higher-level protocol is bound.

NdisIMGetCurrentPacketStack

This function returns a pointer to an NDIS_PACKET_STACK structure that is a descriptor for the current stack in a packet.

NdisIMGetDeviceContext

This function allows an NDIS intermediate driver's MiniportInitialize function to access the device context area allocated by its ProtocolBindAdapter function.

NdisIMInitializeDeviceInstance

This function calls an NDIS intermediate driver's MiniportInitialize function to set up the driver's virtual NIC for I/O operations on an underlying NIC driver to which the intermediate driver is bound.

NdisIMInitializeDeviceInstanceEx

This function calls an NDIS intermediate driver's MiniportInitialize function to initialize the driver's virtual NIC and optionally to set up state information about the driver's virtual NIC for subsequently bound protocols.

NdisIMNotifyPnPEvent

This function propagates notification of a Plug and Play or power management event to an overlying driver.

NdisIMSwitchToMiniport

This function allows an intermediate driver function to call NdisMXXX functions that are normally called only from MiniportXXX functions, as, for example, to make indications to higher-level protocols.

NdisIMRegisterLayeredMiniport

This function registers an intermediate driver's MiniportXXX entry points and name with the NDIS library when the driver initializes.

NdisInitAnsiString

This function initializes a counted ASCII string.

NdisInitializeEvent

This function sets up an event object during driver initialization to be used subsequently as a synchronization mechanism.

NdisInitializeListHead

This function initializes a doubly linked, driver-maintained interlocked queue or doubly linked list.

NdisInitializeNPagedLookasideList

This function initializes a lookaside list. After a successful initialization, nonpaged fixed-size blocks can be allocated from and freed to the lookaside list.

NdisInitializeReadWriteLock

This function initializes a variable of type NDIS_RW_LOCK.

NdisInitializeString

This function allocates storage for and initializes a counted string in the system-default character set.

NdisInitializeTimer

This function initializes a timer object associated with a driver's timer function.

NdisInitializeWorkItem

This function initializes a work-queue item with a caller-supplied context and callback routine to be queued for execution when a system worker thread is given control.

NdisInitUnicodeString

This function initializes a counted Unicode string.

NdisInterlockedAddUlong

This function adds an unsigned long value to a given unsigned integer as an atomic operation, using a caller-supplied spin lock to synchronize access to the integer variable.

NdisInterlockedDecrement

This function decrements a caller-supplied variable of type LONG as an atomic operation.

NdisInterlockedIncrement

This function increments a caller-supplied variable as an atomic operation.

NdisInterlockedInsertHeadList

This function inserts an entry, usually a packet, at the head of a doubly linked list so that access to the list is synchronized.

NdisInterlockedInsertTailList

This function inserts an entry, usually a packet, at the tail of a doubly linked list so that access to the list is synchronized.

NdisInterlockedRemoveHeadList

This function removes an entry, usually a packet, from the head of a doubly linked list so that access to the list is synchronized.

NdisMAllocateMapRegisters

This function reserves system resources during NIC driver initialization for subsequent busmaster DMA operations.

NdisMAllocateSharedMemory

This function allocates and maps a host memory range so it is simultaneously accessible from both the system and a bus master direct memory access (DMA) network interface card (NIC).

NdisMapFile

This function maps an already open file into a caller-accessible buffer if the file is currently unmapped.

NdisMCancelTimer

This function cancels a preceding call to the NdisMSetPeriodicTimer function or cancels the preceding call to the NdisMSetTimer function if the interval specified to NdisMSetTimer has not yet expired.

NdisMCloseLog

This function releases resources that were used for logging.

NdisMCompleteBufferPhysicalMapping

This function flushes any data remaining in a busmaster NIC's internal cache at the end of a transfer set up by NdisMStartBufferPhysicalMapping.

NdisMCreateLog

This function allocates and opens a log file in which a NIC miniport can write data to be displayed by a driver-dedicated Microsoft® Win32® application.

NdisMDeregisterAdapterShutdownHandler

This function removes a NIC-driver-supplied MiniportShutdown function from the list of registered shutdown handlers to be called.

NdisMDeregisterInterrupt

This function stops a miniport's interrupt service routine (ISR) from being called to handle NIC interrupts.

NdisMDeregisterIoPortRange

This function releases a mapping that was set up with the NdisMRegisterIoPortRange function during driver initialization.

NdisMEthIndicateReceive

This function notifies NDIS that an Ethernet packet, or some initial look-ahead portion of the packet, has arrived so that NDIS can forward the packet to bound protocols.

NdisMEthIndicateReceiveComplete

This function notifies NDIS that an Ethernet receive packet, identified in a preceding call to the NdisMEthIndicateReceive function, has been fully transferred by the NIC so that NDIS can notify the appropriate bound protocols.

NdisMFlushLog

This function clears the log file.

NdisMFreeMapRegisters

This function releases a set of map registers that were allocated during initialization.

NdisMFreeSharedMemory

This function frees memory that was previously allocated by NdisMAllocateSharedMemory by the driver of a bus master DMA NIC.

NdisMIndicateReceivePacket

This function notifies NDIS that an array of received packets is available to be forwarded to the appropriate bound protocol drivers.

NdisMIndicateStatus

This function indicates changes in the status of an NIC to higher-level NDIS drivers.

NdisMIndicateStatusComplete

This function notifies NDIS, or NDISWAN, that the NIC driver, which has called the NdisMIndicateStatus function one or more times to indicate hardware anomalies or run-time state changes in the NIC, is ready to resume standard device I/O operations.

NdisMInitializeTimer

This function initializes a timer object associated with a caller-supplied MiniportTimer function.

NdisMInitializeWrapper

This function notifies NDIS that a new miniport is initializing.

NdisMMapIoSpace

This function maps a specified bus-relative range of physical addresses or registers onto a system-space virtual range of addresses.

NdisMoveFromMappedMemory

This function copies data from device memory that was mapped during initialization with the NdisMMapIoSpace function to a system-space buffer.

NdisMoveMappedMemory

This function copies data from one location to another within a device memory range that was mapped during initialization with the NdisMMapIoSpace function.

NdisMoveMemory

This function copies a specified number of bytes from one caller-supplied location to another.

NdisMoveToMappedMemory

This function copies data from a system-space buffer to device memory that was mapped during initialization with the NdisMMapIoSpace function

NdisMPciAssignResources

This function returns a list of bus-relative hardware resources, such as IRQ, I/O ports, and device memory ranges, claimed in the registry for a PCI NIC.

NdisMPromoteMiniport

This function promotes a secondary miniport adapter to the primary role after the primary miniport adapter is removed from the system.

NdisMQueryAdapterInstanceName

This function retrieves the friendly name of a physical NIC or a virtual adapter.

NdisMQueryAdapterResources

This function returns a list of hardware resources for a NIC.

NdisMQueryInformationComplete

This function indicates that a prior call to the MiniportQueryInformation function, which returned NDIS_STATUS_PENDING, has completed.

NdisMRebindProtocolsToAdapter

This function requests that NDIS first unbind the adapter from all the protocols to which it is currently bound, and then rebind the protocols to the adapter.

NdisMRegisterAdapterShutdownHandler

This function registers a NIC-driver-supplied MiniportShutdown function to be called when the system is shutting down

NdisMRegisterInterrupt

This function sets up a mapping between an NIC driver's MiniportISR and MiniportHandleInterrupt functions, already registered with NdisMRegisterMiniport, and the bus-relative vector and level on which its NIC interrupts.

NdisMRegisterIoPortRange

This function sets up driver access to device I/O ports with the NdisRawReadPortXXX and NdisRawWritePortXXX functions and claims the range of I/O port addresses in the registry for that driver's NIC.

NdisMRegisterMiniport

This function registers an NIC or intermediate driver's Miniport_* entry points and name with the NDIS library when the driver initializes.

NdisMRegisterUnloadHandler

This function registers an unload handler for a driver.

NdisMRemoveMiniport

This function removes the specified miniport adapter that the miniport driver has determined is unrecoverable from the system.

NdisMResetComplete

This function returns the final status of a reset request for the NIC driver that previously returned NDIS_STATUS_PENDING.

NdisMSendComplete

This function returns the packet and final status of a completed send request for which the driver previously returned NDIS_STATUS_PENDING.

NdisMSendResourcesAvailable

This function notifies NDIS that a miniport has sufficient internal resources to accept another send request, even though one or more outstanding send packets are pending within the miniport.

NdisMSetAttributes

This function informs the NDIS library about significant features of the caller's NIC during initialization.

NdisMSetAttributesEx

This function informs the NDIS library about significant features of the caller's NIC or virtual NIC during initialization.

NdisMSetInformationComplete

This function returns the final status of a completed set-information request for which the driver previously returned NDIS_STATUS_PENDING.

NdisMSetMiniportSecondary

This function sets the specified miniport adapter to the secondary role in relation to the primary miniport adapter. The primary miniport adapter handles all packet transfers and requests for information that are made by protocol drivers. However, NDIS can send specific requests to the secondary miniport adapter.

NdisMSetPeriodicTimer

This function sets a timer to fire periodically, thus running an associated caller-supplied MiniportTimer function repeatedly at fixed intervals.

NdisMSetTimer

This function sets a timer to fire after a specified interval, thus running an associated MiniportTimer function when the timer fires.

NdisMSleep

This function delays execution of the caller for a specified interval, in microseconds.

NdisMStartBufferPhysicalMapping

This function initializes mapping for a busmaster DMA transfer operation.

NdisMSynchronizeWithInterrupt

This function synchronizes execution of a miniport-supplied function with the MiniportISR or the MiniportDisableInterrupt function.

NdisMTransferDataComplete

This function returns the packet and completion status for a transfer-data request for which the miniport previously returned NDIS_STATUS_PENDING.

NdisMTrIndicateReceive

This function notifies NDIS that a Token Ring packet, or some initial lookahead portion of the packet, has arrived so NDIS can forward the packet to bound protocols.

NdisMTrIndicateReceiveComplete

This function notifies NDIS that a Token Ring receive packet, identified in a preceding call to NdisMTrIndicateReceive, has been fully transferred by the NIC so that NDIS can notify the appropriate bound protocol drivers.

NdisMUnmapIoSpace

This function releases a virtual range mapped by an initialization-time call to the NdisMMapIoSpace function.

NdisMUpdateSharedMemory

This function ensures that data that has just transferred from a bus master network card and is about to be read from driver-allocated shared memory is current.

NdisMWanIndicateReceive

This function notifies NDISWAN that a packet has been received for an established link to be forwarded to the appropriate bound protocol driver.

NdisMWanIndicateReceiveComplete

This function notifies NDISWAN that one or more receives have been completed for an established link so that NDISWAN can notify the appropriate bound protocols.

NdisMWanSendComplete

This function returns the packet and final status of a completed send request for which the miniport previously returned NDIS_STATUS_PENDING.

NdisMWriteLogData

This function transfers driver-supplied information into the log file for consumption and display by a driver-dedicated Microsoft® Win32® application.

NdisOpenAdapter

This function sets up a binding between the calling protocols and a particular underlying NIC driver or NDIS intermediate driver.

NdisOpenConfiguration

This function returns a handle for an NDIS NIC driver's \DriverName\Parms registry key.

NdisOpenConfigurationKeyByIndex

This function opens a sub key of a given open registry key designated by a caller-supplied handle.

NdisOpenConfigurationKeyByName

This function returns a handle for an opened file.

NdisOpenProtocolConfiguration

This function returns a handle for the HKEY_LOCAL_MACHINE\Comm\ProtocolName\Parms registry key.

NdisPacketPoolUsage

This function returns the number of packet descriptors currently allocated from a packet pool.

NdisPrintString

This function displays a specified string on the debugging window.

NdisQueryAdapterInstanceName

This function retrieves the friendly name of a physical NIC or a virtual adapter to which the calling protocol is bound.

NdisQueryBuffer

This function retrieves the size of the range from a buffer descriptor and, optionally, its base virtual address.

NdisQueryBufferOffset

This function retrieves the base virtual address of the range specified in a specified buffer descriptor.

NdisQueryBufferSafe

This function is the safe version of NdisQueryBuffer.

NdisQueryPacket

This function returns information about a specified packet.

NdisQueryPendingIoCount

This function requests the number of I/O operations that the specified adapter is currently processing.

NdisQuerySendFlags

Use NdisGetPacketFlags instead.

NdisRawReadPortBufferUchar

This function reads a specified number of bytes into a caller-supplied buffer.

NdisRawReadPortBufferUlong

This function reads a specified number of ULONGs into a caller-supplied buffer.

NdisRawReadPortBufferUshort

This function reads a specified number of USHORTs into a caller-supplied buffer.

NdisRawReadPortUchar

This function reads a byte from a given I/O port on the NIC.

NdisRawReadPortUlong

This function reads a ULONG value from a given I/O port on the NIC.

NdisRawReadPortUshort

This function reads a USHORT value from a specified I/O port on the NIC.

NdisRawWritePortBufferUchar

This function writes a specified number of bytes from a caller-supplied buffer to a given I/O port.

NdisRawWritePortBufferUlong

This function writes a specified number of ULONG values from a caller-supplied buffer to a given I/O port.

NdisRawWritePortBufferUshort

This function writes a specified number of USHORT values from a caller-supplied buffer to a given I/O port.

NdisRawWritePortUchar

This function writes a byte to an I/O port on the NIC.

NdisRawWritePortUlong

This function writes a ULONG value to an I/O port on the NIC.

NdisRawWritePortUshort

This function writes a USHORT value to an I/O port on the NIC.

NdisReadConfiguration

This function returns the value of a named entry of the specified type from the registry, as long as it has the handle to an open registry key.

NdisReadNetworkAddress

This function returns the software-configurable network address that was stored in the registry for an NIC when it was installed in the computer.

NdisReadPciSlotInformation

This function returns bus-specific PCI configuration information from the PCI configuration space for a device at a particular socket on the bus.

NdisReadPcmciaAttributeMemory

This function reads bus-relative configuration parameters for a PC Card NIC from attribute memory.

NdisReadPortUchar

The NIC driver calls this function to read a UCHAR from its NIC's I/O port.

NdisReadPortUlong

The NIC driver calls this function to read a ULONG from its NIC's I/O port.

NdisReadPortUshort

The NIC driver calls this function to read a USHORT from its NIC's I/O port.

NdisReadRegisterUchar

The NIC driver to read a UCHAR from a memory-mapped device register calls this function.

NdisReadRegisterUlong

The NIC driver calls this function to read a ULONG from a memory-mapped device register.

NdisReadRegisterUshort

The NIC driver calls this function to read a USHORT from a memory-mapped device register.

NdisRebindProtocolsToAdapter

This function allows an application (or NDIS protocol driver) to request that all the protocols bound to an adapter unbind and rebind.

NdisRecalculatePacketCounts

This function resets the valid counts for a given packet.

NdisReEnumerateProtocolBindings

This function causes NDIS to call the driver's ProtocolBindAdapter function once for each network adapter for which the driver is configured to bind but to which the driver is not currently bound.

NdisRegisterAdapter

This function tells NDIS to create a new device instance.

NdisRegisterProtocol

This function registers an NDIS driver's Protocol_* entry points and name with the NDIS library when the driver initializes.

NdisReinitializePacket

This function removes any chained buffers from a given packet and reinitializes it for reuse.

NdisReleaseReadWriteLock

This function releases a lock that was acquired in a preceding call to NdisAcquireReadWriteLock.

NdisReleaseSpinLock

This function releases a spin lock that was acquired in a preceding call to the NdisAcquireSpinLock function.

NdisRequest

This function forwards a request to the underlying driver that it query the capabilities or status of its NIC or that it set the state of its NIC.

NdisReset

This function forwards a reset request to an underlying driver

NdisResetEvent

This function clears the signaled state of a given event.

NdisRetrieveUlong

NdisRetrieveUlong retrieves a ULONG value from the source address, avoiding alignment faults.

NdisReturnPackets

This function releases ownership of one or more packets after a protocol has consumed the received data.

NdisScheduleWorkItem

This function inserts a given work item into a queue from which a system worker thread removes the item and gives control to the callback function that the driver previously supplied to NdisInitializeWorkItem.

NdisSend

This function forwards a send request to the underlying driver.

NdisSendPackets

This function forwards a multipacket send request, possibly with associated out-of-band information, to the underlying driver.

NdisSetEvent

This function sets a given event to the Signaled state if it was not already signaled.

NdisSetPacketCancelId

NdisSetPacketCancelId marks a packet with a cancellation identifier that a driver can later use to cancel the pending transmission of the packet.

NdisSetPacketFlags

This function sets caller-determined and medium-specific information in the flags of a given packet descriptor.

NdisSetPhysicalAddressHigh

This function sets the high-order part of a specified physical address to a specified value.

NdisSetPhysicalAddressLow

This function sets the low-order part of a specified physical address to a specified value.

NdisSetSendFlags

Use NdisSetPacketFlags instead.

NdisSetTimer

This function sets a timer object to fire after a specified interval, thereby running an associated timer function after the timer fires.

NdisStallExecution

This function stalls the caller on the current processor for a given interval.

NdisStoreUlong

NdisStoreUlong stores a ULONG value at a particular address, avoiding alignment faults.

NdisSystemProcessorCount

This function determines whether its caller is running on a single processor or multiprocessor machine.

NdisTerminateWrapper

This function releases system resources allocated when the NIC driver called the NdisMInitializeWrapper function.

NdisTransferData

This function forwards a request to copy data received on the underlying NIC into a protocol-supplied packet.

NdisUnbindProtocolsFromAdapter

This function allows an application (or NDIS protocol driver) to request that all the protocols bound to an adapter unbind.

NdisUnchainBufferAtBack

This function removes the buffer descriptor at the end of the chain of buffer descriptors for a given packet.

NdisUnchainBufferAtFront

This function removes the buffer descriptor at the head of the chain of buffer descriptors for a specified packet.

NdisUnicodeStringToAnsiString

This function converts a specified counted Unicode string into a counted ASCII string.

NdisUnmapFile

This function releases a virtual address mapping of a file previously set up with NdisMapFile.

NdisUpcaseUnicodeString

This function converts a copy of a given Unicode string to upper case and returns the converted string.

NdisWaitEvent

This function puts the caller into a wait state until the given event is set to the Signaled state or the wait times out.

NdisWriteConfiguration

This function writes a caller-supplied value for a specified entry into the registry.

NdisWriteErrorLogEntry

This function writes an entry to the system I/O error log file.

NdisWritePciSlotInformation

This function writes a specified number of bytes to the PCI configuration space for an NIC on the PCI bus.

NdisWritePcmciaAttributeMemory

This function writes bus-relative configuration parameters for a PC Card NIC to attribute memory.

NdisWritePortUchar

The NIC driver calls this function to write a UCHAR to an I/O port.

NdisWritePortUlong

The NIC driver calls this function to write a ULONG to an I/O port.

NdisWritePortUshort

The NIC driver calls this function to write a USHORT to an I/O port.

NdisWriteRegisterUchar

The NIC driver calls this function to write a UCHAR to a memory-mapped device register.

NdisWriteRegisterUlong

The NIC driver calls NdisWriteRegisterUlong to write a ULONG to a memory-mapped device register.

NdisWriteRegisterUshort

The NIC driver calls NdisWriteRegisterUshort to write a USHORT to a memory-mapped device register.

NdisZeroMappedMemory

This function fills a block of memory that was mapped with a preceding call to the NdisMMapIoSpace function with 0s.

NdisZeroMemory

This function fills a block of memory with 0s.

Note

The S-List based functions (such as NdisInitializeSListHead, NdisInterlockedPushEntrySList, NdisInterlockedPopEntrySList, and NdisQueryDepthSList) are not supported in Windows Embedded CE.

See Also

Reference

Network Driver Functions