Поделиться через


Запросы OID драйвера минипорта CoNDIS

NDIS вызывает функцию MiniportCoOidRequest драйвера минипорта CoNDIS, чтобы отправить запрос OID для запроса или задания сведений в драйвере. NDIS вызывает MiniportCoOidRequest либо от своего имени, либо от имени вышестоящей драйвера, который вызвал функцию NdisCoOidRequest .

NDIS передает MiniportCoOidRequest указатель на структуру NDIS_OID_REQUEST , содержащую сведения о запросе. Структура запроса содержит идентификатор OID_Xxx, указывающий тип запроса и другие члены для определения данных запроса.

Элемент Timeout указывает время ожидания запроса в секундах. NDIS может сбросить драйвер или отменить запрос, если истекает время ожидания до того, как драйвер завершит запрос.

Элемент RequestId указывает необязательный идентификатор для запроса. Драйверы мини-порта могут задать для элемента RequestId индикатора состояния значение, полученное драйвером от элемента RequestId связанного запроса OID. Как правило, драйверы мини-порта могут игнорировать этот элемент. Если драйвер должен задать этот элемент, драйвер должен использовать одно из обязательных значений, указанных на странице ссылок для конкретного идентификатора идентификатора. Дополнительные сведения о индикаторах состояния см. в разделе CoNDIS Miniport Driver Status Indications.

Драйвер мини-порта может выполнять запрос OID синхронно, возвращая состояние успеха или сбоя. Драйвер может выполнить запрос OID асинхронно, возвращая NDIS_STATUS_PENDING. В этом случае драйвер должен вызвать функцию NdisMCoOidRequestComplete для завершения операции.

Если функция MiniportCoOidRequest возвращает NDIS_STATUS_PENDING, NDIS может вызвать MiniportCoOidRequest с другим запросом для адаптера до завершения ожидающего запроса. Обратите внимание, что это отличается от интерфейса NDIS без подключения, где все запросы OID сериализуются.

NDIS может вызвать функцию MiniportCancelOidRequest водителя минипорта, чтобы отменить запрос CoNDIS OID.