Share via


ILockBytes ::WriteAt, méthode (objidl.h)

La méthode WriteAt écrit le nombre spécifié d’octets en commençant à un décalage spécifié par rapport au début du tableau d’octets.

Syntaxe

HRESULT WriteAt(
  [in]  ULARGE_INTEGER ulOffset,
  [in]  const void     *pv,
  [in]  ULONG          cb,
  [out] ULONG          *pcbWritten
);

Paramètres

[in] ulOffset

Spécifie le point de départ à partir du début du tableau d’octets pour les données à écrire.

[in] pv

Pointeur vers la mémoire tampon contenant les données à écrire.

[in] cb

Spécifie le nombre d’octets de données à tenter d’écrire dans le tableau d’octets.

[out] pcbWritten

Pointeur vers un emplacement où cette méthode spécifie le nombre réel d’octets écrits dans le tableau d’octets. Vous pouvez définir ce pointeur sur NULL pour indiquer que cette valeur ne vous intéresse pas. Dans ce cas, cette méthode ne fournit pas le nombre réel d’octets écrits.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK Indique que le nombre d’octets spécifié a été écrit.
E_FAIL Une défaillance générale s’est produite pendant l’opération d’écriture.
E_PENDING Stockage asynchrone uniquement : une partie ou la totalité des données à écrire ne sont actuellement pas disponibles.
STG_E_ACCESSDENIED L’appelant ne dispose pas des autorisations suffisantes pour écrire ce tableau d’octets.
STG_E_WRITEFAULT Le nombre d’octets à écrire n’est pas égal au nombre d’octets qui ont été réellement écrits.
STG_E_MEDIUMFULL L’opération d’écriture n’a pas été terminée, car il n’y a plus d’espace sur le périphérique de stockage. Le nombre réel d’octets écrits est toujours retourné dans pcbWritten.

Remarques

ILockBytes ::WriteAt écrit les données spécifiées à l’emplacement spécifié dans le tableau d’octets. Le nombre d’octets réellement écrits doit toujours être retourné dans pcbWritten, même si une erreur est retournée. Si le nombre d’octets est égal à zéro octet, l’opération d’écriture n’a aucun effet.

Si ulOffset dépasse la fin du tableau d’octets et que cb est supérieur à zéro, ILockBytes ::WriteAt augmente la taille du tableau d’octets. Les octets de remplissage écrits dans le tableau d’octets ne sont pas initialisés à une valeur particulière.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête objidl.h
Bibliothèque Uuid.lib
DLL Ole32.dll

Voir aussi

ILockBytes - Implémentation File-Based

ILockBytes - Implémentation de la mémoire globale

ILockBytes ::ReadAt

ILockBytes ::SetSize