NdisRegisterProtocolDriver 함수(ndis.h)

프로토콜 드라이버는 NdisRegisterProtocolDriver 함수를 호출하여 ProtocolXxx 함수를 NDIS에 등록합니다.

구문

NDIS_STATUS NdisRegisterProtocolDriver(
  [in, optional] NDIS_HANDLE                           ProtocolDriverContext,
  [in]           PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS ProtocolCharacteristics,
  [out]          PNDIS_HANDLE                          NdisProtocolHandle
);

매개 변수

[in, optional] ProtocolDriverContext

드라이버가 상태 및 구성 정보를 유지하는 드라이버 할당 컨텍스트 영역에 대한 핸들입니다.

[in] ProtocolCharacteristics

에 대한 포인터 프로토콜 드라이버가 ProtocolXxx 함수 진입점을 사용하여 만들고 초기화한 구조를 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS.

[out] NdisProtocolHandle

호출자가 제공한 핸들 변수에 대한 포인터입니다. NDIS는 등록 중인 드라이버를 고유하게 식별하는 핸들을 이 변수에 씁니다. 드라이버는 후속 NdisXxx 함수 호출에 사용하기 위해 이 핸들을 저장해야 합니다.

반환 값

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

반환 코드 설명
NDIS_STATUS_SUCCESS

NdisRegisterProtocolDriver는 프로토콜 드라이버를 등록한 경우 NDIS_STATUS_SUCCESS 반환합니다.

NDIS_STATUS_BAD_VERSION
ProtocolCharacteristics 구조체의 MajorNdisVersion 멤버에 지정된 버전이 잘못되었습니다.
NDIS_STATUS_BAD_CHARACTERISTICS
ProtocolCharacteristics 매개 변수에 있는 구조체의 일부 멤버가 잘못되었습니다.
NDIS_STATUS_RESOURCES

리소스가 부족하여 NdisRegisterProtocolDriver가 실패했습니다.

NDIS_STATUS_FAILURE

이전 값이 적용되지 않으면 NdisRegisterProtocolDriver는 NDIS_STATUS_FAILURE 반환합니다.

설명

프로토콜 드라이버는 DriverEntry 루틴에서 NdisRegisterProtocolDriver 함수를 호출합니다. DriverEntry에 대한 자세한 내용은 NDIS 프로토콜 드라이버의 DriverEntry를 참조하세요.

NdisRegisterProtocolDriver를 호출하는 드라이버는 ProtocolXxx 함수를 즉시 호출할 수 있도록 준비해야 합니다.

모든 프로토콜 드라이버는 를 설정하여 ProtocolXxx 함수 집합을 내보냅니다. NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 구조 및 NdisRegisterProtocolDriver를 호출합니다. NDIS는 이 구조를 NDIS 라이브러리의 내부 스토리지에 복사합니다.

프로토콜 드라이버가 선택적 서비스를 등록할 수 있도록 NDIS는 NdisRegisterProtocolDriver 컨텍스트 내에서 ProtocolSetOptions 함수를 호출합니다.

프로토콜 드라이버는 다음을 호출합니다. NdisDeregisterProtocolDriver 함수는 이전에 NdisRegisterProtocolDriver로 할당된 리소스를 해제합니다.

요구 사항

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

추가 정보

NDIS 프로토콜 드라이버의 DriverEntry

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS

NdisDeregisterProtocolDriver

NdisSetOptionalHandlers