15 UINT PortsToManage ) {
53 if ((Port < PortSet->StartingPort) ||
75 if( AllocatedPort != (
ULONG)-1 ) {
79 return htons(AllocatedPort);
90 if ((Lowest < PortSet->StartingPort) ||
101 if( AllocatedPort != (
ULONG)-1 && AllocatedPort <= Highest) {
105 return htons(AllocatedPort);
#define RtlInitializeBitMap
VOID DeallocatePort(PPORT_SET PortSet, ULONG Port)
BOOLEAN AllocatePort(PPORT_SET PortSet, ULONG Port)
VOID PortsShutdown(PPORT_SET PortSet)
NTSTATUS PortsStartup(PPORT_SET PortSet, UINT StartingPort, UINT PortsToManage)
ULONG AllocateAnyPort(PPORT_SET PortSet)
ULONG AllocatePortFromRange(PPORT_SET PortSet, ULONG Lowest, ULONG Highest)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define KeReleaseSpinLock(sl, irql)
#define KeAcquireSpinLock(sl, irql)
#define KeInitializeSpinLock(sl)
#define ExFreePoolWithTag(_P, _T)
#define STATUS_INSUFFICIENT_RESOURCES
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql