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 반환합니다.

설명

필터 드라이버가 다음을 호출합니다.DriverEntry 루틴의 NdisFRegisterFilterDriver 함수입니다. 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