DMUS_OBJECTDESC

This structure is used to describe a DirectMusic object. It is passed to the IDirectMusicLoader::GetObject method to identify the object that the loader should retrieve from storage. Information about an object is retrieved in this structure by the IDirectMusicLoader::EnumObject and IDirectMusicObject::GetDescriptor methods.

typedef struct _DMUS_OBJECTDESC {
  DWORD dwSize;
  DWORD dwValidData;
  GUID guidObject;
  GUID guidClass;
  FILETIME ftDate;
  DMUS_VERSION vVersion;
  WCHAR wszName[DMUS_MAX_NAME];
  WCHAR wszCategory[DMUS_MAX_CATEGORY];
  WCHAR wszFileName[DMUS_MAX_FILENAME];
  LONGLONG llMemLength;
  PBYTE pbMemData;
} DMUS_OBJECTDESC, *LPDMUS_OBJECTDESC;

Members

  • dwSize
    Size of the structure, in bytes. This member must be initialized to sizeof(DMUS_OBJECTDESC) before the structure is passed to any method.

  • dwValidData
    Flags describing which members are valid and giving further information about some members. The following values are defined.

    Value Description
    DMUS_OBJ_OBJECT The guidObject member is valid.
    DMUS_OBJ_CLASS The guidClass member is valid.
    DMUS_OBJ_NAME The wszName member is valid.
    DMUS_OBJ_CATEGORY The wszCategory member is valid.
    DMUS_OBJ_FILENAME The wszFileName member is valid.
    DMUS_OBJ_FULLPATH The wszFileName member contains the full path. If this flag is set, the loader assumes that wszFileName is valid even if DMUS_OBJ_FILENAME has not been set.
    DMUS_OBJ_MEMORY The object is in memory, and llMemLength and pbMemData are valid.
    DMUS_OBJ_URL The wszFileName member contains a URL. URLs are not currently supported by the DirectMusic loader.
    DMUS_OBJ_VERSION The vVersion member is valid.
    DMUS_OBJ_DATE The ftDate member is valid.
    DMUS_OBJ_LOADED The object is currently loaded in memory.
  • guidObject
    Unique identifier for this object.

  • guidClass
    Unique identifier for the class of object. All the standard objects have defined identifiers consisting of CLSID_ plus the name of the object. For example, a segment object is identified as CLSID_DirectMusicSegment. See the defines in the Dmusici.h header file.

  • ftDate
    Date that the object was last edited.

  • vVersion
    DMUS_VERSION structure containing version information.

  • wszName
    Name of the object.

  • wszCategory
    Category for the object.

  • wszFileName
    File path. If DMUS_OBJ_FULLPATH is set, this is the full path; otherwise, it is the file name.

  • llMemLength
    Size of data in memory.

  • pbMemData
    Data in memory.

Remarks

At least one of wszName, guidObject, and wszFileName must be filled with valid data to retrieve the object by using the IDirectMusicLoader::GetObject method.

The name and category strings use 16-bit characters in the WCHAR format, not 8-bit ANSI chars. Be sure to convert as appropriate. You can use the C-library mbstowcs function to convert from multibyte to Unicode and the wcstombs function to convert from Unicode back to multibyte.

Requirements

OS Versions: Windows CE .NET 4.0 and Windows CE .NET 4.1.
Header: Dmusici.h.

See Also

DirectMusic Loader | IDirectMusicLoader::EnumObject | IDirectMusicLoader::GetObject | IDirectMusicObject::GetDescriptor | DMUS_VERSION

 Last updated on Monday, April 12, 2004

© 1992-2002 Microsoft Corporation. All rights reserved.