|
|
|
IRecordInfo Interface |
|
IID_IRecordInfo |
{0000002F-0000-0000-C000-000000000046} |
|
IRecordInfo describes the structure of a particular UDT. You can use IRecordInfo any time you need to access the description of UDTs contained in type libraries. IRecordInfo can be reused as needed; there can be many instances of the UDT for a single IRecordInfo pointer.
You only need to use IRecordInfo to pass a UDT by reference that is stored in a VARIANT. If the UDT is not stored in a VARIANT you can pass a pointer to the UDT because an IRecordInfo pointer can be retrieved from the UDT type description.
IRecordInfo is used to get the amount of storage needed for a UDT, clear the storage for a UDT, copy or access the fields in a UDT. However, the layout of a UDT is the same as the layout of structures in C++, therefore you may not have to use IRecordInfo for clearing, copying and accessing the fields of the storage.
|
|
Methods in VTable order |
|
|
IUnknown Methods |
Description |
|
QueryInterface |
Returns pointers to supported interfaces. |
|
AddRef |
Increments reference count. |
|
Release |
Decrements reference count. |
|
IRecordInfo Methods |
Description |
|
RecordInit |
Initializes a new instance of a record. |
|
RecordClear |
Releases object references and other values of a record without deallocating the record. |
|
RecordCopy |
Copies an existing record into the passed in buffer. |
|
GetGuid |
Gets the GUID of the record type. |
|
GetName |
Gets the name of the record type. |
|
GetSize |
Gets the size of the record instance. |
|
GetTypeInfo |
Gets the TypeInfo that describes the record. |
|
GetField |
Returns a pointer to the value of a given field name. |
|
GetFieldNoCopy |
Returns a pointer to the value of a given field name without copying the value and allocating resources. |
|
PutField |
Puts a variant into a field. |
|
PutFieldNoCopy |
Passes ownership of those resources to the assigned field by placing the actual resources into the field. |
|
GetFieldNames |
Gets the names of the fields of the record. |
|
IsMatchingType |
Determines if the record that is passed in matches that of the current record information. |
|
RecordCreate |
Allocates memory for a new record, initializes the instance and returns a pointer to the record. |
|
RecordCreateCopy |
Creates a copy of an instance of a record to the specified location. |
|
RecordDestroy |
Releases the resources and deallocates the memory of the record. |
|
RecordInit |
|
FUNCTION IRecordInfo_RecordInit ( _ BYVAL pthis AS DWORD PTR _ , BYREF pvNew AS DWORD _ ) AS LONG
|
|
RecordClear |
|
FUNCTION IRecordInfo_RecordClear ( _ BYVAL pthis AS DWORD PTR _ , BYVAL pvExisting AS DWORD _ ) AS
LONG
|
|
RecordCopy |
|
FUNCTION IRecordInfo_RecordCopy ( _ BYVAL pthis AS DWORD PTR _ , BYVAL pvExisting AS DWORD _ , BYREF pvNew AS DWORD _ )
AS LONG
|
|
GetGuid |
|
FUNCTION IRecordInfo_GetGuid ( _ BYVAL pthis AS DWORD PTR _ , BYREF pguid AS GUID _ ) AS LONG
|
|
GetName |
|
FUNCTION IRecordInfo_GetName ( _ BYVAL pthis AS DWORD PTR _ , BYREF bstrName AS STRING _ ) AS
LONG strName =
ACODE$(strName)
|
|
GetSize |
|
FUNCTION IRecordInfo_GetSize ( _ BYVAL pthis AS DWORD PTR _ , BYREF pcbSize AS DWORD _ ) AS LONG
|
|
GetTypeInfo |
|
FUNCTION IRecordInfo_GetTypeInfo ( _ BYVAL pthis AS DWORD PTR _ , BYREF ppTypeInfo AS DWORD _ ) AS
LONG
|
|
GetField |
|
FUNCTION IRecordInfo_GetField ( _ BYVAL pthis AS DWORD PTR _ , BYVAL pvData AS DWORD _ , BYVAL strFieldName AS STRING _ , BYREF pvarField AS VARIANT _
)
AS LONG
|
|
GetFieldNoCopy |
|
FUNCTION IRecordInfo_GetFieldNoCopy ( _ BYVAL pthis AS DWORD PTR _ , BYVAL pvData AS DWORD _ , BYVAL strFieldName AS STRING _ , BYREF pvarField AS VARIANT _ , BYREF ppvDataCArray AS DWORD _ ) AS LONG
|
|
PutField |
|
FUNCTION IRecordInfo_PutField ( _ BYVAL pthis AS DWORD PTR _ , BYVAL wFlags AS DWORD _ , BYREF pvData AS DWORD _ , BYVAL strFieldName AS STRING _ , BYVAL pvarField AS VARIANT _
)
AS LONG
|
|
PutFieldNoCopy |
|
FUNCTION IRecordInfo_PutFieldNoCopy ( _ BYVAL pthis AS DWORD PTR _ , BYVAL wFlags AS DWORD _ , BYREF pvData AS DWORD - , BYVAL strFieldName AS STRING _ , BYVAL pvarField AS VARIANT _ )
AS LONG
|
|
GetFieldNames |
|
FUNCTION IRecordInfo_GetFieldNames ( _ BYVAL pthis AS DWORD PTR _ , BYREF pcNames AS DWORD _ , BYVAL rgbstrNames AS DWORD _ ) AS
LONG
|
|
IsMatchingType |
|
FUNCTION IRecordInfo_IsMatchingType ( _ BYVAL pthis AS DWORD PTR _ , BYVAL pRecordInfo AS DWORD _ ) AS
LONG
|
|
RecordCreate |
|
FUNCTION IRecordInfo_RecordCreate ( _ BYVAL pthis AS DWORD PTR _ ) AS LONG
|
|
RecordCreateCopy |
|
FUNCTION IRecordInfo_RecordCreateCopy ( _ BYVAL pthis AS DWORD PTR _ , BYVAL pvSource AS DWORD _ , BYREF ppvDest AS DWORD _ ) AS LONG
|
|
RecordDestroy |
|
FUNCTION IRecordInfo_RecordDestroy ( _ BYVAL pthis AS DWORD PTR _ , BYVAL pvRecord AS DWORD _ ) AS
LONG
|
Page last updated on Monday, 27 March 2006 12:51:43 +0100