다음을 통해 공유


NDIS 프로토콜 드라이버에서 OID 요청 생성

기본 드라이버에 대한 OID 요청을 시작하려면 프로토콜이 NdisOidRequest 함수를 호출합니다.

다음 그림에서는 프로토콜 드라이버에서 시작된 OID 요청을 보여 줍니다.

프로토콜 드라이버에서 시작된 OID 요청을 보여 주는 다이어그램

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

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

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

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

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

기본 드라이버가 OID 요청을 후속 상태 표시와 연결해야 하는 경우 프로토콜 드라이버는 NDIS_OID_REQUEST 구조에서 RequestId 멤버를 설정해야 합니다. 기본 드라이버가 상태 표시할 때 NDIS_STATUS_INDICATION 구조의 RequestId 멤버를 OID 요청에 제공된 값으로 설정합니다.

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