NdisOpenAdapterEx 함수(ndis.h)

프로토콜 드라이버는 ProtocolBindAdapterEx 함수에서 NdisOpenAdapterEx 함수를 호출하여 프로토콜 드라이버와 기본 드라이버 간에 바인딩을 설정합니다.

구문

NDIS_STATUS NdisOpenAdapterEx(
  [in]  NDIS_HANDLE           NdisProtocolHandle,
  [in]  NDIS_HANDLE           ProtocolBindingContext,
  [in]  PNDIS_OPEN_PARAMETERS OpenParameters,
  [in]  NDIS_HANDLE           BindContext,
  [out] PNDIS_HANDLE          NdisBindingHandle
);

매개 변수

[in] NdisProtocolHandle

에 의해 반환된 핸들 NdisRegisterProtocolDriver 함수.

[in] ProtocolBindingContext

프로토콜 드라이버가 이 바인딩에 대한 상태 정보를 유지하는 호출자 제공 컨텍스트 영역에 대한 핸들입니다.

[in] OpenParameters

호출자가 설정한 NDIS_OPEN_PARAMETERS 구조체에 대한 포인터입니다.

[in] BindContext

바인딩 작업의 NDIS 컨텍스트 영역을 식별하는 핸들입니다. NDIS는 ProtocolBindAdapterEx 함수의 BindContext 매개 변수에 이 핸들을 전달했습니다.

[out] NdisBindingHandle

호출자가 제공한 변수에 대한 포인터입니다. NDIS는 OpenParametersAdapterName 멤버에 지정된 미니포트 어댑터와 호출자 간의 바인딩을 식별하는 핸들을 NdisBindingHandle에 씁니다. 호출자는 NdisXxx 함수에 대한 후속 호출에서 이 핸들을 사용합니다.

반환 값

NdisOpenAdapterEx 는 다음 상태 값 중 하나를 반환합니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
NdisOpenAdapterEx 가 열기 작업을 성공적으로 완료했습니다.
NDIS_STATUS_PENDING
NdisOpenAdapterEx 에서 열기 작업을 완료하지 못했습니다. NDIS는 나중에 프로토콜 드라이버를 호출합니다. ProtocolOpenAdapterCompleteEx 함수를 사용하여 열기 작업을 완료합니다.
NDIS_STATUS_RESOURCES
리소스 부족으로 인해 NdisOpenAdapterEx 가 실패했습니다.
NDIS_STATUS_ADAPTER_NOT_FOUND
OpenParametersAdapterName 멤버에 지정된 미니포트 어댑터를 찾을 수 없어 NdisOpenAdapterEx가 실패했습니다.
NDIS_STATUS_UNSUPPORTED_MEDIA
OpenParametersMediumArray 멤버에 지정된 배열에 NDIS 또는 기본 드라이버에서 지원하는 중간 형식이 포함되지 않아 NdisOpenAdapterEx가 실패했습니다.
NDIS_STATUS_FAILURE
이전 목록 이외의 이유로 NdisOpenAdapterEx 가 실패했습니다.

설명

프로토콜 드라이버는 ProtocolBindAdapterEx 함수에서 NdisOpenAdapterEx를 호출해야 합니다. NDIS는 ProtocolBindAdapterEx 컨텍스트 외부에서 NdisOpenAdapterEx를 호출하려고 시도하지 않습니다.

NdisOpenAdapterEx가 NDIS_STATUS_PENDING 반환하는 경우 호출자는 NDIS가 다음을 호출할 때까지 NdisBindingHandle의 값과 OpenParametersSelectedMediumIndex 멤버를 사용하지 않아야 합니다. ProtocolOpenAdapterCompleteEx 함수입니다.

AdapterName의 문자열은 NdisOpenAdapterEx가 반환될 때까지만 유효해야 합니다. 따라서 NdisOpenAdapterEx 가 NDIS_STATUS_PENDING 반환하는 경우 NdisOpenAdapterEx 가 반환된 후에도 드라이버는 이 문자열을 계속 유지할 필요가 없습니다.

열기 작업이 성공적으로 완료되면 호출자는 Ndis Xxx 함수에 대한 후속 호출에서 NdisBindingHandle에서 NDIS가 반환한 값을 사용할 수 있습니다. 호출자는 OpenParameters 매개 변수의 SelectedMediumIndex 멤버를 사용하여 기본 드라이버와 상호 작용하는 방법을 결정할 수 있습니다.

요구 사항

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

참고 항목

NDIS_OPEN_PARAMETERS

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolOpenAdapterCompleteEx