SAMPLE: SAFEARAY: Use of Safe Arrays in Automation (131086)



The information in this article applies to:

  • Microsoft OLE Libraries for Windows and Win32s 2.03
  • Microsoft OLE Libraries, when used with:
    • the operating system: Microsoft Windows NT 3.5
    • the operating system: Microsoft Windows NT 3.51
    • the operating system: Microsoft Windows 95

This article was previously published under Q131086

SUMMARY

SAFEARAY is an OLE Automation server application that demonstrates the use of safe arrays.

The following file is available for download from the Microsoft Download Center:
For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.

MORE INFORMATION

SAFEARAY implements the following methods (in addition to the standard application object methods).

SlowSort: Sorts an input safearray of BSTRs and returns the sorted array and the time required for the sort. The array is passed by reference because it needs to be modified by the sort. SlowSort uses SafeArrayGetElement and SafeArrayPutElement to access the array elements.

FastSort: Has the same functionality as SlowSort but uses SafeArrayAccessData to get a pointer to the array elements. This allows array elements to be accessed directly instead of using SafeArrayGetElement and SafeArrayPutElement. This accounts for the speed improvement over SlowSort.

Average: Finds the average of an input safe array of integers. The array is not passed by reference.

GetArray: Creates and returns a safe array of BSTRs.

See the README.TXT included for instructions to compile and run this sample.

Modification Type:MinorLast Reviewed:8/9/2004
Keywords:kbAutomation kbfile kbhowto kbProgramming KB131086 kbAudDeveloper