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 요청을 취소할 수 있습니다.