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 especificadas en orden inverso.

ClonedOidRequest

Puntero a un puntero a una estructura de NDIS_OID_REQUEST. Si NDIS devuelve NDIS_STATUS_SUCCESS, NDIS proporciona un puntero a la nueva estructura de NDIS_OID_REQUEST clonada; de lo contrario, NDIS establece el valor de 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 de 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 suficientes recursos 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.

Comentarios

Para reenviar una solicitud a los controladores subyacentes, un controlador intermedio de NDIS o un controlador de filtro debe llamar a NdisAllocateCloneOidRequest para 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.

Posteriormente, el controlador debe llamar a la función NdisFreeCloneOidRequest para liberar la estructura NDIS_OID_REQUEST.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.0 y versiones posteriores.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI Irql_OID_Function(ndis)

Consulte también

NDIS_OID_REQUEST

NdisFreeCloneOidRequest