Compartilhar via


Função NdisAllocateCloneOidRequest (ndis.h)

A função NdisAllocateCloneOidRequest aloca memória para uma nova estrutura NDIS_OID_REQUEST e copia todas as informações de uma estrutura de NDIS_OID_REQUEST existente para a estrutura recém-alocada.

Sintaxe

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

Um identificador NDIS que identifica um módulo de filtro ou uma associação de protocolo de driver intermediário.

OidRequest

Um ponteiro para uma estrutura de NDIS_OID_REQUEST existente da qual o NDIS copia as informações para a estrutura recém-alocada.

[in] PoolTag

Uma marca de pool de kernel. A marca é uma cadeia de caracteres, delimitada por aspas simples, com até quatro caracteres, geralmente especificados em ordem inversa.

ClonedOidRequest

Um ponteiro para um ponteiro para uma estrutura NDIS_OID_REQUEST. Se o NDIS retornar NDIS_STATUS_SUCCESS, o NDIS fornecerá um ponteiro para a nova estrutura de NDIS_OID_REQUEST clonada; caso contrário, o NDIS define o valor do ponteiro como NULL.

Retornar valor

NdisAllocateClonedRequest pode retornar um dos seguintes valores de status:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
O NDIS alocou com êxito uma estrutura de NDIS_OID_REQUEST. O parâmetro CloneRequest contém um ponteiro para a estrutura NDIS_OID_REQUEST.
NDIS_STATUS_INVALID_PARAMETER
A solicitação de alocação falhou porque o identificador NDIS especificado em SourceHandle não é válido.
NDIS_STATUS_RESOURCES
A solicitação de alocação falhou porque o NDIS não tinha recursos suficientes para concluir a solicitação de alocação.
NDIS_STATUS_FAILURE
O driver não conseguiu alocar a estrutura clonada por motivos diferentes daqueles da lista anterior.

Comentários

Para encaminhar uma solicitação para os drivers subjacentes, um driver intermediário do NDIS ou driver de filtro deve chamar NdisAllocateCloneOidRequest para alocar uma estrutura de NDIS_OID_REQUEST clonada. Um driver de filtro ou driver intermediário não deve encaminhar a estrutura de NDIS_OID_REQUEST original para drivers subjacentes.

NdisAllocateCloneOidRequest aloca nova memória e copia os dados de uma estrutura de NDIS_OID_REQUEST existente para a nova estrutura.

O driver deve chamar posteriormente a função NdisFreeCloneOidRequest para liberar a estrutura NDIS_OID_REQUEST.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Área de Trabalho
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL
Regras de conformidade da DDI Irql_OID_Function(ndis)

Confira também

NDIS_OID_REQUEST

NdisFreeCloneOidRequest