Compartir a través de


Función NdisAllocateCloneOidRequest (ndis.h)

La función NdisAllocateCloneOidRequest asigna memoria para una nueva estructura de NDIS_OID_REQUEST y copia toda la información de una estructura de NDIS_OID_REQUEST existente a la estructura recién asignada.

Sintaxis

NDIS_STATUS NdisAllocateCloneOidRequest(
  [in] IN NDIS_HANDLE        SourceHandle,
       IN PNDIS_OID_REQUEST  OidRequest,
  [in] IN UINT               PoolTag,
       OUT PNDIS_OID_REQUEST *ClonedOidRequest
);

Parámetros

[in] SourceHandle

Identificador NDIS que identifica un módulo de filtro o un enlace de protocolo del controlador intermedio.

OidRequest

Puntero a una estructura de NDIS_OID_REQUEST existente desde la que NDIS copia la información en la estructura recién asignada.

[in] PoolTag

Una etiqueta de grupo de kernel. La etiqueta es una cadena, delimitada por comillas simples, con hasta cuatro caracteres, normalmente especificados en orden inverso.

ClonedOidRequest

Puntero a un puntero a una estructura NDIS_OID_REQUEST. Si NDIS devuelve NDIS_STATUS_SUCCESS, NDIS proporciona un puntero a la nueva estructura NDIS_OID_REQUEST clonada; De lo contrario, NDIS establece el valor del puntero en NULL.

Valor devuelto

NdisAllocateClonedRequest puede devolver uno de los siguientes valores de estado:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
NDIS asignó correctamente una estructura NDIS_OID_REQUEST. El parámetro CloneRequest contiene un puntero a la estructura NDIS_OID_REQUEST.
NDIS_STATUS_INVALID_PARAMETER
Error en la solicitud de asignación porque el identificador NDIS especificado en sourceHandle no es válido.
NDIS_STATUS_RESOURCES
Error en la solicitud de asignación porque NDIS no tenía recursos suficientes para completar la solicitud de asignación.
NDIS_STATUS_FAILURE
El controlador no pudo asignar la estructura clonada por motivos distintos de los de la lista anterior.

Observaciones

Para reenviar una solicitud a los controladores subyacentes, un controlador intermedio o controlador de filtro NDIS debe llamar a NdisAllocateCloneOidRequest asignar una estructura de NDIS_OID_REQUEST clonada. Un controlador de filtro o controlador intermedio no debe reenviar la estructura de NDIS_OID_REQUEST original a los controladores subyacentes.

NdisAllocateCloneOidRequest asigna nueva memoria y copia los datos de una estructura de NDIS_OID_REQUEST existente a la nueva estructura.

El controlador debe llamar posteriormente a la función NdisFreeCloneOidRequest para liberar la estructura de NDIS_OID_REQUEST.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y versiones posteriores.
de la plataforma de destino de Escritorio
encabezado de ndis.h (incluya Ndis.h)
biblioteca de Ndis.lib
irQL <= DISPATCH_LEVEL
reglas de cumplimiento de DDI Irql_OID_Function(ndis)

Consulte también

NDIS_OID_REQUEST

NdisFreeCloneOidRequest