SAFEARRAY
9/8/2008
Essa estrutura contém uma matriz segura e seus atributos.
Syntax
typedef struct FARSTRUCT tagSAFEARRAY {
unsigned short cDims;
unsigned short fFeatures;
unsigned short cbElements;
unsigned short cLocks;
unsigned long handle;
void HUGEP* pvData;
SAFEARRAYBOUND rgsabound[1];
} SAFEARRAY;
Os membros
- cDims
Contagem de dimensões nessa matriz.
- fFeatures
Sinalizadores usados pelo SafeArray rotinas.
- cbElements
Tamanho de um elemento da matriz. Isso não inclui o tamanho dos dados pointed-to.
- cLocks
Número de vezes a matriz foi bloqueado sem correspondente desbloquear.
- identificador
Unused, mas mantido para compatibilidade.
- pvData
Void ponteiro para os dados.
- rgsabound
Um ligado para cada dimensão.
Remarks
A matriz rgsabound é armazenada com a dimensão left-Most in rgsabound[0] e a dimensão right-Most in rgsabound[cDims 1]. Se uma matriz foi especificado um C - como sintaxe como um [2] [5], ele teria dois elementos in a rgsaboundvetor. Elemento 0 possui um lLbound De 0 e um cElements 2. Elemento 1 possui um lLbound De 0 e um cElements of 5.
O fFeatures Sinalizadores descrevem matriz atributos que podem afetar como a matriz é liberada. Isso permite liberar a matriz sem referência sua variante que contém. Os bits são acessados usando a seguinte constantes.
#define FADF_AUTO 0x0001 // Array is allocated on the stack.
#define FADF_STATIC 0x0002 // Array is statically allocated.
#define FADF_EMBEDDED 0x0004 // Array is embedded in a structure.
#define FADF_FIXEDSIZE 0x0010 // Array may not be resized or
// reallocated.
#define FADF_BSTR 0x0100 // An array of BSTRs.
#define FADF_UNKNOWN 0x0200 // An array of IUnknown*.
#define FADF_DISPATCH 0x0400 // An array of IDispatch*.
#define FADF_VARIANT 0x0800 // An array of VARIANTs.
#define FADF_RESERVED 0xF0E8 // Bits reserved for future use.
Requirements
Header | oaidl.h |
Windows Embedded CE | Windows CE 1.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |