다음을 통해 공유


NdisFRegisterFilterDriver 함수(ndis.h)

필터 드라이버가 를 호출합니다. NdisFRegisterFilterDriver는 FilterXxx 함수를 NDIS에 등록하는 함수를.

통사론

NDIS_STATUS NdisFRegisterFilterDriver(
  [in]  PDRIVER_OBJECT                      DriverObject,
  [in]  NDIS_HANDLE                         FilterDriverContext,
        PNDIS_FILTER_DRIVER_CHARACTERISTICS FilterDriverCharacteristics,
  [out] PNDIS_HANDLE                        NdisFilterDriverHandle
);

매개 변수

[in] DriverObject

Argument1 매개 변수의 DriverEntry 루틴에서 필터 드라이버가 받은 불투명 드라이버 개체에 대한 포인터입니다. (자세한 내용은 NDIS 필터 드라이버 DriverEntry를 참조하세요.)

[in] FilterDriverContext

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

FilterDriverCharacteristics

에 대한 포인터 필터 드라이버가 FilterXxx 함수 진입점으로 만들고 초기화한 NDIS_FILTER_DRIVER_CHARACTERISTICS 구조입니다.

[out] NdisFilterDriverHandle

핸들 변수에 대한 포인터입니다. 호출하는 경우 NdisFRegisterFilterDriver NDIS는 이 변수를 필터 드라이버 핸들로 채웁니다. 필터 드라이버는 이 핸들을 저장하고 나중에 이 핸들을 입력 매개 변수로 필터 드라이버 핸들이 필요한 NdisFDeregisterFilterDriver같은 NDIS 함수에 전달합니다.

반환 값

NdisFRegisterFilterDriver 다음 상태 값 중 하나를 반환합니다.
반환 코드 묘사
NDIS_STATUS_SUCCESS
NdisFRegisterFilterDriver 필터 드라이버를 등록한 경우 NDIS_STATUS_SUCCESS 반환합니다.
NDIS_STATUS_BAD_VERSION
FilterCharacteristics 구조체의 MajorNdisVersion 멤버에 지정된 버전이 잘못되었습니다.
NDIS_STATUS_BAD_CHARACTERISTICS
에 지정된 멤버 중 하나 이상 NDIS_FILTER_DRIVER_CHARACTERISTICS 잘못되었습니다.
NDIS_STATUS_INVALID_PARAMETER
드라이버가 전달한 입력 매개 변수 중 하나 이상 NdisFRegisterFilterDriver 잘못되었습니다.
NDIS_STATUS_RESOURCES
NdisFRegisterFilterDriver 리소스가 부족하여 실패했습니다.
NDIS_STATUS_FAILURE
NdisFRegisterFilterDriver 이전 값이 적용되지 않으면 NDIS_STATUS_FAILURE 반환합니다.

발언

필터 드라이버가 를 호출합니다. NdisFRegisterFilterDriver는 DriverEntry 루틴에서 함수를. DriverEntry대한 자세한 내용은 NDIS 필터 드라이버 DriverEntry를 참조하세요.

NdisFRegisterFilterDriver 호출하는 드라이버는 FilterXxx 함수에 대한 즉각적인 호출을 준비해야 합니다. 자세한 내용은 필터 드라이버 초기화하는참조하세요.

모든 필터 드라이버는 를 설정하여 FilterXxx 함수 집합을 내보냅니다. NDIS_FILTER_DRIVER_CHARACTERISTICS 구조 및 호출 NdisFRegisterFilterDriver. NDIS는 이 구조를 NDIS 라이브러리의 내부 스토리지에 복사합니다.

필터 드라이버가 선택적 서비스를 등록할 수 있도록 NDIS는 다음 컨텍스트 내에서 FilterSetOptions 함수를 호출합니다. NdisFRegisterFilterDriver.

등록한 후 필터 드라이버는 나중에 NdisSetOptionalHandlers 함수를 호출하여 선택적 FilterXxx 함수의 진입점을 변경할 수 있습니다.

필터 드라이버는 다음을 호출합니다. NdisFDeregisterFilterDriver 함수를 사용하여 이전에 할당된 리소스를 해제합니다. NdisFRegisterFilterDriver.

요구 사항

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

참고 항목

NDIS 필터 드라이버 DriverEntry

filterAttach

필터 드라이버 초기화

NDIS_FILTER_DRIVER_CHARACTERISTICS

NdisFDeregisterFilterDriver

NdisSetOptionalHandlers