Condividi tramite


Metodo IStream::SetSize (objidl.h)

Il metodo SetSize modifica le dimensioni dell'oggetto flusso.

Sintassi

HRESULT SetSize(
  [in] ULARGE_INTEGER libNewSize
);

Parametri

[in] libNewSize

Specifica le nuove dimensioni, in byte, del flusso.

Valore restituito

Questo metodo può restituire uno di questi valori.

Codice restituito Descrizione
S_OK La dimensione dell'oggetto flusso è stata modificata correttamente.
E_PENDING Solo archiviazione asincrona: parte o tutti i dati del flusso non sono attualmente disponibili.
STG_E_MEDIUMFULL La dimensione del flusso non viene modificata perché non è disponibile spazio nel dispositivo di archiviazione.
STG_E_INVALIDFUNCTION Il valore del parametro libNewSize non è supportato dall'implementazione. Non tutti i flussi supportano più di 232 byte. Se un flusso non supporta più di 232 byte, il tipo di dati DWORD elevato di libNewSize deve essere zero. Se è diverso da zero, l'implementazione può restituire STG_E_INVALIDFUNCTION. In generale, le implementazioni basate su COM dell'interfaccia IStream non supportano flussi di dimensioni superiori a 232 byte.
STG_E_REVERTED L'oggetto è stato invalidato da un'operazione di ripristino sopra di essa nell'albero delle transazioni.

Commenti

IStream::SetSize modifica le dimensioni dell'oggetto flusso. Chiamare questo metodo per preallocare lo spazio per il flusso. Se il parametro libNewSize è maggiore delle dimensioni correnti del flusso, il flusso viene esteso alla dimensione indicata riempiendo lo spazio intermedio con byte di valore non definito. Questa operazione è simile al metodo ISequentialStream::Write se il puntatore seek supera la fine corrente del flusso.

Se il parametro libNewSize è inferiore al flusso corrente, il flusso viene troncato alla dimensione indicata.

Il puntatore seek non è interessato dalla modifica delle dimensioni del flusso.

La chiamata a IStream::SetSize può essere un modo efficace per ottenere un blocco elevato di spazio contiguo.

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione objidl.h
Libreria Uuid.lib
DLL Ole32.dll

Vedi anche

ISequentialStream::Write

IStream

IStream - Implementazione di file composti