SPSS Data File Input/Output API, страница 3

SPSS_OPEN_WRMODE           The file was opened for writing

SPSS_INVALID_7SUBTYPE              Parameter subtype not between 1 and SPSS_MAX_7SUBTYPE


int spssGetDEWGUID([1]
    const int handle,
    char* asciiGUID)

Data Entry for Windows maintains a GUID in character form as a uniqueness indicator.  Two files have identical dictionaries and DEW information if they have the same GUID.  Note that the spssOpenWriteCopy function will not copy the source file’s GUID.  spssGetDEWGUID allows the client to read a file’s GUID, if any.  The client supplies a 257 byte string in which the null-terminated GUID is returned.

Parameter                                          Description

handle                     Handle to the data file

asciiGUID                  Returned as the file’s GUID in character form or a null string if the file contains no GUID

The GUID is returned as a null-terminated string in parameter asciiGUID.  If the file does not contain a GUID (and most do not), a null string is returned.  When a null string is returned, the function result will still be SPSS_OK.

Error Code                                         Description

SPSS_OK                    No error

SPSS_INVALID_HANDLE        The file handle is not valid


int spssSetDEWGUID(
    const int handle,
    const char* asciiGUID)

This function stores the Data Entry for Windows uniqueness indicator on the data file.  It should only be used by the DEW product.

Parameter                                          Description

handle                     Handle to the data file

asciiGUID                  The GUID (as a null-terminated string) to be stored on the file

Error Code                                         Description

SPSS_OK                    No error

SPSS_INVALID_HANDLE        The file handle is not valid

SPSS_OPEN_RDMODE           The file is open for input or append

SPSS_DICT_COMMIT           spssCommitHeader has already been called

SPSS_NO_MEMORY             Insufficient memory to store the GUID

Additions since 6.1

Since release 6.1, there have been many changes made to the File I/O API:

·  Two functions were added to correct memory management problems.

·  The calling conventions have been changed to be compatible with Visual Basic clients.

·  SPSS variable names can contain characters from other than the basic 26 letter Roman alphabet. This change is for compatibility with SPSS 7.0 and later.

·  A set of Visual Basic function declarations is supplied.

·  Three functions were added to facilitate usage by Visual Basic clients.

·  Two functions were added to give access to more information about a file.

·  The capability of extending an existing file was added.

·  Three functions were added to provide more flexibility in reading variable and value labels.

·  Two functions were added to support direct access input.

·  Three functions were added in support of multiple response group definitions.

·  Two functions were added to get and set TextSmart information.

·  Six functions were added in support of the new measurement level, column width, and column alignment attributes

·  A function to create a new file with its dictionary initialized from that of an existing file was added.

·  Support for documents was added.

In addition, the distribution materials include a sample application which utilizes the API. Two versions of the application are provided - one written in C++ and one written in Visual Basic

New Calling Conventions

Release 7.5 of the I/O API introduced a change in calling conventions. The changes are restricted to the header file (spssdio.h) which defines the various functions in the API. This header file is included by any C client program, and the customer does not have to take any action other than to recompile any existing code. The specific calling conventions are __pascal for 16 bit programs and __stdcall for 32 bit programs. These calling conventions facilitate the use of the I/O DLL by Visual Basic client programs. They are also compatible with Fortran, although calling the DLL from Fortran is not specifically supported.



[1] Neither spssGetDEWGUID nor spssSetDEWGUID is documented in ioapi.pdf.