NdisCmRegisterAddressFamilyEx 함수(ndis.h)

NdisCmRegisterAddressFamilyEx 함수는 CoNDIS 드라이버 간의 통신을 위해 AF(주소 패밀리)를 등록합니다.

구문

NDIS_STATUS NdisCmRegisterAddressFamilyEx(
  [in] NDIS_HANDLE        NdisBindingHandle,
  [in] PCO_ADDRESS_FAMILY AddressFamily
);

매개 변수

[in] NdisBindingHandle

NdisOpenAdapterEx 함수의 NdisBindingHandle 매개 변수에 NDIS가 제공한 핸들입니다. 이 핸들은 AF와 연결할 바인딩을 식별합니다.

[in] AddressFamily

NdisBindingHandle이 지정하는 바인딩에 대해 지원하는 호출 관리자 및 AF를 식별하는 CO_ADDRESS_FAMILY 구조체에 대한 포인터입니다.

AddressFamily에 대한 포인터는 에 대한 입력 매개 변수가 됩니다. ProtocolCoAfRegisterNotify 는 동일한 CoNDIS 미니포트 어댑터에 바인딩된 모든 클라이언트의 함수입니다.

반환 값

NdisCmRegisterAddressFamilyEx 는 다음 중 어느 것을 반환할 수 있습니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
프로토콜 드라이버는 AddressFamily 가 가리키는 AF를 등록했기 때문에 NDIS는 ProtocolCoAfRegisterNotify 는 동일한 미니포트 어댑터에 자신을 바인딩하는 모든 클라이언트의 함수입니다.
NDIS_STATUS_RESOURCES
NDIS가 충분한 메모리를 할당하거나 호출 관리자 또는 지정된 AF를 추적하는 데 사용하는 상태를 초기화할 수 없으므로 요청된 작업이 실패했습니다.
NDIS_STATUS_FAILURE
NDIS는 다음 이유 중 하나로 인해 NdisCmRegisterAddressFamilyEx에 대한 호출에 실패했습니다.
  • 호출자가 연결 지향 프로토콜 드라이버로 등록되지 않았습니다.
  • 호출자가 바인딩된 미니포트 드라이버가 연결 지향 미니포트 드라이버로 등록되지 않았습니다.
  • 다른 호출 관리자가 이미 지정된 AF를 등록했습니다.
  • 호출자의 바인딩이 닫혀 있습니다.

설명

를 호출하여 NDIS 프로토콜 드라이버로 등록하는 NDIS 독립 실행형 통화 관리자 NdisRegisterProtocolDriver 함수는 NdisCmRegisterAddressFamilyEx 함수를 호출하여 AF를 등록해야 합니다. MCM(Miniport 통화 관리자)은 대신 를 호출해야 합니다. NdisMCmRegisterAddressFamilyEx 함수입니다.

바인딩에 대한 AF를 등록하려면 독립 실행형 호출 관리자가 에서 NdisCmRegisterAddressFamilyEx 를 호출해야 합니다. ProtocolBindAdapterEx 함수입니다.

독립 실행형 호출 관리자의 ProtocolBindAdapterEx 함수는 먼저 NdisOpenAdapterEx 함수를 호출하여 기본 미니포트 드라이버에 대한 바인딩을 설정합니다. NDIS가 BindContext 매개 변수에서 다른 핸들을 사용하여 ProtocolBindAdapterEx를 호출할 때마다 ProtocolBindAdapterEx는 바인딩을 설정하고 지원하는 AF를 등록합니다. 즉, 독립 실행형 호출 관리자는 결국 연결 지향 클라이언트에 호출 관리 서비스를 제공하는 각 바인딩에 대한 AF를 등록합니다.

호출 관리자는 둘 이상의 AF를 지원할 수 있으며 단일 바인딩에 대해 둘 이상의 AF를 지원할 수 있습니다. 그러나 하나의 호출 관리자만 지정된 미니포트 어댑터에 바인딩된 클라이언트에 대해 지정된 AF를 지원할 수 있습니다.

호출 관리자의 ProtocolBindAdapterEx 함수가 바인딩 작업이 성공한 후 컨트롤을 반환하면 NDIS는 를 호출합니다. ProtocolCoAfRegisterNotify 는 동일한 미니포트 어댑터에 바인딩된 모든 클라이언트의 함수입니다.

요구 사항

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

추가 정보

CO_ADDRESS_FAMILY

NdisMCmRegisterAddressFamilyEx

NdisOpenAdapterEx

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolCoAfRegisterNotify