Metodo ILockBytes::WriteAt (objidl.h)
Il metodo WriteAt scrive il numero specificato di byte a partire da un offset specificato dall'inizio della matrice di byte.
Sintassi
HRESULT WriteAt(
[in] ULARGE_INTEGER ulOffset,
[in] const void *pv,
[in] ULONG cb,
[out] ULONG *pcbWritten
);
Parametri
[in] ulOffset
Specifica il punto iniziale dall'inizio della matrice di byte per la scrittura dei dati.
[in] pv
Puntatore al buffer contenente i dati da scrivere.
[in] cb
Specifica il numero di byte di dati da tentare di scrivere nella matrice di byte.
[out] pcbWritten
Puntatore a una posizione in cui questo metodo specifica il numero effettivo di byte scritti nella matrice di byte. È possibile impostare questo puntatore su NULL per indicare che non si è interessati a questo valore. In questo caso, questo metodo non fornisce il numero effettivo di byte scritti.
Valore restituito
Questo metodo può restituire uno di questi valori.
Codice restituito | Descrizione |
---|---|
S_OK | Indica che il numero specificato di byte è stato scritto. |
E_FAIL | Si è verificato un errore generale durante l'operazione di scrittura. |
E_PENDING | Solo archiviazione asincrona: parte o tutti i dati da scrivere non sono attualmente disponibili. |
STG_E_ACCESSDENIED | Il chiamante non dispone di autorizzazioni sufficienti per la scrittura di questa matrice di byte. |
STG_E_WRITEFAULT | Il numero di byte da scrivere non equivale al numero di byte effettivamente scritti. |
STG_E_MEDIUMFULL | L'operazione di scrittura non è stata completata perché non è stato lasciato spazio nel dispositivo di archiviazione. Il numero effettivo di byte scritti viene ancora restituito in pcbScritto. |
Commenti
ILockBytes::WriteAt scrive i dati specificati nella posizione specificata nella matrice di byte. Il numero di byte effettivamente scritti deve sempre essere restituito in pcbScritto, anche se viene restituito un errore. Se il conteggio dei byte è zero byte, l'operazione di scrittura non ha alcun effetto.
Se ulOffset supera la fine della matrice di byte e cb è maggiore di zero, ILockBytes::WriteAt aumenta le dimensioni della matrice di byte. I byte di riempimento scritti nella matrice di byte non vengono inizializzati in alcun valore specifico.
Requisiti
Requisito | Valore |
---|---|
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
ILockBytes - Implementazione di File-Based