2.2.8 SAFEARRAY Feature Constants
The SF_TYPE enumeration values are used in the discriminant field, sfType, of a SAFEARRAYUNION structure.
The SAFEARRAY feature constants are defined in the SF_TYPE enumeration.
-
typedef [v1_enum] enum tagSF_TYPE { SF_ERROR = VT_ERROR, SF_I1 = VT_I1, SF_I2 = VT_I2, SF_I4 = VT_I4, SF_I8 = VT_I8, SF_BSTR = VT_BSTR, SF_UNKNOWN = VT_UNKNOWN, SF_DISPATCH = VT_DISPATCH, SF_VARIANT = VT_VARIANT, SF_RECORD = VT_RECORD, SF_HAVEIID = VT_UNKNOWN | 0x8000 } SF_TYPE;
SF_ERROR: This value means that the SAFEARRAY was incorrectly marshaled. The receiver MUST reject any call that has a SAFEARRAY argument with this flag specified, by raising an RPC_X_BAD_STUB_DATA RPC exception.
-
Hex value is 0x0000000A.
-
Element marshaling size: N/A
SF_I1: The type of the elements contained in the SAFEARRAY MUST be a 1-byte integer.
-
Hex value is 0x00000010.
-
Element marshaling size in bytes: 1
SF_I2: The type of the elements contained in the SAFEARRAY MUST be a 2-byte integer.
-
Hex value is 0x00000002.
-
Element marshaling size in bytes: 2
SF_I4: The type of the elements contained in the SAFEARRAY MUST be a 4-byte integer.
-
Hex value is 0x00000003.
-
Element marshaling size in bytes: 4
SF_I8: The type of the elements contained in the SAFEARRAY MUST be an 8-byte integer.
-
Hex value is 0x00000014.
-
Element marshaling size in bytes: 8
SF_BSTR: The type of the elements contained in the SAFEARRAY MUST be a BSTR.
-
Hex value is 0x00000008.
-
Element marshaling size in bytes: 4
SF_UNKNOWN: The type of the elements contained in the SAFEARRAY MUST be a pointer to IUnknown.
-
Hex value is 0x0000000D.
-
Element marshaling size in bytes: 4
SF_DISPATCH: The type of the elements contained in the SAFEARRAY MUST be a pointer to IDispatch (see section 3.1.4).
-
Hex value is 0x00000009.
-
Element marshaling size in bytes: 4
SF_VARIANT: The type of the elements contained in the SAFEARRAY MUST be VARIANT.
-
Hex value is 0x0000000C.
-
Element marshaling size in bytes: 16
SF_RECORD: The type of the elements contained in the SAFEARRAY is a user-defined type (UDT) (as defined in section 2.2.28.1.
-
Hex value is 0x00000024.
-
Element marshaling size in bytes: 4
SF_HAVEIID: The type of the elements contained in the SAFEARRAY MUST be an MInterfacePointer.
-
Hex value is 0x0000800D.
-
Element marshaling size in bytes: 4