Compartir a través de


Método IStream::SetSize (objidl.h)

El método SetSize cambia el tamaño del objeto de secuencia.

Sintaxis

HRESULT SetSize(
  [in] ULARGE_INTEGER libNewSize
);

Parámetros

[in] libNewSize

Especifica el nuevo tamaño, en bytes, de la secuencia.

Valor devuelto

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK El tamaño del objeto de secuencia se cambió correctamente.
E_PENDING Solo almacenamiento asincrónico: la parte o todos los datos de la secuencia no están disponibles actualmente.
STG_E_MEDIUMFULL El tamaño de la secuencia no cambia porque no queda espacio en el dispositivo de almacenamiento.
STG_E_INVALIDFUNCTION La implementación no admite el valor del parámetro libNewSize . No todas las secuencias admiten más de 232 bytes. Si una secuencia no admite más de 232 bytes, el tipo de datos DWORD alto de libNewSize debe ser cero. Si no es cero, la implementación puede devolver STG_E_INVALIDFUNCTION. En general, las implementaciones basadas en COM de la interfaz IStream no admiten secuencias de más de 232 bytes.
STG_E_REVERTED El objeto ha sido invalidado por una operación de reversión encima de él en el árbol de transacciones.

Comentarios

IStream::SetSize cambia el tamaño del objeto de secuencia. Llame a este método para asignar previamente espacio para la secuencia. Si el parámetro libNewSize es mayor que el tamaño de flujo actual, la secuencia se extiende al tamaño indicado rellenando el espacio intermedio con bytes de valor indefinido. Esta operación es similar al método ISequentialStream::Write si el puntero de búsqueda está más allá del final actual de la secuencia.

Si el parámetro libNewSize es menor que el flujo actual, la secuencia se trunca al tamaño indicado.

El puntero de búsqueda no se ve afectado por el cambio en el tamaño de la secuencia.

Llamar a IStream::SetSize puede ser una manera eficaz de obtener un gran fragmento de espacio contiguo.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado objidl.h
Library Uuid.lib
Archivo DLL Ole32.dll

Consulte también

ISequentialStream::Write

Istream

IStream: implementación de archivos compuestos