Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Assigne un élément unique dans le tableau.
void PutElement(
long* rgIndices,
void* pvData
);
Paramètres
rgIndices
Pointeur vers un tableau d'index pour chaque dimension du tableau.pvData
Pointeur vers les données à assigner au tableau.VT_DISPATCH, VT_UNKNOWN, et les types variant d' VT_BSTR sont des pointeurs et ne nécessitent pas un autre niveau d'indirection.
Notes
Cette fonction appelle automatiquement les fonctions Windows SafeArrayLock et SafeArrayUnlock avant et après assigner l'élément.Si l'élément de données est une chaîne, un objet, ou une variante, la fonction copie elle correctement, et si l'élément existant est une chaîne, un objet, ou une variante, elle est supprimée correctement.
Notez que vous pouvez avoir plusieurs verrous sur un tableau, vous pouvez mettre des éléments dans un tableau dont le tableau est verrouillée par d'autres opérations.
Sur l'erreur, la fonction lève CMemoryException ou COleException.
Exemple
VARIANT retVariantArray()
{
COleSafeArray saRet;
DWORD numElements[] = {10, 10}; // 10x10
// Create the 2 dimensional safe-array of type VT_R8 with size 10x10
saRet.Create(VT_R8, 2, numElements);
// Initialize safearray with values...
long index[2];
for(index[0] = 0; index[0] < 10; index[0]++)
{
for(index[1] = 0; index[1] < 10; index[1]++)
{
double val = index[0] + index[1]*10;
//populate the safearray elements with double values
saRet.PutElement(index, &val);
}
}
// Return the safe-array encapsulated in a VARIANT...
return saRet.Detach();
}
Configuration requise
Header: afxdisp.h