다음을 통해 공유


NDIS 필터 드라이버에서 OID 요청 생성

필터 드라이버는 NdisFOidRequest 함수를 호출하여 OID 쿼리를 시작하거나 기본 드라이버에 요청을 설정할 수 있습니다.

다음 그림에서는 필터 드라이버에서 시작된 OID 요청을 보여 줍니다.

NDIS 필터 드라이버에서 시작된 OID 요청을 보여 주는 다이어그램

필터 드라이버가 NdisFOidRequest 함수를 호출한 후 NDIS는 다음 기본 드라이버의 요청 함수를 호출합니다. 미니포트 드라이버가 OID 요청을 처리하는 방법에 대한 자세한 내용은 어댑터에 대한 OID 요청을 참조하세요.

동기적으로 완료하기 위해 NdisFOidRequest는 NDIS_STATUS_SUCCESS 또는 오류 상태 반환합니다. 비동기적으로 완료하기 위해 NdisFOidRequest 는 NDIS_STATUS_PENDING 반환합니다.

기본 드라이버에서 성공적으로 처리된 정보를 확인하려면 OID 요청을 발급하는 필터 드라이버가 OID 요청이 반환된 후 NDIS_OID_REQUEST 구조에서 SupportedRevision 멤버의 값을 검사 합니다. NDIS 버전 정보에 대한 자세한 내용은 NDIS 버전 정보 지정을 참조하세요.

NdisFOidRequest가 NDIS_STATUS_PENDING 반환하는 경우 NDIS는 기본 드라이버가 OID 요청을 완료한 후 FilterOidRequestComplete 함수를 호출합니다. 이 경우 NDIS는 FilterOidRequestCompleteOidRequest 매개 변수에서 요청 결과를 전달합니다. NDIS는 FilterOidRequestCompleteStatus 매개 변수에서 요청의 최종 상태 전달합니다.

NdisFOidRequest가 NDIS_STATUS_SUCCESS 반환하는 경우 OidRequest 매개 변수의 NDIS_OID_REQUEST 구조에서 쿼리 요청의 결과를 반환합니다. 이 경우 NDIS는 FilterOidRequestComplete 함수를 호출하지 않습니다.

드라이버가 다시 시작, 실행 중, 일시 중지 또는 일시 중지됨 상태일 때 NdisFOidRequest를 호출할 수 있습니다.

참고 필터 드라이버는 시작된 OID 요청을 추적하고 이러한 요청이 완료되면 NdisFOidRequestComplete 함수를 호출하지 않는지 확인해야 합니다.