다음을 통해 공유


OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE

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

NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버에는 각 큐에 대한 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS 구조 뒤에 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY 구조체에 대한 포인터가 포함됩니다. 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 메서드 요청에 대해 다음 상태 코드 중 하나를 반환합니다.

상태 코드 묘사

NDIS_STATUS_SUCCESS

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

NDIS_STATUS_PENDING

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

NDIS_STATUS_INVALID_PARAMETER

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

NDIS_STATUS_INVALID_LENGTH

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

NDIS_STATUS_NOT_SUPPORTED

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

NDIS_STATUS_FAILURE

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

요구 사항

버전

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

머리글

Ntddndis.h(Ndis.h 포함)

참고 항목

NdisMIndicateReceiveNetBufferLists

NDIS_OID_REQUEST

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS