Função NdisAllocateSharedMemory (ndis.h)
A função NdisAllocateSharedMemory aloca memória compartilhada de um provedor de memória compartilhado.
Sintaxe
NDIS_STATUS NdisAllocateSharedMemory(
[in] NDIS_HANDLE NdisHandle,
[in] PNDIS_SHARED_MEMORY_PARAMETERS SharedMemoryParameters,
[in, out] PNDIS_HANDLE pAllocationHandle
);
Parâmetros
[in] NdisHandle
Um identificador de instância ou driver NDIS que foi obtido durante a inicialização do chamador. Por exemplo, um driver de miniporto pode usar o identificador NDIS obtido do Função NdisMRegisterMiniportDriver ou MiniportInitializeEx . Outros drivers NDIS podem usar os identificadores das seguintes funções:
[in] SharedMemoryParameters
Um ponteiro para um NDIS_SHARED_MEMORY_PARAMETERS estrutura que define os atributos solicitados para a memória compartilhada.
[in, out] pAllocationHandle
Um ponteiro para um local para um identificador que identifica a memória compartilhada que foi alocada. O identificador estará disponível quando a função retornar ou for NULL se a função falhar. O chamador deve usar esse identificador para liberar a memória compartilhada alocada com êxito.
Retornar valor
NdisAllocateSharedMemory pode retornar os seguintes valores de status:
Código de retorno | Descrição |
---|---|
|
A operação foi concluída com sucesso. |
|
A operação falhou porque não havia recursos suficientes para concluir a operação. |
|
A operação falhou devido a um parâmetro de entrada inválido. |
|
A operação falhou por motivos não especificados. |
Comentários
O parâmetro SharedMemoryParameters contém um ponteiro para um NDIS_SHARED_MEMORY_PARAMETERS estrutura que define os atributos solicitados para a memória compartilhada. Se o sinalizador NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS não estiver definido no membro Flags , a memória compartilhada poderá ser especificada em uma lista de dispersão que está contida na memória não contígua.
O NDIS chama a função NetAllocateSharedMemory de um provedor de memória compartilhado do contexto da chamada para NdisAllocateSharedMemory.
O driver deve chamar a função NdisFreeSharedMemory para liberar a memória compartilhada alocada com NdisAllocateSharedMemory.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.20 e posterior. |
Plataforma de Destino | Universal |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | PASSIVE_LEVEL |