NdisCloseAddressFamily 함수(ndis.h)

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

구문

NDIS_STATUS NdisClCloseAddressFamily(
  [in] NDIS_HANDLE NdisAfHandle
);

매개 변수

[in] NdisAfHandle

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

반환 값

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

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

설명

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

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

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

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

NdisCloseAddressFamily를 호출하기 전에 AF가 열려 있거나 ProtocolClNotifyCloseAf 작업이 보류 중인 동안 클라이언트가 NdisAfHandle을 사용할 수 있습니다. 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