Función NdisAllocateSharedMemory (ndis.h)
La función NdisAllocateSharedMemory asigna memoria compartida desde un proveedor de memoria compartida.
Sintaxis
NDIS_STATUS NdisAllocateSharedMemory(
[in] NDIS_HANDLE NdisHandle,
[in] PNDIS_SHARED_MEMORY_PARAMETERS SharedMemoryParameters,
[in, out] PNDIS_HANDLE pAllocationHandle
);
Parámetros
[in] NdisHandle
Controlador o controlador NDIS que se obtuvo durante la inicialización del autor de la llamada. Por ejemplo, un controlador de minipuerto puede usar el identificador NDIS que obtuvo del Función NdisMRegisterMiniportDriver o MiniportInitializeEx . Otros controladores NDIS pueden usar los identificadores de las siguientes funciones:
[in] SharedMemoryParameters
Puntero a un NDIS_SHARED_MEMORY_PARAMETERS estructura que define los atributos solicitados para la memoria compartida.
[in, out] pAllocationHandle
Puntero a una ubicación para un identificador que identifica la memoria compartida que se asignó. El identificador está disponible cuando la función devuelve o es NULL si se produce un error en la función. El autor de la llamada debe usar este identificador para liberar la memoria compartida que se asignó correctamente.
Valor devuelto
NdisAllocateSharedMemory puede devolver los siguientes valores de estado:
Código devuelto | Descripción |
---|---|
|
La operación se ha completado correctamente. |
|
Error en la operación porque no había recursos suficientes para completar la operación. |
|
Error en la operación debido a un parámetro de entrada no válido. |
|
Error en la operación por motivos no especificados. |
Comentarios
El parámetro SharedMemoryParameters contiene un puntero a un NDIS_SHARED_MEMORY_PARAMETERS estructura que define los atributos solicitados para la memoria compartida. Si la marca NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS no está establecida en el miembro Flags , la memoria compartida se puede especificar en una lista de recopilación de dispersión contenida en memoria no contigua.
NDIS llama a la función NetAllocateSharedMemory de un proveedor de memoria compartida desde el contexto de la llamada a NdisAllocateSharedMemory.
El controlador debe llamar a la función NdisFreeSharedMemory para liberar la memoria compartida que asigna con NdisAllocateSharedMemory.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con NDIS 6.20 y versiones posteriores. |
Plataforma de destino | Universal |
Encabezado | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | PASSIVE_LEVEL |