다음을 통해 공유


NdisMFreePort 함수(ndis.h)

NdisMFreePort 함수는 이전에 NdisMAllocatePort 함수로 할당된 NDIS 포트를 해제합니다.

구문

NDIS_STATUS NdisMFreePort(
       NDIS_HANDLE      NdisMiniportHandle,
  [in] NDIS_PORT_NUMBER PortNumber
);

매개 변수

NdisMiniportHandle

NDIS가 의 MiniportAdapterHandle 매개 변수에 전달한 미니포트 어댑터 핸들 MiniportInitializeEx 함수입니다.

[in] PortNumber

NDIS에서 해제해야 하는 NDIS 포트의 수입니다. PortNumber 값은 ULONG 데이터 형식이 있는 NDIS_PORT_NUMBER 값입니다. NDIS는 의 PortNumber 멤버에 포트 번호를 제공했습니다. 미니 포트 드라이버가 NdisMAllocatePort 함수를 호출할 때 구조체를 NDIS_PORT_CHARACTERISTICS.

포트 번호는 1부터 0xffffff까지의 숫자일 수 있습니다. 기본 포트를 나타내는 PortNumber 를 0으로 설정할 수 없습니다.

반환 값

NdisMFreePort 는 다음 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
NDIS는 포트에 대한 리소스를 성공적으로 해제했습니다.
NDIS_STATUS_INVALID_PORT
포트 번호가 잘못되었기 때문에 NDIS에서 포트에 대한 리소스를 해제할 수 없습니다.
NDIS_STATUS_INVALID_PORT_STATE
포트가 사용 가능 작업이 잘못된 상태이므로 NDIS에서 포트에 대한 리소스를 해제할 수 없습니다. 포트를 해제하려면 포트가 할당된 상태여야 합니다.
NDIS_STATUS_INVALID_DATA
PortNumber 매개 변수에 제공된 포트 번호가 잘못되었습니다.

설명

미니포트 드라이버가 NdisMAllocatePort 함수를 호출하여 포트를 할당한 경우 드라이버는 MiniportHaltEx 함수에서 반환하기 전에 포트를 해제해야 합니다. 미니포트 드라이버가 NetEventPortActivation 플러그 앤 플레이(PnP) 이벤트를 실행하여 포트를 활성화한 경우 드라이버는 포트를 해제하기 전에 포트에 대한 NetEventPortDeactivation PnP 이벤트를 실행해야 합니다.

미니포트 드라이버가 NdisMFreePort 를 호출하여 포트를 해제하면 NDIS는 해제된 포트에 할당된 포트 번호도 해제하여 NDIS가 포트 번호를 다시 사용할 수 있도록 합니다.

미니포트 드라이버는 기본 포트를 해제하려고 시도해서는 안됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
대상 플랫폼 유니버설
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 Irql_Miniport_Driver_Function(ndis)

추가 정보

기본 NDIS 포트

NDIS 포트 해제

MiniportHaltEx

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMAllocatePort