다음을 통해 공유


CoNDIS 미니포트 드라이버 OID 요청

NDIS는 CoNDIS 미니포트 드라이버의 MiniportCoOidRequest 함수를 호출하여 드라이버의 정보를 쿼리하거나 설정하는 OID 요청을 제출합니다. NDIS는 자체적으로 또는 NdisCoOidRequest 함수를 호출하는 지나치게 많은 드라이버를 대신하여 MiniportCoOidRequest 를 호출합니다.

NDIS는 요청 정보를 포함하는 NDIS_OID_REQUEST 구조체에 대한 포인터를 MiniportCoOidRequest에 전달합니다. 요청 구조에는 요청 데이터를 정의하는 요청 및 기타 멤버의 형식을 나타내는 OID_Xxx 식별자가 포함됩니다.

제한 시간 멤버는 요청에 대한 제한 시간(초)을 지정합니다. 드라이버가 요청을 완료하기 전에 제한 시간이 만료되면 NDIS에서 드라이버를 다시 설정하거나 요청을 취소할 수 있습니다.

RequestId 멤버는 요청에 대한 선택적 식별자를 지정합니다. 미니포트 드라이버는 상태 표시의 RequestId 멤버를 연결된 OID 요청의 RequestId 멤버에서 가져온 값으로 설정할 수 있습니다. 일반적으로 미니포트 드라이버는 이 멤버를 무시할 수 있습니다. 드라이버가 이 멤버를 설정해야 하는 경우 드라이버는 특정 OID에 대한 참조 페이지에 지정된 필수 값 중 하나를 사용해야 합니다. 상태 표시에 대한 자세한 내용은 CoNDIS 미니포트 드라이버 상태 표시를 참조하세요.

미니포트 드라이버는 성공 또는 실패 상태 반환하여 OID 요청을 동기적으로 완료할 수 있습니다. 드라이버는 NDIS_STATUS_PENDING 반환하여 OID 요청을 비동기적으로 완료할 수 있습니다. 이 경우 드라이버는 NdisMCoOidRequestComplete 함수를 호출하여 작업을 완료해야 합니다.

MiniportCoOidRequest 함수가 NDIS_STATUS_PENDING 반환하는 경우 NDIS는 보류 중인 요청이 완료되기 전에 어댑터에 대한 다른 요청으로 MiniportCoOidRequest를 호출할 수 있습니다. 이는 모든 OID 요청이 serialize되는 연결 없는 NDIS 인터페이스와 다릅니다.

NDIS는 미니포트 드라이버의 MiniportCancelOidRequest 함수를 호출하여 CoNDIS OID 요청을 취소할 수 있습니다.