xda-developers.com
forum.xda-developers.com
device database
wiki.xda-developers.com Wiki HomePage
FAQ | Xanadux

RecentChanges | FindPage | | LikePages | BackLinks

dsm

DSM Files

Dsm files are located in the Windows directory (only WM5), most of them contain a file list and certification data.
I dont know the full function of this files, but one function is to help somehow to load the mxip*.provxml files.
For mxip*.provxml files see: MSDN

All dsm files are listed in packages.sof
The file list is something like a package list
Dsm files are very useful to analyse a rom or to port some parts from one rom to another
The rgu file listed in a dsm file contains the associated registry settings for this package

  • Structure:

typedef struct _DeviceManifestHeader
{
  const DWORD dwStructSize; // Size of this structure (in bytes)
 // for versioning
  const DWORD dwPackageVersion; // Version of this package
  const DWORD dwPrevPkgVersion; // Version of package that this package
 // updates. (0) for Canonical
  const DWORD dwPackageFlags; // package specific identifiers.
  const DWORD dwProcessorID; // what processor (matches defines in
 // winnt.h)
  const DWORD dwOSVersion; // what version of the operating system
 // was this built to.
  const DWORD dwPlatformID; // what was the target platform.
  const DWORD dwNameLength; // length of filename in bytes.
  const DWORD dwNameOffset; // offset to Friendly name of package
  const DWORD dwDependentCount; // How many entries in Dependent GUID
 // list.
  const DWORD dwDependentOffset; // How many bytes from the front of the
 // file are the dependent GUID structs.
  const DWORD dwShadowCount; // How many entries in shadow GUID list.
  const DWORD dwShadowOffset; // How many bytes from front of file is
 // the array of shadowed package GUIDs.
  const DWORD dwFileCount; // How many files are there listed in
 // this manifest.
  const DWORD dwFileListOffset; // How many bytes from the front of file
 // to the first FileEntry.
  const DWORD cbCERTData; // number of bytes of digital certificate
 // data
  const DWORD dwCERTDataOffset; // How many bytes from the front of file
 // to the certificate data.
  const GUID guidPackage; // GUID of this package
}DeviceManifestHeader, *PDeviceManifestHeader;
typedef struct _DependentEntry {
  const DWORD size;
  const DWORD version;
  const GUID guid;
}DependentEntry,*PDependentEntry;
typedef struct _FileEntry {
  const DWORD dwNameLength;
  const DWORD dwFlags;
  const DWORD dwOffset;
  const DWORD dwBase; // Base address this file was originally linked with.
}FILEENTRY,*PFILEENTRY;

Last edited on December 18, 2006 9:42 pm.


Edit | PageHistory | Diff | PageInfo
Login
User Name: Password:
Remember Me?