Compartir a través de


Función StorPortAllocatePool (storport.h)

La rutina StorPortAllocatePool asigna un bloque de memoria de grupo no contigua y no paginada.

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 pool como una cadena de cuatro caracteres ASCII, delimitados 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.

Comentarios

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

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado storport.h (incluya Storport.h)
IRQL <=DISPATCH_LEVEL
Reglas de cumplimiento de DDI StorPortAllocatePool(storport), StorPortAllocatePool2(storport), StorPortIrql(storport)

Consulte también

StorPortFreePool