NdisClOpenAddressFamilyEx 함수(ndis.h)

NdisClOpenAddressFamilyEx 함수는 연결 지향 클라이언트의 호출 관리자와 연결된 AF(주소 패밀리)를 등록합니다.

구문

NDIS_STATUS NdisClOpenAddressFamilyEx(
  [in]  NDIS_HANDLE        NdisBindingHandle,
  [in]  PCO_ADDRESS_FAMILY AddressFamily,
  [in]  NDIS_HANDLE        ClientAfContext,
  [out] PNDIS_HANDLE       NdisAfHandle
);

매개 변수

[in] NdisBindingHandle

NdisOpenAdapterEx가 반환하고 NIC(대상 네트워크 인터페이스 카드) 또는 호출자가 바인딩된 다음 하위 드라이버의 가상 어댑터를 식별하는 핸들입니다.

[in] AddressFamily

열려는 호출 관리자 및 AF를 설명하는 CO_ADDRESS_FAMILY 구조체에 대한 포인터입니다.

이 포인터는 클라이언트의 입력 매개 변수입니다.NdisClOpenAddressFamilyEx를 호출하는 ProtocolCoAfRegisterNotify 함수입니다.

[in] ClientAfContext

AF를 연 후 클라이언트가 이 AF에 대한 상태를 유지하는 호출자 제공 상주 컨텍스트 영역에 대한 핸들입니다. NdisClOpenAddressFamilyEx에 대한 호출이 성공하면 NDIS는 이 AF와 관련된 모든 후속 호출에서 이 핸들을 클라이언트에 다시 전달합니다.

[out] NdisAfHandle

NdisClOpenAddressFamilyEx가 새로 연 주소 패밀리를 나타내는 핸들을 반환하는 호출자 제공 변수에 대한 포인터입니다.

반환 값

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

설명

CoNDIS 클라이언트는 에서 NdisClOpenAddressFamilyEx 를 호출합니다. ProtocolCoAfRegisterNotify 함수는 클라이언트가 AddressFamily 매개 변수가 가리키는 입력 버퍼를 검사한 후 클라이언트가 호출 관리자 및 등록된 주소를 인식하는지 여부를 확인합니다. NDIS는 클라이언트의 NdisClOpenAddressFamilyEx 호출을 호출 관리자의 ProtocolCmOpenAf 함수로 전달하여 클라이언트가 유효한 AF 구조를 전달하도록 합니다.

NdisClOpenAddressFamilyEx를 성공적으로 호출하면 클라이언트에서 호출 관리자로의 통신이 설정됩니다. 그런 다음, 클라이언트는 NdisClRegisterSap 함수를 호출하여 들어오는 호출을 받을 준비를 할 수 있습니다. 클라이언트는 NdisCoCreateVc 함수를 호출하여 VC(가상 연결)를 설정할 수도 있으므로 NdisClMakeCall 함수를 호출하여 나가는 호출을 수행할 수 있습니다.

NdisClOpenAddressFamilyEx에 대한 클라이언트의 호출이 실패하면 클라이언트는 NdisUnbindAdapter 함수를 호출하여 기본 미니포트 어댑터에 바인딩을 해제하도록 NDIS를 요청해야 합니다. 그렇지 않으면 클라이언트는 NdisAfHandle 매개 변수에 반환된 핸들을 저장해야 합니다. 이 핸들은 지정된 주소 패밀리와 관련된 후속 요청이 전달되는 호출 관리자를 식별합니다. 클라이언트는 이 반환된 핸들을 불투명 변수로 처리하여 후속 NdisXxx 함수 호출에서 수정되지 않고 해석되지 않은 핸들을 전달해야 합니다.

NDIS는 클라이언트가 동일한 NdisAfHandle 를 사용하여 NdisCloseAddressFamily를 호출할 때까지 AF와 관련된 모든 후속 호출에서 ClientAfContext 매개 변수의 포인터를 클라이언트의 등록된 ProtocolClXxx 함수에 전달합니다. AF가 닫힌 후 클라이언트는 ClientAfContext 에 할당된 스토리지를 해제하거나 다시 사용할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
대상 플랫폼 데스크톱
머리글 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 Irql_Protocol_Driver_Function(ndis)

추가 정보

CO_ADDRESS_FAMILY

NdisAllocateFromNPagedLookasideList

NdisClCloseAddressFamily

NdisClMakeCall

NdisClRegisterSap

NdisCoCreateVc

NdisOpenAdapterEx

NdisUnbindAdapter

ProtocolClOpenAfCompleteEx

ProtocolCmOpenAf

ProtocolCoAfRegisterNotify