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 |