PRB: IApcStorage, IApcStream, and IApcGlobal Interfaces Only Works in Visual Basic (244317)



The information in this article applies to:

  • Microsoft Visual Basic for Applications (VBA) Software Development Kit (SDK) 6.0
  • Microsoft Visual Basic for Applications (VBA) Software Development Kit (SDK) 6.1

This article was previously published under Q244317

SYMPTOMS

When integrating Microsoft Visual Basic Applications (VBA) into applications written in languages other than Visual Basic, developers may receive errors such as APC_E_NOPERMISSION when calling methods on the IApcStorage, IApcStream, and IApcGlobal interfaces.

CAUSE

The IApcStorage, IApcStream, and IApcGlobal interfaces were developed for use within Visual Basic only. Visual Basic is currently unable to use the standard Structured Storage interfaces that VBA uses to load and save projects. The IApcStorage, IApcStream, and IApcGlobal interfaces provide automation capable wrappers so that VBA can be integrated into Visual Basic Applications.

RESOLUTION

For non-Visual Basic applications, the IPersistStorage and IPersistStream interfaces should be used instead of IApcStorage and IApcStream. The IApcGlobal interface wraps standard COM API's that should be used instead of IApcGlobal in non Visual Basic Applications.

STATUS

This behavior is by design.

Modification Type:MajorLast Reviewed:11/3/1999
Keywords:kbprb KB244317