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 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 está disponível quando a função retorna ou é NULL se a função falhar. O chamador deve usar esse identificador para liberar a memória compartilhada que foi alocada com êxito.
Valor de retorno
NdisAllocateSharedMemory pode retornar os seguintes valores de status:
Código de retorno | Descrição |
---|---|
|
A operação foi concluída com êxito. |
|
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. |
Observações
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 de NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS não estiver definido no Flags membro, a memória compartilhada poderá ser especificada em uma lista de coleta de dispersão 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 |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.20 e posterior. |
da Plataforma de Destino | Universal |
cabeçalho | ndis.h (inclua Ndis.h) |
biblioteca | Ndis.lib |
IRQL | PASSIVE_LEVEL |