Funzione NdisAllocateCloneOidRequest (ndis.h)

La funzione NdisAllocateCloneOidRequest alloca memoria per una nuova struttura NDIS_OID_REQUEST e copia tutte le informazioni da una struttura NDIS_OID_REQUEST esistente alla struttura appena allocata.

Sintassi

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

Parametri

[in] SourceHandle

Handle NDIS che identifica un modulo di filtro o un'associazione del protocollo di un driver intermedio.

OidRequest

Puntatore a una struttura NDIS_OID_REQUEST esistente da cui NDIS copia le informazioni nella struttura appena allocata.

[in] PoolTag

Tag del pool di kernel. Il tag è una stringa, delimitata da virgolette singole, con un numero massimo di quattro caratteri, in genere specificato in ordine inverso.

ClonedOidRequest

Puntatore a un puntatore a una struttura NDIS_OID_REQUEST. Se NDIS restituisce NDIS_STATUS_SUCCESS, NDIS fornisce un puntatore alla nuova struttura NDIS_OID_REQUEST clonata; in caso contrario, NDIS imposta il valore del puntatore su NULL.

Valore restituito

NdisAllocateClonedRequest può restituire uno dei valori di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
NDIS ha assegnato correttamente una struttura di NDIS_OID_REQUEST. Il parametro CloneRequest contiene un puntatore alla struttura NDIS_OID_REQUEST.
NDIS_STATUS_INVALID_PARAMETER
La richiesta di allocazione non è riuscita perché l'handle NDIS specificato in SourceHandle non è valido.
NDIS_STATUS_RESOURCES
La richiesta di allocazione non è riuscita perché NDIS non disponeva di risorse sufficienti per completare la richiesta di allocazione.
NDIS_STATUS_FAILURE
Il driver non è riuscito ad allocare la struttura clonata per motivi diversi da quelli dell'elenco precedente.

Commenti

Per inoltrare una richiesta fino ai driver sottostanti, un driver intermedio NDIS o un driver di filtro deve chiamare NdisAllocateCloneOidRequest per allocare una struttura di NDIS_OID_REQUEST clonata. Un driver di filtro o un driver intermedio non deve inoltrare la struttura di NDIS_OID_REQUEST originale ai driver sottostanti.

NdisAllocateCloneOidRequest alloca nuova memoria e copia i dati da una struttura NDIS_OID_REQUEST esistente alla nuova struttura.

Il driver deve successivamente chiamare la funzione NdisFreeCloneOidRequest per liberare la struttura NDIS_OID_REQUEST.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Desktop
Intestazione ndis.h (includere Ndis.h)
Libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI Irql_OID_Function(ndis)

Vedi anche

NDIS_OID_REQUEST

NdisFreeCloneOidRequest