다음을 통해 공유


미니포트 어댑터에서 OID 요청 처리

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

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

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

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

OID 집합 요청을 성공적으로 처리하는 미니포트 드라이버는 OID 집합 요청에서 반환될 때 NDIS_OID_REQUEST 구조에서 SupportedRevision 멤버를 설정해야 합니다. SupportedRevision 멤버는 드라이버가 지원하는 수정 요청의 초기자에게 알릴 수 있습니다. 예를 들어 미니포트 드라이버는 Xxx_REVISION_2 구조를 만들고, Xxx_REVISION_1 구조체에 적합한 값을 제공하고, 나머지 구조를 0으로 채울 수 있습니다. 미니포트 드라이버는 SupportedRevision 멤버의 Xxx_REVISION_1 보고합니다. 이 경우 Xxx_REVISION_2 지원할 수 있는 프로토콜 드라이버는 미니포트 드라이버가 지원하는 Xxx_REVISION_1 정보를 사용합니다. NDIS 구조의 버전 정보에 대한 자세한 내용은 NDIS 버전 정보 지정을 참조하세요.

미니포트 드라이버는 성공 또는 실패 상태 반환하여 OID 요청을 동기적으로 완료할 수 있습니다.

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

MiniportOidRequest가 NDIS_STATUS_PENDING 반환하는 경우 NDIS는 보류 중인 요청이 완료될 때까지 어댑터에 대한 다른 요청과 함께 MiniportOidRequest를 호출하지 않습니다.

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