다음을 통해 공유


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

[out] NdisAfHandle

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

반환 값

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

발언

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

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

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

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

요구 사항

요구
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
대상 플랫폼 바탕 화면
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 Irql_Protocol_Driver_Function(ndis)

참고 항목

CO_ADDRESS_FAMILY

NdisAllocateFromNPagedLookasideList

NdisCloseAddressFamily

NdisClMakeCall

NdisClRegisterSap

NdisCoCreateVc

NdisOpenAdapterEx

NdisUnbindAdapter

ProtocolClOpenAfCompleteEx

ProtocolCmOpenAf

ProtocolCoAfRegisterNotify