Функция NdisAllocateCloneOidRequest (ndis.h)
Функция NdisAllocateCloneOidRequest выделяет память для новой структуры NDIS_OID_REQUEST и копирует всю информацию из существующей структуры NDIS_OID_REQUEST в только что выделенную структуру.
Синтаксис
NDIS_STATUS NdisAllocateCloneOidRequest(
[in] IN NDIS_HANDLE SourceHandle,
IN PNDIS_OID_REQUEST OidRequest,
[in] IN UINT PoolTag,
OUT PNDIS_OID_REQUEST *ClonedOidRequest
);
Параметры
[in] SourceHandle
Дескриптор NDIS, идентифицирующий модуль фильтра или привязку протокола промежуточного драйвера.
OidRequest
Указатель на существующую структуру NDIS_OID_REQUEST , из которой NDIS копирует сведения в только что выделенную структуру.
[in] PoolTag
Тег пула ядра. Тег представляет собой строку, разделенную одними кавычками, с четырьмя символами, обычно указанными в обратном порядке.
ClonedOidRequest
Указатель на указатель на структуру NDIS_OID_REQUEST. Если NDIS возвращает NDIS_STATUS_SUCCESS, NDIS предоставляет указатель на новую, клонированную NDIS_OID_REQUEST структуру; В противном случае NDIS задает для указателя значение NULL.
Возвращаемое значение
NdisAllocateClonedRequest может возвращать одно из следующих значений состояния:
Код возврата | Описание |
---|---|
|
NDIS успешно выделил структуру NDIS_OID_REQUEST. Параметр CloneRequest содержит указатель на структуру NDIS_OID_REQUEST. |
|
Сбой запроса на выделение, так как дескриптор NDIS, указанный в SourceHandle , недопустим. |
|
Запрос на выделение завершился сбоем, так как у NDIS не было достаточно ресурсов для выполнения запроса на выделение. |
|
Драйверу не удалось выделить клонированную структуру по причинам, не указанным в предыдущем списке. |
Комментарии
Чтобы перенаправлять запрос базовым драйверам, промежуточный драйвер NDIS или драйвер фильтра должен вызвать NdisAllocateCloneOidRequest , чтобы выделить клонированную структуру NDIS_OID_REQUEST . Драйвер фильтра или промежуточный драйвер не должны пересылать исходную структуру NDIS_OID_REQUEST базовым драйверам.
NdisAllocateCloneOidRequest выделяет новую память и копирует данные из существующей структуры NDIS_OID_REQUEST в новую структуру.
Драйвер должен впоследствии вызвать функцию NdisFreeCloneOidRequest , чтобы освободить структуру NDIS_OID_REQUEST.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | Irql_OID_Function(ndis) |