Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The NdisMAllocatePort function allocates an NDIS port that is associated with a miniport adapter.
Syntax
NDIS_STATUS NdisMAllocatePort(
NDIS_HANDLE NdisMiniportHandle,
[in, out] PNDIS_PORT_CHARACTERISTICS PortCharacteristics
);
Parameters
NdisMiniportHandle
The miniport adapter handle that NDIS passed to the MiniportAdapterHandle parameter of the MiniportInitializeEx function.
[in, out] PortCharacteristics
A pointer to an NDIS_PORT_CHARACTERISTICS structure that defines the characteristics of the port.
Return value
NdisMAllocatePort can return one of the following values:
Return code | Description |
---|---|
|
NDIS successfully allocated resources for the port. |
|
NDIS could not allocate resources for the port. |
|
The port allocation failed because the associated miniport adapter is closing. |
|
The data that was supplied at the PortCharacteristics parameter was invalid. |
Remarks
The NdisMAllocatePort function allocates resources and a port number for a port that is associated with a miniport adapter. The port is not active until the miniport driver issues a NetEventPortActivation Plug and Play (PnP) event for the port.
After the miniport driver activates the port, NDIS generates a PnP notification for the overlying drivers. If an overlying driver or user-mode application issues the OID_GEN_ENUMERATE_PORTS OID to enumerate a miniport adapter's ports, NDIS does not include non-active allocated ports in the list of the ports.
When NdisMAllocatePort successfully returns, the PortNumber member of the NDIS_PORT_CHARACTERISTICS structure that the PortCharacteristics parameter specifies is set to the port number that NDIS assigned to the port.
After a port is no longer required, the miniport driver should call the NdisMFreePort function to free the port.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported in NDIS 6.0 and later. |
Target Platform | Universal |
Header | ndis.h (include Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |