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는 NdisBindingHandleOpenParametersAdapterName 멤버에 지정된 미니포트 어댑터 간의 바인딩을 식별하는 핸들을 작성합니다. 호출자는 NdisXxx함수를 후속 호출에서 이 핸들을 사용합니다.
반환 값
NdisOpenAdapterEx 다음 상태 값 중 하나를 반환합니다.
반환 코드 | 묘사 |
---|---|
|
NdisOpenAdapterEx 열기 작업을 성공적으로 완료했습니다. |
|
NdisOpenAdapterEx 열기 작업을 완료하지 못했습니다. NDIS는 나중에 프로토콜 드라이버를 호출합니다. ProtocolOpenAdapterCompleteEx 함수를 사용하여 열기 작업을 완료합니다. |
|
NdisOpenAdapterEx 리소스 부족으로 인해 실패했습니다. |
|
OpenParametersAdapterName 멤버에 지정된 미니포트 어댑터를 찾을 수 없어 NdisOpenAdapterEx 실패했습니다. |
|
OpenParametersMediumArray 멤버에 지정된 배열에 NDIS 또는 기본 드라이버에서 지원하는 중간 형식이 포함되지 않아 NdisOpenAdapterEx 실패했습니다. |
|
NdisOpenAdapterEx 이전 목록 이외의 이유로 실패했습니다. |
발언
프로토콜 드라이버는 ProtocolBindAdapterEx 함수에서 NdisOpenAdapterEx 호출해야 합니다. NDIS는 ProtocolBindAdapterEx컨텍스트 외부에서 NdisOpenAdapterEx 호출하지 못합니다.
NdisOpenAdapterEx NDIS_STATUS_PENDING 반환하는 경우 호출자는 NdisBindingHandle 값을 사용하고 NDIS가 OpenParameters의 SelectedMediumIndex 멤버를 사용하면 안 됩니다. protocolOpenAdapterCompleteEx 함수를.
AdapterName 문자열은 NdisOpenAdapterEx 반환될 때까지만 유효해야 합니다. 따라서 NdisOpenAdapterEx NDIS_STATUS_PENDING 반환하는 경우 NdisOpenAdapterEx가 반환된 후에도 드라이버는 이 문자열을 계속 유지할 필요가.
열기 작업이 성공적으로 완료되면 호출자는 NdisBindingHandle 반환된 값을 NdisXxx 함수에 대한 후속 호출에서 사용할 수 있습니다. 호출자는 OpenParameters 매개 변수의 SelectedMediumIndex 멤버를 사용하여 기본 드라이버와 상호 작용하는 방법을 결정할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.0 이상에서 지원됩니다. |
대상 플랫폼 | 바탕 화면 |
헤더 | ndis.h(Ndis.h 포함) |
라이브러리 | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | Irql_Protocol_Driver_Function(ndis) |