다음을 통해 공유


OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE

NDIS 프로토콜 드라이버는 수신 큐의 현재 일괄 처리에 대한 할당이 완료되었음을 미니포트 드라이버에 알리기 위해 OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE OID(개체 식별자) 메서드 요청을 실행합니다.

NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버에는 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY 구조체에 대한 포인터와 각 큐에 대한 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS 구조가 포함됩니다. OID 메서드 요청에서 성공적으로 반환된 후 NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버에는 동일한 구조체 배열에 대한 포인터가 포함되고 각 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS 구조체의 CompletionStatus 멤버에는 각 큐에 대한 완료 상태 포함됩니다.

설명

OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE OID 메서드 요청은 NDIS 6.20 이상 미니포트 드라이버에 대해 선택 사항입니다. VMQ(가상 머신 큐) 인터페이스를 지원하는 미니포트 드라이버의 경우 필수입니다.

하나 이상의 수신 큐를 할당하고 필요에 따라 초기 필터를 설정한 후 프로토콜 드라이버는 미니포트 드라이버에 현재 수신 큐 일괄 처리에 대한 할당이 완료되었음을 알리기 위해 OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE OID 메서드 요청을 실행해야 합니다. 이렇게 하면 미니포트 드라이버가 여러 수신 큐 간에 하드웨어 리소스의 균형을 맞출 수 있습니다. 필요한 경우 수신 큐에 공유 메모리와 같은 리소스를 할당할 수 있습니다.

미니포트 드라이버가 OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE 요청을 수신하고 큐에 설정된 필터가 있으면 큐가 실행 중 상태가 됩니다. 이 상태에서 미니포트 드라이버는 NdisMIndicateReceiveNetBufferLists를 호출하여 큐의 패킷 표시를 시작할 수 있습니다.

반환 상태 코드

미니포트 드라이버는 OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE OID 메서드 요청에 대해 다음 상태 코드 중 하나를 반환합니다.

상태 코드 Description

NDIS_STATUS_SUCCESS

큐 할당이 완료되었습니다. 정보 버퍼에는 큐 할당에 대한 완료 상태 있는 업데이트된 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY 구조 및 매개 변수 구조가 포함됩니다.

NDIS_STATUS_PENDING

요청이 완료될 때까지 보류 중입니다. 최종 상태 코드 및 결과는 호출자의 OID 요청 완료 처리기에 전달됩니다.

NDIS_STATUS_INVALID_PARAMETER

오버리싱 드라이버가 제공한 매개 변수 중 하나 이상이 잘못되었습니다.

NDIS_STATUS_INVALID_LENGTH

정보 버퍼가 너무 짧습니다. NDIS는 데이터를 설정합니다. METHOD_INFORMATION. 필요한 최소 버퍼 크기에 대한 NDIS_OID_REQUEST 구조체의 BytesNeeded 멤버입니다.

NDIS_STATUS_NOT_SUPPORTED

미니포트 드라이버의 NDIS 버전은 버전 6.20보다 이전 버전입니다.

NDIS_STATUS_FAILURE

다른 이유로 인해 요청이 실패했습니다.

요구 사항

Version

NDIS 6.20 이상에서 지원됩니다.

헤더

Ntddndis.h(Ndis.h 포함)

추가 정보

NdisMIndicateReceiveNetBufferLists

NDIS_OID_REQUEST

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS