Share via


NdisCloseAddressFamily 함수(ndis.h)

NdisCloseAddressFamily 는 클라이언트가 바인딩된 특정 NIC에 대해 클라이언트 프로토콜과 호출 관리자 또는 MCM 드라이버의 등록된 AF 간의 연결을 해제합니다.

구문

NDIS_STATUS NdisClCloseAddressFamily(
  [in] NDIS_HANDLE NdisAfHandle
);

매개 변수

[in] NdisAfHandle

에서 반환된 NDIS 제공 핸들을 지정합니다. NdisClOpenAddressFamilyEx.

반환 값

When NdisCloseAddressFamily 는 NDIS_STATUS_PENDING 이외의 항목을 반환합니다. 클라이언트는 내부 호출을 수행해야 합니다. ProtocolCloseAfComplete 함수입니다. 그렇지 않으면 NDIS는 클라이언트의 를 호출합니다.이 작업이 완료되면 ProtocolCloseAfComplete 함수입니다.

조건 NdisCloseAddressFamily 는 NDIS_STATUS_PENDING 반환합니다.호출할 ProtocolCloseAfComplete 함수는 교착 상태가 발생할 수 있기 때문에 현재 스레드를 차단해서는 안 됩니다. 이는 클라이언트가 를 처리하는 컨텍스트에서 NdisCloseAddressFamily 를 호출할 때 특히 중요합니다. NdisCmNotifyCloseAddressFamily 요청. 이 경우 호출 관리자는 클라이언트가 NdisCmNotifyCloseAddressFamily 요청 처리에서 반환될 때까지 주소 패밀리를 닫을 수 없습니다. 클라이언트가 현재 스레드를 차단하는 경우 클라이언트는 NdisCmNotifyCloseAddressFamily 요청 처리를 완료하지 않으므로 교착 상태가 발생합니다.

설명

클라이언트는 일반적으로 해당 클라이언트에서 NdisCloseAddressFamily 를 호출합니다.
ProtocolUnbindAdapterEx 함수는 NdisCloseCall 및/또는 NdisClDeregisterSap 호출을 사용하여 바인딩에서 클라이언트의 열려 있는 모든 VC를 닫은 후 함수입니다. 클라이언트는 처리 컨텍스트에서 NdisCloseAddressFamily 를 호출할 수도 있습니다. NdisCmNotifyCloseAddressFamily 요청.

NDIS는 클라이언트를 호출합니다. ProtocolUnbindAdapterEx 함수는 클라이언트가 바인딩된 기본 NIC가 컴퓨터에서 제거되거나 다시 구성될 때마다 작동합니다. 기본 미니포트 드라이버의 PnP 재구성으로 인해 호출 관리자 또는 MCM 드라이버가 해당 NIC를 통해 지원하는 주소 패밀리를 다시 등록합니다. 그러면 클라이언트에 대한 후속 호출이 발생합니다. ProtocolCoAfRegisterNotify 함수입니다. 두 시나리오 모두 클라이언트의 ProtocolUnbindAdapterEx 함수는 기본 미니포트 드라이버에 따라 현재 사용 중인 미해결 NdisAfHandle을 사용하여 NdisCloseAddressFamily를 호출해야 합니다.

일반적인 지침으로 클라이언트는 미니포트 드라이버를 통해 연결 지향 통신에 할당된 모든 리소스를 해제해야 합니다. ProtocolUnbindAdapterEx 함수는 NdisCloseAdapterEx를 호출합니다.

NdisCloseAddressFamily에 전달된 NdisAfHandle은 이 호출이 발생하는 즉시 클라이언트에 대해 유효하지 않습니다.

NdisCloseAddressFamily를 호출하기 전에 클라이언트는 AF가 열려 있는 동안 또는 을(를) 사용하는 동안 NdisAfHandle을 사용할 수 있습니다. ProtocolClNotifyCloseAf 작업이 보류 중입니다. 여기서 ProtocolClNotifyCloseAf 함수는 NDIS_STATUS_PENDING 반환하고 에서 핸들을 사용합니다.닫기 작업이 완료된 후 NdisClNotifyCloseAddressFamilyComplete 호출

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista에서 NDIS 6.0 및 NDIS 5.1 드라이버에 대해 지원됩니다(NdisCloseAddressFamily(NDIS 5.1 참조)). Windows XP에서 NDIS 5.1 드라이버(NdisCloseAddressFamily(NDIS 5.1 참조))에 대해 지원됩니다.
대상 플랫폼 데스크톱
머리글 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 Irql_Protocol_Driver_Function(ndis)

추가 정보

NdisClCloseCall

NdisClDeregisterSap

NdisClOpenAddressFamilyEx

ProtocolCloseAfComplete

ProtocolCmCloseAf

ProtocolCoAfRegisterNotify

ProtocolUnbindAdapterEx