다음을 통해 공유


CoNDIS MCM OID 요청

다른 CoNDIS 호출 관리자와 마찬가지로 MCM(미니포트 호출 관리자)은 CoNDIS 클라이언트 드라이버의 운영 매개 변수를 쿼리하거나 설정할 수 있습니다. CoNDIS 클라이언트 드라이버는 MCM의 호출 관리자 매개 변수 또는 미니포트 드라이버 매개 변수를 쿼리하거나 설정할 수 있습니다.

CoNDIS 클라이언트 드라이버에 대한 OID 요청을 시작하려면 MCM이 NdisMCmOidRequest 함수를 호출합니다.

다음 그림에서는 MCM이 시작된 OID 요청을 보여 줍니다.

mcm이 시작된 oid 요청을 보여 주는 다이어그램

MCM 드라이버가 NdisMCmOidRequest 함수를 호출한 후 NDIS는 클라이언트 드라이버의 ProtocolCoOidRequest 함수를 호출합니다.

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

NdisMCmOidRequest가 NDIS_STATUS_PENDING 반환하는 경우 NDIS는 클라이언트 드라이버가 NdisCoOidRequestComplete 함수를 호출하여 OID 요청을 완료한 후 MCM의 ProtocolCoOidRequestComplete 함수를 호출합니다. 이 경우 NDIS는 ProtocolCoOidRequestCompleteOidRequest 매개 변수에서 요청 결과를 전달합니다. NDIS는 ProtocolCoOidRequestCompleteStatus 매개 변수에서 요청의 최종 상태 전달합니다.

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

CoNDIS 클라이언트 드라이버는 MCM의 호출 관리자 운영 매개 변수 또는 미니포트 운영 매개 변수를 쿼리하거나 설정할 수 있습니다. MCM 호출 관리자 매개 변수에 대한 OID 요청을 시작하려면 클라이언트가 NdisCoOidRequest 함수를 호출하고 NdisAfHandle 매개 변수에서 유효한 AF(주소 패밀리) 핸들을 제공합니다. MCM 미니포트 매개 변수에 대한 OID 요청을 시작하려면 클라이언트가 NdisCoOidRequest 함수를 호출하고 AF 핸들을 NULL로 설정합니다.

클라이언트가 NdisCoOidRequest 함수를 호출한 후 NDIS는 MCM 드라이버의 MiniportCoOidRequest 함수 또는 ProtocolCoOidRequest 함수를 호출합니다.

다음 그림에서는 MCM의 미니포트 매개 변수에 대한 OID 요청을 보여 줍니다.

mcm의 미니포트 매개 변수에 대한 oid 요청을 보여 주는 다이어그램

다음 그림에서는 MCM의 호출 관리자 매개 변수에 대한 OID 요청을 보여 줍니다.

mcm의 호출 관리자 매개 변수에 대한 oid 요청을 보여 주는 다이어그램

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

ProtocolCoOidRequest 또는 MininportCoOidRequest가 NDIS_STATUS_PENDING 반환하는 경우 NDIS는 MCM이 NdisMCoOidRequestComplete 또는 NdisMCmOidRequestComplete 함수를 호출하여 OID 요청을 완료한 후 클라이언트의 ProtocolCoOidRequestComplete 함수를 호출합니다. 이 경우 NDIS는 ProtocolCoOidRequestCompleteOidRequest 매개 변수에서 요청 결과를 전달합니다. NDIS는 ProtocolCoOidRequestCompleteStatus 매개 변수에서 요청의 최종 상태 전달합니다.

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