IAccessor::GetBindings

Returns the bindings in an accessor.

HRESULT GetBindings (
   HACCESSOR               hAccessor,
   DBACCESSORFLAGS *   pdwAccessorFlags,
   ULONG *                     pcBindings,
   DBBINDING **               prgBindings);

Parameters

hAccessor

[in]
The handle of the accessor for which to return the bindings.

pdwAccessorFlags

[out]
A pointer to memory in which to return a bitmask that describes the properties of the accessor and how it is intended to be used. For more information, see dwAccessorFlags in CreateAccessor. If this method fails, *pdwAccessorFlags is set to DBACCESSOR_INVALID.

pcBindings

[out]
A pointer to memory in which to return the number of bindings in the accessor. If this method fails, *pcBindings is set to zero.

prgBindings

[out]
A pointer to memory in which to return an array of DBBINDING structures. One DBBINDING structure is returned for each binding in the accessor. The provider allocates memory for these structures and any structures pointed to by elements of these structures; for example, if pObject in a binding structure is not a null pointer, the provider allocates a DBOBJECT structure for return to the consumer. The provider returns the address to the memory for these structures; the consumer releases the memory for these structures with IMalloc::Free when it no longer needs the bindings. If *pcBindings is zero on output or the method fails, the provider does not allocate any memory and ensures that *prgBindings is a null pointer on output. For information about bindings, see "DBBINDING Structures" in chapter 6.

Return Code

S_OK
The method succeeded.

E_FAIL
A provider-specific error occurred.

E_INVALIDARG
pdwAccessorFlags, pcBindings, or prgBindings was a null pointer.

E_OUTOFMEMORY
The provider was unable to allocate sufficient memory in which to return the binding structures.

E_UNEXPECTED
ITransaction::Commit or ITransaction::Abort was called and the object is in a zombie state. This error can be returned only when the method is called on a rowset.

DB_E_BADACCESSORHANDLE
hAccessor was invalid.

DB_E_NOTREENTRANT
The provider called a method from IRowsetNotify in the consumer and the method has not yet returned.

Comments

This method makes no logical change to the state of the object.

If the accessor is a null accessor, then the method sets *pcBindings to zero and *prgBindings to a null pointer.

See Also

IAccessor::CreateAccessor