Compartir a través de


Función StorPortAllocatePool (storport.h)

La rutina StorPortAllocatePool asigna un bloque de memoria del grupo no contiguo y no paginado.

Sintaxis

ULONG StorPortAllocatePool(
  [in]  PVOID HwDeviceExtension,
  [in]  ULONG NumberOfBytes,
  [in]  ULONG Tag,
  [out] PVOID *BufferPointer
);

Parámetros

[in] HwDeviceExtension

Puntero a la extensión de dispositivo de hardware para el adaptador de bus host (HBA).

[in] NumberOfBytes

Tamaño, en bytes, del bloque de memoria que se va a asignar.

[in] Tag

Etiqueta de grupo para la memoria asignada. Los controladores especifican la etiqueta de grupo como una cadena de cuatro caracteres ASCII, delimitadas por comillas simples. Normalmente, la cadena se especifica en orden inverso.

[out] BufferPointer

Puntero a la dirección del bloque de memoria asignado o NULL si no se ejecuta correctamente.

Valor devuelto

StorPortAllocatePool devuelve uno de los siguientes códigos de estado:

Código devuelto Descripción
STOR_STATUS_NOT_IMPLEMENTED Esta función no se implementa en el sistema operativo activo.
STOR_STATUS_SUCCESS Indica que la rutina asignó correctamente un bloque de memoria del tamaño solicitado.
STOR_STATUS_INVALID_PARAMETER El puntero para recibir la dirección del búfer es NULL.
STOR_STATUS_INVALID_IRQL La llamada se realizó en un IRQL no válido.
STOR_STATUS_INSUFFICIENT_RESOURCES No se puede asignar memoria del tamaño solicitado.

Observaciones

Un controlador de miniport llama a la rutina StorPortAllocatePool para asignar un bloque de memoria no contigua desde el grupo no paginado. Para liberar el bloque de memoria, el controlador de miniporta llama a StorPortFreePool. Si se produce un error en la solicitud, BufferPointer se establecerá en NULL.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de storport.h (incluya Storport.h)
irQL <=DISPATCH_LEVEL
reglas de cumplimiento de DDI StorPortAllocatePool(storport), StorPortAllocatePool2(storport), StorPortIrql(storport)

Consulte también

StorPortFreePool