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 |
---|---|
This function acquires a lock that the caller uses for either write or read access to the resources that are shared among driver threads. |
|
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. |
|
This function modifies the length specified in a buffer descriptor allocated or copied by the caller. |
|
This function creates a buffer descriptor mapping a specified virtual range or sub-range within an already allocated memory block. |
|
This function returns a handle with which the caller can allocate buffer descriptors by calling the NdisAllocateBuffer function. |
|
This function removes the first entry from the given lookaside list head. |
|
This function allocates resident system-space memory. |
|
This function allocates resident system-space memory. |
|
This function allocates and initializes a packet descriptor. |
|
This function allocates and initializes a block of storage for a pool of packet descriptors. |
|
This function allocates and initializes a block of storage for a pool of packet descriptors. |
|
This function initializes a variable of type NDIS_SPIN_LOCK, used to synchronize access to resources shared among driver functions not related to interrupts. |
|
This function converts a specified counted ASCII string into a counted Unicode string. |
|
This function allows an application (or NDIS protocol driver) to request that protocols bind to an adapter. |
|
This function returns the length in bytes of a given mapped buffer. |
|
This function returns the base virtual address for the buffer mapped by a given buffer descriptor. |
|
This function is the safe version of NdisBufferVirtualAddress. |
|
This function cancels transmission of all packets marked with the specified cancellation identifier on the miniport identified by the binding handle. |
|
This function cancels the immediately preceding call to NdisSetTimer if the interval given to NdisSetTimer has not yet expired. |
|
This function links a specified buffer descriptor to the tail of the buffer-descriptor chain attached to a packet descriptor. |
|
This function links a specified buffer descriptor to the head of the buffer-descriptor chain attached to a packet descriptor. |
|
This function releases the binding established and the resources allocated when the protocol called the NdisOpenAdapter function. |
|
This function releases the handle to the Parms registry key returned by the NdisOpenConfiguration or the NdisOpenProtocolConfiguration function. |
|
This function releases a handle returned by NdisOpenFile and frees the memory allocated to hold the file contents when it was opened. |
|
This function completes a binding operation for which the caller's ProtocolBindAdapter function previously returned NDIS_STATUS_PENDING. |
|
This function completes an unbinding operation for which the caller's ProtocolBindAdapter function previously returned NDIS_STATUS_PENDING. |
|
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. |
|
This function copies a specified range of data from one packet to another. |
|
This function safely copies receive data indicated in a look-ahead buffer to the transport protocol by the underlying NDIS driver. |
|
This function returns the virtual address of a buffer within a block of memory shared with a bus master DMA NIC. |
|
This function removes a nonpaged lookaside list from the system. |
|
This function tells NDIS to destroy a new device instance. |
|
This function releases the resources allocated when the driver calls the NdisRegisterProtocol function. |
|
This function releases the buffer mapping obtained in a preceding call to NdisCreateLookaheadBufferFromSharedMemory. |
|
NdisDprAcquireSpinLock acquires a spin lock so the caller can synchronize access to resources shared among non-ISR driver functions. |
|
NdisDprAllocatePacket allocates and initializes a packet descriptor. |
|
NdisDprAllocatePacketNonInterlocked allocates and initializes a packet descriptor. |
|
NdisDprFreePacket releases a driver-allocated packet descriptor and returns it to the free list. |
|
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 releases a spin lock acquired in the immediately preceding call to NdisDprAcquireSpinLock. |
|
This function compares two ANSI strings and returns whether they are equal. |
|
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. |
|
This function compares two strings in the OS-default character set to determine whether the strings are equal. |
|
This function compares two Unicode strings and returns whether they are equal. |
|
This function fills a caller-supplied buffer with the given character. |
|
This function flushes the memory region described by a specified buffer descriptor from all processor caches. |
|
This function releases a buffer descriptor obtained in a preceding call to the NdisAllocateBuffer function. |
|
This function releases a handle obtained in a preceding call to the NdisAllocateBufferPool function. |
|
This function is called to deallocate an event allocated with an earlier call to NdisInitializeEvent. |
|
This function releases a block of memory previously allocated with the NdisAllocateMemory function. |
|
This function releases a packet that was allocated from a packet pool with the NdisAllocatePacket function and returns it to the free list. |
|
This function releases a handle to a block of packet pool that was allocated with the NdisAllocatePacketPool function. |
|
This function is called to deallocate a ReadWriteLock allocated with an earlier call to NdisInitializeReadWriteLock. |
|
This function releases a spin lock initialized in a preceding call to the NdisAllocateSpinLock function. |
|
This function releases storage that was allocated for a buffered string. |
|
This function returns an entry to the given lookaside list. |
|
This function returns a value that the calling driver must use as the high-order byte of a cancellation identifier. |
|
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. |
|
This function allows an application (or NDIS protocol driver) to retrieve the names of the adapters currently instantiated by NDIS. |
|
This function returns the microprocessor's data cache-line boundary in bytes. |
|
This function returns the current system time, suitable for setting time stamps. |
|
This function retrieves a handle to the NIC miniport driver that owns the adapter port that is referenced by a caller-supplied handle. |
|
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 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. |
|
This function returns the next buffer descriptor in a chain, provided it has a pointer to the current buffer descriptor. |
|
NdisGetPacketCancelId returns the cancellation identifier assigned to a packet. |
|
This function returns the flags, if any, set by a protocol driver in a specified packet descriptor. |
|
This function returns the high-order part of a specified physical address. |
|
This function returns the low-order part of a specified physical address. |
|
This function returns the handle to the packet pool from which a packet was allocated. |
|
This function allows an application (or NDIS protocol driver) to retrieve the names of the protocol drivers currently registered by NDIS. |
|
This function retrieves a packet that was received from the underlying driver. |
|
This function returns the number of milliseconds that have elapsed since the system was booted. |
|
This function informs NDIS that the specified lower and upper interfaces for miniport and protocol respectively belong to the same intermediate driver. |
|
This function cancels the immediately preceding call. |
|
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. |
|
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. |
|
This function calls an NDIS intermediate driver's MiniportHalt function to tear down the driver's virtual NIC. |
|
This function releases a previously registered intermediate driver. |
|
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. |
|
This function returns a pointer to an NDIS_PACKET_STACK structure that is a descriptor for the current stack in a packet. |
|
This function allows an NDIS intermediate driver's MiniportInitialize function to access the device context area allocated by its ProtocolBindAdapter function. |
|
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. |
|
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. |
|
This function propagates notification of a Plug and Play or power management event to an overlying driver. |
|
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. |
|
This function registers an intermediate driver's MiniportXXX entry points and name with the NDIS library when the driver initializes. |
|
This function initializes a counted ASCII string. |
|
This function sets up an event object during driver initialization to be used subsequently as a synchronization mechanism. |
|
This function initializes a doubly linked, driver-maintained interlocked queue or doubly linked list. |
|
This function initializes a lookaside list. After a successful initialization, nonpaged fixed-size blocks can be allocated from and freed to the lookaside list. |
|
This function initializes a variable of type NDIS_RW_LOCK. |
|
This function allocates storage for and initializes a counted string in the system-default character set. |
|
This function initializes a timer object associated with a driver's timer function. |
|
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. |
|
This function initializes a counted Unicode string. |
|
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. |
|
This function decrements a caller-supplied variable of type LONG as an atomic operation. |
|
This function increments a caller-supplied variable as an atomic operation. |
|
This function inserts an entry, usually a packet, at the head of a doubly linked list so that access to the list is synchronized. |
|
This function inserts an entry, usually a packet, at the tail of a doubly linked list so that access to the list is synchronized. |
|
This function removes an entry, usually a packet, from the head of a doubly linked list so that access to the list is synchronized. |
|
This function reserves system resources during NIC driver initialization for subsequent busmaster DMA operations. |
|
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). |
|
This function maps an already open file into a caller-accessible buffer if the file is currently unmapped. |
|
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. |
|
This function releases resources that were used for logging. |
|
This function flushes any data remaining in a busmaster NIC's internal cache at the end of a transfer set up by NdisMStartBufferPhysicalMapping. |
|
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. |
|
This function removes a NIC-driver-supplied MiniportShutdown function from the list of registered shutdown handlers to be called. |
|
This function stops a miniport's interrupt service routine (ISR) from being called to handle NIC interrupts. |
|
This function releases a mapping that was set up with the NdisMRegisterIoPortRange function during driver initialization. |
|
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. |
|
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. |
|
This function clears the log file. |
|
This function releases a set of map registers that were allocated during initialization. |
|
This function frees memory that was previously allocated by NdisMAllocateSharedMemory by the driver of a bus master DMA NIC. |
|
This function notifies NDIS that an array of received packets is available to be forwarded to the appropriate bound protocol drivers. |
|
This function indicates changes in the status of an NIC to higher-level NDIS drivers. |
|
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. |
|
This function initializes a timer object associated with a caller-supplied MiniportTimer function. |
|
This function notifies NDIS that a new miniport is initializing. |
|
This function maps a specified bus-relative range of physical addresses or registers onto a system-space virtual range of addresses. |
|
This function copies data from device memory that was mapped during initialization with the NdisMMapIoSpace function to a system-space buffer. |
|
This function copies data from one location to another within a device memory range that was mapped during initialization with the NdisMMapIoSpace function. |
|
This function copies a specified number of bytes from one caller-supplied location to another. |
|
This function copies data from a system-space buffer to device memory that was mapped during initialization with the NdisMMapIoSpace function |
|
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. |
|
This function promotes a secondary miniport adapter to the primary role after the primary miniport adapter is removed from the system. |
|
This function retrieves the friendly name of a physical NIC or a virtual adapter. |
|
This function returns a list of hardware resources for a NIC. |
|
This function indicates that a prior call to the MiniportQueryInformation function, which returned NDIS_STATUS_PENDING, has completed. |
|
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. |
|
This function registers a NIC-driver-supplied MiniportShutdown function to be called when the system is shutting down |
|
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. |
|
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. |
|
This function registers an NIC or intermediate driver's Miniport_* entry points and name with the NDIS library when the driver initializes. |
|
This function registers an unload handler for a driver. |
|
This function removes the specified miniport adapter that the miniport driver has determined is unrecoverable from the system. |
|
This function returns the final status of a reset request for the NIC driver that previously returned NDIS_STATUS_PENDING. |
|
This function returns the packet and final status of a completed send request for which the driver previously returned NDIS_STATUS_PENDING. |
|
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. |
|
This function informs the NDIS library about significant features of the caller's NIC during initialization. |
|
This function informs the NDIS library about significant features of the caller's NIC or virtual NIC during initialization. |
|
This function returns the final status of a completed set-information request for which the driver previously returned NDIS_STATUS_PENDING. |
|
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. |
|
This function sets a timer to fire periodically, thus running an associated caller-supplied MiniportTimer function repeatedly at fixed intervals. |
|
This function sets a timer to fire after a specified interval, thus running an associated MiniportTimer function when the timer fires. |
|
This function delays execution of the caller for a specified interval, in microseconds. |
|
This function initializes mapping for a busmaster DMA transfer operation. |
|
This function synchronizes execution of a miniport-supplied function with the MiniportISR or the MiniportDisableInterrupt function. |
|
This function returns the packet and completion status for a transfer-data request for which the miniport previously returned NDIS_STATUS_PENDING. |
|
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. |
|
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. |
|
This function releases a virtual range mapped by an initialization-time call to the NdisMMapIoSpace function. |
|
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. |
|
This function notifies NDISWAN that a packet has been received for an established link to be forwarded to the appropriate bound protocol driver. |
|
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. |
|
This function returns the packet and final status of a completed send request for which the miniport previously returned NDIS_STATUS_PENDING. |
|
This function transfers driver-supplied information into the log file for consumption and display by a driver-dedicated Microsoft® Win32® application. |
|
This function sets up a binding between the calling protocols and a particular underlying NIC driver or NDIS intermediate driver. |
|
This function returns a handle for an NDIS NIC driver's \DriverName\Parms registry key. |
|
This function opens a sub key of a given open registry key designated by a caller-supplied handle. |
|
This function returns a handle for an opened file. |
|
This function returns a handle for the HKEY_LOCAL_MACHINE\Comm\ProtocolName\Parms registry key. |
|
This function returns the number of packet descriptors currently allocated from a packet pool. |
|
This function displays a specified string on the debugging window. |
|
This function retrieves the friendly name of a physical NIC or a virtual adapter to which the calling protocol is bound. |
|
This function retrieves the size of the range from a buffer descriptor and, optionally, its base virtual address. |
|
This function retrieves the base virtual address of the range specified in a specified buffer descriptor. |
|
This function is the safe version of NdisQueryBuffer. |
|
This function returns information about a specified packet. |
|
This function requests the number of I/O operations that the specified adapter is currently processing. |
|
Use NdisGetPacketFlags instead. |
|
This function reads a specified number of bytes into a caller-supplied buffer. |
|
This function reads a specified number of ULONGs into a caller-supplied buffer. |
|
This function reads a specified number of USHORTs into a caller-supplied buffer. |
|
This function reads a byte from a given I/O port on the NIC. |
|
This function reads a ULONG value from a given I/O port on the NIC. |
|
This function reads a USHORT value from a specified I/O port on the NIC. |
|
This function writes a specified number of bytes from a caller-supplied buffer to a given I/O port. |
|
This function writes a specified number of ULONG values from a caller-supplied buffer to a given I/O port. |
|
This function writes a specified number of USHORT values from a caller-supplied buffer to a given I/O port. |
|
This function writes a byte to an I/O port on the NIC. |
|
This function writes a ULONG value to an I/O port on the NIC. |
|
This function writes a USHORT value to an I/O port on the NIC. |
|
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. |
|
This function returns the software-configurable network address that was stored in the registry for an NIC when it was installed in the computer. |
|
This function returns bus-specific PCI configuration information from the PCI configuration space for a device at a particular socket on the bus. |
|
This function reads bus-relative configuration parameters for a PC Card NIC from attribute memory. |
|
The NIC driver calls this function to read a UCHAR from its NIC's I/O port. |
|
The NIC driver calls this function to read a ULONG from its NIC's I/O port. |
|
The NIC driver calls this function to read a USHORT from its NIC's I/O port. |
|
The NIC driver to read a UCHAR from a memory-mapped device register calls this function. |
|
The NIC driver calls this function to read a ULONG from a memory-mapped device register. |
|
The NIC driver calls this function to read a USHORT from a memory-mapped device register. |
|
This function allows an application (or NDIS protocol driver) to request that all the protocols bound to an adapter unbind and rebind. |
|
This function resets the valid counts for a given packet. |
|
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. |
|
This function tells NDIS to create a new device instance. |
|
This function registers an NDIS driver's Protocol_* entry points and name with the NDIS library when the driver initializes. |
|
This function removes any chained buffers from a given packet and reinitializes it for reuse. |
|
This function releases a lock that was acquired in a preceding call to NdisAcquireReadWriteLock. |
|
This function releases a spin lock that was acquired in a preceding call to the NdisAcquireSpinLock function. |
|
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. |
|
This function forwards a reset request to an underlying driver |
|
This function clears the signaled state of a given event. |
|
NdisRetrieveUlong retrieves a ULONG value from the source address, avoiding alignment faults. |
|
This function releases ownership of one or more packets after a protocol has consumed the received data. |
|
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. |
|
This function forwards a send request to the underlying driver. |
|
This function forwards a multipacket send request, possibly with associated out-of-band information, to the underlying driver. |
|
This function sets a given event to the Signaled state if it was not already signaled. |
|
NdisSetPacketCancelId marks a packet with a cancellation identifier that a driver can later use to cancel the pending transmission of the packet. |
|
This function sets caller-determined and medium-specific information in the flags of a given packet descriptor. |
|
This function sets the high-order part of a specified physical address to a specified value. |
|
This function sets the low-order part of a specified physical address to a specified value. |
|
Use NdisSetPacketFlags instead. |
|
This function sets a timer object to fire after a specified interval, thereby running an associated timer function after the timer fires. |
|
This function stalls the caller on the current processor for a given interval. |
|
NdisStoreUlong stores a ULONG value at a particular address, avoiding alignment faults. |
|
This function determines whether its caller is running on a single processor or multiprocessor machine. |
|
This function releases system resources allocated when the NIC driver called the NdisMInitializeWrapper function. |
|
This function forwards a request to copy data received on the underlying NIC into a protocol-supplied packet. |
|
This function allows an application (or NDIS protocol driver) to request that all the protocols bound to an adapter unbind. |
|
This function removes the buffer descriptor at the end of the chain of buffer descriptors for a given packet. |
|
This function removes the buffer descriptor at the head of the chain of buffer descriptors for a specified packet. |
|
This function converts a specified counted Unicode string into a counted ASCII string. |
|
This function releases a virtual address mapping of a file previously set up with NdisMapFile. |
|
This function converts a copy of a given Unicode string to upper case and returns the converted string. |
|
This function puts the caller into a wait state until the given event is set to the Signaled state or the wait times out. |
|
This function writes a caller-supplied value for a specified entry into the registry. |
|
This function writes an entry to the system I/O error log file. |
|
This function writes a specified number of bytes to the PCI configuration space for an NIC on the PCI bus. |
|
This function writes bus-relative configuration parameters for a PC Card NIC to attribute memory. |
|
The NIC driver calls this function to write a UCHAR to an I/O port. |
|
The NIC driver calls this function to write a ULONG to an I/O port. |
|
The NIC driver calls this function to write a USHORT to an I/O port. |
|
The NIC driver calls this function to write a UCHAR to a memory-mapped device register. |
|
The NIC driver calls NdisWriteRegisterUlong to write a ULONG to a memory-mapped device register. |
|
The NIC driver calls NdisWriteRegisterUshort to write a USHORT to a memory-mapped device register. |
|
This function fills a block of memory that was mapped with a preceding call to the NdisMMapIoSpace function with 0s. |
|
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.