menu

WPF

  • Code Examples
  • Upgrade Guide
  • User Guide
  • Demos
  • Support
  • Forums
  • Download
Class API - WPF API Reference | Syncfusion

    Show / Hide Table of Contents

    Class API

    Class provide access to STG API functions.

    Inheritance
    System.Object
    API
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Syncfusion.CompoundFile.XlsIO.Native
    Assembly: Syncfusion.XlsIO.Base.dll
    Syntax
    [CLSCompliant(false)]
    public sealed class API

    Methods

    CreateILockBytesOnHGlobal(IntPtr, Boolean, out ILockBytes)

    The CreateILockBytesOnHGlobal function creates a byte array object, using global memory as the physical device, which is intended to be the compound file foundation.

    Declaration
    public static int CreateILockBytesOnHGlobal(IntPtr hGlobal, bool fDeleteOnRelease, out ILockBytes ppLkbyt)
    Parameters
    Type Name Description
    System.IntPtr hGlobal

    The memory handle allocated by the GlobalAlloc function.

    System.Boolean fDeleteOnRelease

    A flag that specifies whether the underlying handle for this byte array object should be automatically freed when the object is released.

    ILockBytes ppLkbyt

    The address of ILockBytes pointer variable that receives the interface pointer to the new byte array object.

    Returns
    Type Description
    System.Int32

    S_OK - The byte array object was created successfully.

    GlobalAlloc(API.GlobalAllocFlags, Int32)

    The GlobalAlloc function allocates the specified number of bytes from the heap. Windows memory management does not provide a separate local heap and global heap.

    Declaration
    public static IntPtr GlobalAlloc(API.GlobalAllocFlags flags, int size)
    Parameters
    Type Name Description
    API.GlobalAllocFlags flags

    Memory allocation attributes.

    System.Int32 size

    Number of bytes to allocate.

    Returns
    Type Description
    System.IntPtr

    If the function succeeds, the return value is a handle to the newly allocated memory object. If the function fails, the return value is NULL. To get extended error information, call GetLastError.

    GlobalFree(IntPtr)

    Declaration
    public static IntPtr GlobalFree(IntPtr hMem)
    Parameters
    Type Name Description
    System.IntPtr hMem
    Returns
    Type
    System.IntPtr

    GlobalReAlloc(IntPtr, Int32, API.GlobalAllocFlags)

    Declaration
    public static IntPtr GlobalReAlloc(IntPtr hMem, int bytes, API.GlobalAllocFlags flags)
    Parameters
    Type Name Description
    System.IntPtr hMem
    System.Int32 bytes
    API.GlobalAllocFlags flags
    Returns
    Type
    System.IntPtr

    StgCreateDocfile(String, STGM, UInt32, out IStorage)

    StgCreateDocfile creates a new compound file storage object using the COM-provided compound file implementation for the IStorage interface.

    Declaration
    public static int StgCreateDocfile(string pwcsName, STGM grfMode, uint reserved, out IStorage ppstgOpen)
    Parameters
    Type Name Description
    System.String pwcsName

    [in] Pointer to a NULL-terminated Unicode string name for the compound file being created. It is passed uninterpreted to the file system. This can be a relative name or NULL. If NULL, a temporary compound file is allocated with a unique name.

    STGM grfMode

    [in] Specifies the access mode to use when opening the new storage object. For more information, see the STGM enumeration. If the caller specifies transacted mode together with STGM_CREATE or STGM_CONVERT, the overwrite or conversion takes place when the commit operation is called for the root storage. If IStorage::Commit is not called for the root storage object, previous contents of the file will be restored. STGM_CREATE and STGM_CONVERT cannot be combined with the STGM_NOSNAPSHOT flag, because a snapshot copy is required when a file is overwritten or converted in the transacted mode.

    System.UInt32 reserved

    [in] Reserved for future use; must be zero.

    IStorage ppstgOpen

    [out] Pointer to the location of the IStorage pointer to the new storage object.

    Returns
    Type Description
    System.Int32

    S_OK - Indicates that the compound file was successfully created. STG_E_ACCESSDENIED - Access denied because the caller does not have enough permissions or another caller has the file open and locked. STG_E_FILEALREADYEXISTS Indicates that the compound file already exists and grfMode is set to STGM_FAILIFTHERE. STG_E_INSUFFICIENTMEMORY Indicates that the compound file was not created due to inadequate memory. STG_E_INVALIDFLAG Indicates a non-valid flag combination in the grfMode parameter. STG_E_INVALIDNAME Indicates a non-valid name in the pwcsName parameter. STG_E_INVALIDPOINTER Indicates a non-valid pointer in the pwcsName parameter or the ppStgOpen parameter. STG_E_LOCKVIOLATION Access denied because another caller has the file open and locked. STG_E_SHAREVIOLATION Access denied because another caller has the file open and locked. STG_E_TOOMANYOPENFILES Indicates that the compound file was not created due to a lack of file handles. STG_S_CONVERTED Indicates that the specified file was successfully converted to storage format.

    StgCreateDocfileOnILockBytes(ILockBytes, STGM, Int32, out IStorage)

    The StgCreateDocfileOnILockBytes function creates and opens a new compound file storage object on top of a byte-array object provided by the caller.

    Declaration
    public static int StgCreateDocfileOnILockBytes(ILockBytes plkbyt, STGM grfMode, int reserved, out IStorage ppstgOpen)
    Parameters
    Type Name Description
    ILockBytes plkbyt

    A pointer to the ILockBytes interface on the underlying byte-array object on which to create a compound file.

    STGM grfMode

    Specifies the access mode to use when opening the new compound file. For more information, see STGM Constants.

    System.Int32 reserved

    Reserved for future use; must be zero.

    IStorage ppstgOpen

    A pointer to the location of the IStorage pointer on the new storage object.

    Returns
    Type Description
    System.Int32

    S_OK - Indicates that the compound file was successfully created. Otherwise error code.

    StgCreatePropSetStg(IStorage, UInt32, out IPropertySetStorage)

    The StgCreatePropSetStg function creates a property set storage object from a specified storage object.

    Declaration
    public static int StgCreatePropSetStg(IStorage pStorage, uint dwReserved, out IPropertySetStorage ppPropSetStg)
    Parameters
    Type Name Description
    IStorage pStorage

    Pointer to the storage object that contains or is to contain one or more property sets.

    System.UInt32 dwReserved

    Reserved for future use; must be zero.

    IPropertySetStorage ppPropSetStg

    Pointer to IPropertySetStorage* pointer variable that receives the interface pointer to the property-set storage object.

    Returns
    Type Description
    System.Int32

    S_OK - The property set storage object was successfully created.

    StgCreatePropSetStgOle(IStorage, UInt32, out IPropertySetStorage)

    The StgCreatePropSetStg function creates a property set storage object from a specified storage object.

    Declaration
    public static int StgCreatePropSetStgOle(IStorage pStorage, uint dwReserved, out IPropertySetStorage ppPropSetStg)
    Parameters
    Type Name Description
    IStorage pStorage

    Pointer to the storage object that contains or is to contain one or more property sets.

    System.UInt32 dwReserved

    Reserved for future use; must be zero.

    IPropertySetStorage ppPropSetStg

    Pointer to IPropertySetStorage* pointer variable that receives the interface pointer to the property-set storage object.

    Returns
    Type Description
    System.Int32

    S_OK - The property set storage object was successfully created.

    StgOpenStorage(String, IntPtr, STGM, IntPtr, UInt32, out IStorage)

    StgOpenStorage opens an existing root storage object in the file system. You can use this function to open compound files but you cannot use it to open directories, files, or summary catalogs. Nested storage objects can only be opened using their parents' IStorage::OpenStorage method.

    Declaration
    public static int StgOpenStorage(string wcsName, IntPtr stgPriority, STGM grfMode, IntPtr snbExclude, uint reserved, out IStorage storage)
    Parameters
    Type Name Description
    System.String wcsName

    [in] Pointer to the path of the NULL-terminated Unicode string file containing the storage object to open. This parameter is ignored if the pstgPriority parameter is not NULL.

    System.IntPtr stgPriority

    Most often NULL. If not NULL, this parameter is used instead of the pwcsName parameter to specify the pointer to the IStorage interface on the storage object to open. It points to a previous opening of a root storage object, most often one that was opened in priority mode. After the StgOpenStorage function returns, the storage object specified in the pstgPriority parameter on function entry is not valid and can no longer be used. Instead, use the storage object specified in the ppStgOpen parameter.

    STGM grfMode

    Specifies the access mode to use to open the storage object.

    System.IntPtr snbExclude

    If not NULL, pointer to a block of elements in the storage that are to be excluded as the storage object is opened. The exclusion occurs regardless of whether a snapshot copy happens on the open. May be NULL.

    System.UInt32 reserved

    Indicates reserved for future use; must be zero.

    IStorage storage

    [out] Pointer IStorage* pointer variable that receives the interface pointer to the opened storage.

    Returns
    Type Description
    System.Int32

    S_OK Indicates that the storage object was successfully opened. STG_E_FILENOTFOUND Indicates that the specified file does not exist. STG_E_ACCESSDENIED Access denied because the caller does not have enough permissions, or another caller has the file open and locked. STG_E_LOCKVIOLATION Access denied because another caller has the file open and locked. STG_E_SHAREVIOLATION Access denied because another caller has the file open and locked. STG_E_FILEALREADYEXISTS Indicates that the file exists but is not a storage object. STG_E_TOOMANYOPENFILES Indicates that the storage object was not opened because there are too many open files. STG_E_INSUFFICIENTMEMORY Indicates that the storage object was not opened due to inadequate memory. STG_E_INVALIDNAME Indicates a non-valid name in the pwcsName parameter. STG_E_INVALIDPOINTER Indicates a non-valid pointer in one of the parameters: snbExclude, pwcsName, pstgPriority, or ppStgOpen. STG_E_INVALIDFLAG Indicates a non-valid flag combination in the grfMode parameter. STG_E_INVALIDFUNCTION Indicates STGM_DELETEONRELEASE specified in the grfMode parameter. STG_E_OLDFORMAT Indicates that the storage object being opened was created by the Beta 1 storage provider. This format is no longer supported. STG_E_NOTSIMPLEFORMAT Indicates that the STGM_SIMPLE flag was specified in the grfMode parameter and the storage object being opened was not written in simple mode. STG_E_OLDDLL The DLL being used to open this storage object is a version of the DLL that is older than the one used to create it. STG_E_PATHNOTFOUND Specified path does not exist. STG_E_SHAREVIOLATION Access denied because another caller has the file open and locked.

    StgOpenStorageEx(String, STGM, STGFMT, UInt32, IntPtr, IntPtr, ref Guid, out IStorage)

    Opens an existing root storage object in the file system. You can use this function to open compound files and regular files. To create a new file, use the StgCreateStorageEx function.

    Declaration
    public static int StgOpenStorageEx(string pwcsName, STGM grfMode, STGFMT stgfmt, uint grfAttrs, IntPtr stgOptions, IntPtr reserved2, ref Guid riid, out IStorage ppObjectOpen)
    Parameters
    Type Name Description
    System.String pwcsName

    [in] Pointer to the path of the NULL-terminated Unicode string file containing the storage object. This string size must not exceed MAX_PATH characters.

    STGM grfMode

    [in] Specifies the access mode to open the new storage object. For more information, see the STGM enumeration. If the caller specifies transacted mode together with STGM_CREATE or STGM_CONVERT, the overwrite or conversion takes place when the commit operation is called for the root storage. If IStorage::Commit is not called for the root storage object, previous contents of the file will be restored. STGM_CREATE and STGM_CONVERT cannot be combined with the STGM_NOSNAPSHOT flag, because a snapshot copy is required when a file is overwritten or converted in the transacted mode.

    STGFMT stgfmt

    [in] Specifies the storage file format. For more information, see the STGFMT enumeration.

    System.UInt32 grfAttrs

    [in] Depends on the value of the stgfmt parameter. STGFMT_DOCFILE should be zero (0) or FILE_FLAG_NO_BUFFERING.

    System.IntPtr stgOptions

    [in, out] Pointer to a STGOPTIONS structure that contains information about the storage object being opened. The pStgOptions parameter is valid only if the stgfmt parameter is set to STGFMT_DOCFILE.

    System.IntPtr reserved2

    [in] Reserved for future use; must be zero.

    System.Guid riid

    [in] Specifies the Guid of the interface pointer to return.

    IStorage ppObjectOpen

    [out] Address of an interface pointer variable that receives a pointer for an interface on the storage object being opened; contains NULL if operation failed.

    Returns
    Type Description
    System.Int32

    S_OK Indicates that the storage object was successfully opened. STG_E_INVALIDPOINTER Indicates a non-valid pointer in the ppObjectOpen parameter. STG_E_INVALIDPARAMETER Indicates a non-valid value for the grfAttrs, reserved1, reserved2, grfMode, or stgfmt parameters. Can occur if the FILE_FLAG_NO_BUFFERING flag is specified for grfAttrs but the sector size of the file is not an integer multiple of the underlying disk's sector size. E_NOINTERFACE Indicates that the specified interface is not supported. STG_E_INVALIDFLAG Indicates a non-valid flag combination in the grfMode pointer (includes both STGM_DELETEONRELEASE and STGM_CONVERT flags). STG_E_INVALIDNAME Indicates a non-valid name in the pwcsName parameter. STG_E_INVALIDFUNCTION Indicates that the grfMode is set to STGM_DELETEONRELEASE. STG_E_LOCKVIOLATION Access denied because another caller has the file open and locked. STG_E_SHAREVIOLATION Access denied because another caller has the file open and locked. STG_E_UNIMPLEMENTEDFUNCTION Indicates that the StgOpenStorageEx function is not implemented by the operating system. In this case, use the StgOpenStorage function instead. STG_E_INCOMPLETE Indicates that the file could not be opened because it is on a high-latency device. This can only occur if the parameter is IID_IPropertySetStorage, and the stgfmt parameter is STGFMT_FILE. STG_E_ACCESSDENIED Indicates that the file could not be opened because the underlying storage device does not allow such access to the current user. When opening the storage object in transacted mode (STGM_TRANSACTED), this error may also indicate that a temporary file could not be created in the temporary directory as specified by the GetTempPath function. The GetTempPath function retrieves the path of the directory designated for temporary files.

    StgOpenStorageOnILockBytes(ILockBytes, IStorage, STGM, Int32, Int32, out IStorage)

    The StgOpenStorageOnILockBytes function opens an existing storage object that does not reside in a disk file, but instead has an underlying byte array provided by the caller.

    Declaration
    public static int StgOpenStorageOnILockBytes(ILockBytes plkbyt, IStorage pStgPriority, STGM grfMode, int snbExclude, int reserved, out IStorage ppstgOpen)
    Parameters
    Type Name Description
    ILockBytes plkbyt

    ILockBytes pointer to the underlying byte array object that contains the storage object to be opened.

    IStorage pStgPriority

    Most often NULL. If not NULL, this parameter is used instead of the plkbyt parameter to specify the storage object to open. In this case, it points to the IStorage interface on a previously opened root storage object, most often one that was opened in priority mode.

    STGM grfMode

    Specifies the access mode to use to open the storage object.

    System.Int32 snbExclude

    Can be NULL. If not NULL, this parameter points to a block of elements in this storage that are to be excluded as the storage object is opened. This exclusion occurs independently of whether a snapshot copy happens on the open.

    System.Int32 reserved

    Indicates reserved for future use; must be zero.

    IStorage ppstgOpen

    Points to the location of an IStorage pointer to the opened storage on successful return.

    Returns
    Type Description
    System.Int32

    S_OK - The storage object was successfully opened. Otherwise error code.

    Back to top Generated by DocFX
    Copyright © 2001 - 2025 Syncfusion Inc. All Rights Reserved