  ; ===========================================
  ; msi.inc copyright MASM32 1998 - 2005
  ; ===========================================

IFNDEF MSI_INC
MSI_INC equ <1>

DllGetVersion PROTO :DWORD
Migrate10CachedPackagesA PROTO :DWORD,:DWORD,:DWORD,:DWORD
Migrate10CachedPackages equ <Migrate10CachedPackagesA>

Migrate10CachedPackagesW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiAdvertiseProductA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiAdvertiseProduct equ <MsiAdvertiseProductA>

MsiAdvertiseProductExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiAdvertiseProductEx equ <MsiAdvertiseProductExA>

MsiAdvertiseProductExW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiAdvertiseProductW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiAdvertiseScriptA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiAdvertiseScript equ <MsiAdvertiseScriptA>

MsiAdvertiseScriptW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiApplyMultiplePatchesA PROTO :DWORD,:DWORD,:DWORD
MsiApplyMultiplePatches equ <MsiApplyMultiplePatchesA>

MsiApplyMultiplePatchesW PROTO :DWORD,:DWORD,:DWORD
MsiApplyPatchA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiApplyPatch equ <MsiApplyPatchA>

MsiApplyPatchW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiCloseAllHandles PROTO 
MsiCloseHandle PROTO :DWORD
MsiCollectUserInfoA PROTO :DWORD
MsiCollectUserInfo equ <MsiCollectUserInfoA>

MsiCollectUserInfoW PROTO :DWORD
MsiConfigureFeatureA PROTO :DWORD,:DWORD,:DWORD
MsiConfigureFeature equ <MsiConfigureFeatureA>

MsiConfigureFeatureFromDescriptorA PROTO :DWORD,:DWORD
MsiConfigureFeatureFromDescriptor equ <MsiConfigureFeatureFromDescriptorA>

MsiConfigureFeatureFromDescriptorW PROTO :DWORD,:DWORD
MsiConfigureFeatureW PROTO :DWORD,:DWORD,:DWORD
MsiConfigureProductA PROTO :DWORD,:DWORD,:DWORD
MsiConfigureProduct equ <MsiConfigureProductA>

MsiConfigureProductExA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiConfigureProductEx equ <MsiConfigureProductExA>

MsiConfigureProductExW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiConfigureProductW PROTO :DWORD,:DWORD,:DWORD
MsiCreateAndVerifyInstallerDirectory PROTO :DWORD
MsiCreateRecord PROTO :DWORD
MsiCreateTransformSummaryInfoA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiCreateTransformSummaryInfo equ <MsiCreateTransformSummaryInfoA>

MsiCreateTransformSummaryInfoW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiDatabaseApplyTransformA PROTO :DWORD,:DWORD,:DWORD
MsiDatabaseApplyTransform equ <MsiDatabaseApplyTransformA>

MsiDatabaseApplyTransformW PROTO :DWORD,:DWORD,:DWORD
MsiDatabaseCommit PROTO :DWORD
MsiDatabaseExportA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiDatabaseExport equ <MsiDatabaseExportA>

MsiDatabaseExportW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiDatabaseGenerateTransformA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiDatabaseGenerateTransform equ <MsiDatabaseGenerateTransformA>

MsiDatabaseGenerateTransformW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiDatabaseGetPrimaryKeysA PROTO :DWORD,:DWORD,:DWORD
MsiDatabaseGetPrimaryKeys equ <MsiDatabaseGetPrimaryKeysA>

MsiDatabaseGetPrimaryKeysW PROTO :DWORD,:DWORD,:DWORD
MsiDatabaseImportA PROTO :DWORD,:DWORD,:DWORD
MsiDatabaseImport equ <MsiDatabaseImportA>

MsiDatabaseImportW PROTO :DWORD,:DWORD,:DWORD
MsiDatabaseIsTablePersistentA PROTO :DWORD,:DWORD
MsiDatabaseIsTablePersistent equ <MsiDatabaseIsTablePersistentA>

MsiDatabaseIsTablePersistentW PROTO :DWORD,:DWORD
MsiDatabaseMergeA PROTO :DWORD,:DWORD,:DWORD
MsiDatabaseMerge equ <MsiDatabaseMergeA>

MsiDatabaseMergeW PROTO :DWORD,:DWORD,:DWORD
MsiDatabaseOpenViewA PROTO :DWORD,:DWORD,:DWORD
MsiDatabaseOpenView equ <MsiDatabaseOpenViewA>

MsiDatabaseOpenViewW PROTO :DWORD,:DWORD,:DWORD
MsiDecomposeDescriptorA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiDecomposeDescriptor equ <MsiDecomposeDescriptorA>

MsiDecomposeDescriptorW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiDeleteUserDataA PROTO :DWORD,:DWORD,:DWORD
MsiDeleteUserData equ <MsiDeleteUserDataA>

MsiDeleteUserDataW PROTO :DWORD,:DWORD,:DWORD
MsiDetermineApplicablePatchesA PROTO :DWORD,:DWORD,:DWORD
MsiDetermineApplicablePatches equ <MsiDetermineApplicablePatchesA>

MsiDetermineApplicablePatchesW PROTO :DWORD,:DWORD,:DWORD
MsiDeterminePatchSequenceA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiDeterminePatchSequence equ <MsiDeterminePatchSequenceA>

MsiDeterminePatchSequenceW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiDoActionA PROTO :DWORD,:DWORD
MsiDoAction equ <MsiDoActionA>

MsiDoActionW PROTO :DWORD,:DWORD
MsiEnableLogA PROTO :DWORD,:DWORD,:DWORD
MsiEnableLog equ <MsiEnableLogA>

MsiEnableLogW PROTO :DWORD,:DWORD,:DWORD
MsiEnableUIPreview PROTO :DWORD,:DWORD
MsiEnumClientsA PROTO :DWORD,:DWORD,:DWORD
MsiEnumClients equ <MsiEnumClientsA>

MsiEnumClientsW PROTO :DWORD,:DWORD,:DWORD
MsiEnumComponentCostsA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiEnumComponentCosts equ <MsiEnumComponentCostsA>

MsiEnumComponentCostsW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiEnumComponentQualifiersA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiEnumComponentQualifiers equ <MsiEnumComponentQualifiersA>

MsiEnumComponentQualifiersW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiEnumComponentsA PROTO :DWORD,:DWORD
MsiEnumComponents equ <MsiEnumComponentsA>

MsiEnumComponentsW PROTO :DWORD,:DWORD
MsiEnumFeaturesA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiEnumFeatures equ <MsiEnumFeaturesA>

MsiEnumFeaturesW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiEnumPatchesA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiEnumPatches equ <MsiEnumPatchesA>

MsiEnumPatchesExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiEnumPatchesEx equ <MsiEnumPatchesExA>

MsiEnumPatchesExW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiEnumPatchesW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiEnumProductsA PROTO :DWORD,:DWORD
MsiEnumProducts equ <MsiEnumProductsA>

MsiEnumProductsExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiEnumProductsEx equ <MsiEnumProductsExA>

MsiEnumProductsExW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiEnumProductsW PROTO :DWORD,:DWORD
MsiEnumRelatedProductsA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiEnumRelatedProducts equ <MsiEnumRelatedProductsA>

MsiEnumRelatedProductsW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiEvaluateConditionA PROTO :DWORD,:DWORD
MsiEvaluateCondition equ <MsiEvaluateConditionA>

MsiEvaluateConditionW PROTO :DWORD,:DWORD
MsiExtractPatchXMLDataA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiExtractPatchXMLData equ <MsiExtractPatchXMLDataA>

MsiExtractPatchXMLDataW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiFormatRecordA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiFormatRecord equ <MsiFormatRecordA>

MsiFormatRecordW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetActiveDatabase PROTO :DWORD
MsiGetComponentPathA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetComponentPath equ <MsiGetComponentPathA>

MsiGetComponentPathW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetComponentStateA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetComponentState equ <MsiGetComponentStateA>

MsiGetComponentStateW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetDatabaseState PROTO :DWORD
MsiGetFeatureCostA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetFeatureCost equ <MsiGetFeatureCostA>

MsiGetFeatureCostW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetFeatureInfoA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetFeatureInfo equ <MsiGetFeatureInfoA>

MsiGetFeatureInfoW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetFeatureStateA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetFeatureState equ <MsiGetFeatureStateA>

MsiGetFeatureStateW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetFeatureUsageA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetFeatureUsage equ <MsiGetFeatureUsageA>

MsiGetFeatureUsageW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetFeatureValidStatesA PROTO :DWORD,:DWORD,:DWORD
MsiGetFeatureValidStates equ <MsiGetFeatureValidStatesA>

MsiGetFeatureValidStatesW PROTO :DWORD,:DWORD,:DWORD
MsiGetFileHashA PROTO :DWORD,:DWORD,:DWORD
MsiGetFileHash equ <MsiGetFileHashA>

MsiGetFileHashW PROTO :DWORD,:DWORD,:DWORD
MsiGetFileSignatureInformationA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetFileSignatureInformation equ <MsiGetFileSignatureInformationA>

MsiGetFileSignatureInformationW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetFileVersionA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetFileVersion equ <MsiGetFileVersionA>

MsiGetFileVersionW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetLanguage PROTO :DWORD
MsiGetLastErrorRecord PROTO 
MsiGetMode PROTO :DWORD,:DWORD
MsiGetPatchInfoA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetPatchInfo equ <MsiGetPatchInfoA>

MsiGetPatchInfoExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetPatchInfoEx equ <MsiGetPatchInfoExA>

MsiGetPatchInfoExW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetPatchInfoW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetProductCodeA PROTO :DWORD,:DWORD
MsiGetProductCode equ <MsiGetProductCodeA>

MsiGetProductCodeFromPackageCodeA PROTO :DWORD,:DWORD
MsiGetProductCodeFromPackageCode equ <MsiGetProductCodeFromPackageCodeA>

MsiGetProductCodeFromPackageCodeW PROTO :DWORD,:DWORD
MsiGetProductCodeW PROTO :DWORD,:DWORD
MsiGetProductInfoA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetProductInfo equ <MsiGetProductInfoA>

MsiGetProductInfoExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetProductInfoEx equ <MsiGetProductInfoExA>

MsiGetProductInfoExW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetProductInfoFromScriptA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetProductInfoFromScript equ <MsiGetProductInfoFromScriptA>

MsiGetProductInfoFromScriptW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetProductInfoW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetProductPropertyA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetProductProperty equ <MsiGetProductPropertyA>

MsiGetProductPropertyW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetPropertyA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetProperty equ <MsiGetPropertyA>

MsiGetPropertyW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetShortcutTargetA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetShortcutTarget equ <MsiGetShortcutTargetA>

MsiGetShortcutTargetW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetSourcePathA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetSourcePath equ <MsiGetSourcePathA>

MsiGetSourcePathW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetSummaryInformationA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetSummaryInformation equ <MsiGetSummaryInformationA>

MsiGetSummaryInformationW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetTargetPathA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetTargetPath equ <MsiGetTargetPathA>

MsiGetTargetPathW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiGetUserInfoA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiGetUserInfo equ <MsiGetUserInfoA>

MsiGetUserInfoW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiInstallMissingComponentA PROTO :DWORD,:DWORD,:DWORD
MsiInstallMissingComponent equ <MsiInstallMissingComponentA>

MsiInstallMissingComponentW PROTO :DWORD,:DWORD,:DWORD
MsiInstallMissingFileA PROTO :DWORD,:DWORD
MsiInstallMissingFile equ <MsiInstallMissingFileA>

MsiInstallMissingFileW PROTO :DWORD,:DWORD
MsiInstallProductA PROTO :DWORD,:DWORD
MsiInstallProduct equ <MsiInstallProductA>

MsiInstallProductW PROTO :DWORD,:DWORD
MsiIsProductElevatedA PROTO :DWORD,:DWORD
MsiIsProductElevated equ <MsiIsProductElevatedA>

MsiIsProductElevatedW PROTO :DWORD,:DWORD
MsiLoadStringA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiLoadString equ <MsiLoadStringA>

MsiLoadStringW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiLocateComponentA PROTO :DWORD,:DWORD,:DWORD
MsiLocateComponent equ <MsiLocateComponentA>

MsiLocateComponentW PROTO :DWORD,:DWORD,:DWORD
MsiMessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiMessageBox equ <MsiMessageBoxA>

MsiMessageBoxExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiMessageBoxEx equ <MsiMessageBoxExA>

MsiMessageBoxExW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiMessageBoxW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiNotifySidChangeA PROTO :DWORD,:DWORD
MsiNotifySidChange equ <MsiNotifySidChangeA>

MsiNotifySidChangeW PROTO :DWORD,:DWORD
MsiOpenDatabaseA PROTO :DWORD,:DWORD,:DWORD
MsiOpenDatabase equ <MsiOpenDatabaseA>

MsiOpenDatabaseW PROTO :DWORD,:DWORD,:DWORD
MsiOpenPackageA PROTO :DWORD,:DWORD
MsiOpenPackage equ <MsiOpenPackageA>

MsiOpenPackageExA PROTO :DWORD,:DWORD,:DWORD
MsiOpenPackageEx equ <MsiOpenPackageExA>

MsiOpenPackageExW PROTO :DWORD,:DWORD,:DWORD
MsiOpenPackageW PROTO :DWORD,:DWORD
MsiOpenProductA PROTO :DWORD,:DWORD
MsiOpenProduct equ <MsiOpenProductA>

MsiOpenProductW PROTO :DWORD,:DWORD
MsiPreviewBillboardA PROTO :DWORD,:DWORD,:DWORD
MsiPreviewBillboard equ <MsiPreviewBillboardA>

MsiPreviewBillboardW PROTO :DWORD,:DWORD,:DWORD
MsiPreviewDialogA PROTO :DWORD,:DWORD
MsiPreviewDialog equ <MsiPreviewDialogA>

MsiPreviewDialogW PROTO :DWORD,:DWORD
MsiProcessAdvertiseScriptA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiProcessAdvertiseScript equ <MsiProcessAdvertiseScriptA>

MsiProcessAdvertiseScriptW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiProcessMessage PROTO :DWORD,:DWORD,:DWORD
MsiProvideAssemblyA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiProvideAssembly equ <MsiProvideAssemblyA>

MsiProvideAssemblyW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiProvideComponentA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiProvideComponent equ <MsiProvideComponentA>

MsiProvideComponentFromDescriptorA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiProvideComponentFromDescriptor equ <MsiProvideComponentFromDescriptorA>

MsiProvideComponentFromDescriptorW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiProvideComponentW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiProvideQualifiedComponentA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiProvideQualifiedComponent equ <MsiProvideQualifiedComponentA>

MsiProvideQualifiedComponentExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiProvideQualifiedComponentEx equ <MsiProvideQualifiedComponentExA>

MsiProvideQualifiedComponentExW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiProvideQualifiedComponentW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiQueryComponentStateA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiQueryComponentState equ <MsiQueryComponentStateA>

MsiQueryComponentStateW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiQueryFeatureStateA PROTO :DWORD,:DWORD
MsiQueryFeatureState equ <MsiQueryFeatureStateA>

MsiQueryFeatureStateExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiQueryFeatureStateEx equ <MsiQueryFeatureStateExA>

MsiQueryFeatureStateExW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiQueryFeatureStateFromDescriptorA PROTO :DWORD
MsiQueryFeatureStateFromDescriptor equ <MsiQueryFeatureStateFromDescriptorA>

MsiQueryFeatureStateFromDescriptorW PROTO :DWORD
MsiQueryFeatureStateW PROTO :DWORD,:DWORD
MsiQueryProductStateA PROTO :DWORD
MsiQueryProductState equ <MsiQueryProductStateA>

MsiQueryProductStateW PROTO :DWORD
MsiRecordClearData PROTO :DWORD
MsiRecordDataSize PROTO :DWORD,:DWORD
MsiRecordGetFieldCount PROTO :DWORD
MsiRecordGetInteger PROTO :DWORD,:DWORD
MsiRecordGetStringA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiRecordGetString equ <MsiRecordGetStringA>

MsiRecordGetStringW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiRecordIsNull PROTO :DWORD,:DWORD
MsiRecordReadStream PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiRecordSetInteger PROTO :DWORD,:DWORD,:DWORD
MsiRecordSetStreamA PROTO :DWORD,:DWORD,:DWORD
MsiRecordSetStream equ <MsiRecordSetStreamA>

MsiRecordSetStreamW PROTO :DWORD,:DWORD,:DWORD
MsiRecordSetStringA PROTO :DWORD,:DWORD,:DWORD
MsiRecordSetString equ <MsiRecordSetStringA>

MsiRecordSetStringW PROTO :DWORD,:DWORD,:DWORD
MsiReinstallFeatureA PROTO :DWORD,:DWORD,:DWORD
MsiReinstallFeature equ <MsiReinstallFeatureA>

MsiReinstallFeatureFromDescriptorA PROTO :DWORD,:DWORD
MsiReinstallFeatureFromDescriptor equ <MsiReinstallFeatureFromDescriptorA>

MsiReinstallFeatureFromDescriptorW PROTO :DWORD,:DWORD
MsiReinstallFeatureW PROTO :DWORD,:DWORD,:DWORD
MsiReinstallProductA PROTO :DWORD,:DWORD
MsiReinstallProduct equ <MsiReinstallProductA>

MsiReinstallProductW PROTO :DWORD,:DWORD
MsiRemovePatchesA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiRemovePatches equ <MsiRemovePatchesA>

MsiRemovePatchesW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiSequenceA PROTO :DWORD,:DWORD,:DWORD
MsiSequence equ <MsiSequenceA>

MsiSequenceW PROTO :DWORD,:DWORD,:DWORD
MsiSetComponentStateA PROTO :DWORD,:DWORD,:DWORD
MsiSetComponentState equ <MsiSetComponentStateA>

MsiSetComponentStateW PROTO :DWORD,:DWORD,:DWORD
MsiSetExternalUIA PROTO :DWORD,:DWORD,:DWORD
MsiSetExternalUI equ <MsiSetExternalUIA>

MsiSetExternalUIW PROTO :DWORD,:DWORD,:DWORD
MsiSetFeatureAttributesA PROTO :DWORD,:DWORD,:DWORD
MsiSetFeatureAttributes equ <MsiSetFeatureAttributesA>

MsiSetFeatureAttributesW PROTO :DWORD,:DWORD,:DWORD
MsiSetFeatureStateA PROTO :DWORD,:DWORD,:DWORD
MsiSetFeatureState equ <MsiSetFeatureStateA>

MsiSetFeatureStateW PROTO :DWORD,:DWORD,:DWORD
MsiSetInstallLevel PROTO :DWORD,:DWORD
MsiSetInternalUI PROTO :DWORD,:DWORD
MsiSetMode PROTO :DWORD,:DWORD,:DWORD
MsiSetPropertyA PROTO :DWORD,:DWORD,:DWORD
MsiSetProperty equ <MsiSetPropertyA>

MsiSetPropertyW PROTO :DWORD,:DWORD,:DWORD
MsiSetTargetPathA PROTO :DWORD,:DWORD,:DWORD
MsiSetTargetPath equ <MsiSetTargetPathA>

MsiSetTargetPathW PROTO :DWORD,:DWORD,:DWORD
MsiSourceListAddMediaDiskA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListAddMediaDisk equ <MsiSourceListAddMediaDiskA>

MsiSourceListAddMediaDiskW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListAddSourceA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListAddSource equ <MsiSourceListAddSourceA>

MsiSourceListAddSourceExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListAddSourceEx equ <MsiSourceListAddSourceExA>

MsiSourceListAddSourceExW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListAddSourceW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListClearAllA PROTO :DWORD,:DWORD,:DWORD
MsiSourceListClearAll equ <MsiSourceListClearAllA>

MsiSourceListClearAllExA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListClearAllEx equ <MsiSourceListClearAllExA>

MsiSourceListClearAllExW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListClearAllW PROTO :DWORD,:DWORD,:DWORD
MsiSourceListClearMediaDiskA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListClearMediaDisk equ <MsiSourceListClearMediaDiskA>

MsiSourceListClearMediaDiskW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListClearSourceA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListClearSource equ <MsiSourceListClearSourceA>

MsiSourceListClearSourceW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListEnumMediaDisksA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListEnumMediaDisks equ <MsiSourceListEnumMediaDisksA>

MsiSourceListEnumMediaDisksW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListEnumSourcesA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListEnumSources equ <MsiSourceListEnumSourcesA>

MsiSourceListEnumSourcesW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListForceResolutionA PROTO :DWORD,:DWORD,:DWORD
MsiSourceListForceResolution equ <MsiSourceListForceResolutionA>

MsiSourceListForceResolutionExA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListForceResolutionEx equ <MsiSourceListForceResolutionExA>

MsiSourceListForceResolutionExW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListForceResolutionW PROTO :DWORD,:DWORD,:DWORD
MsiSourceListGetInfoA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListGetInfo equ <MsiSourceListGetInfoA>

MsiSourceListGetInfoW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListSetInfoA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSourceListSetInfo equ <MsiSourceListSetInfoA>

MsiSourceListSetInfoW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSummaryInfoGetPropertyA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSummaryInfoGetProperty equ <MsiSummaryInfoGetPropertyA>

MsiSummaryInfoGetPropertyCount PROTO :DWORD,:DWORD
MsiSummaryInfoGetPropertyW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSummaryInfoPersist PROTO :DWORD
MsiSummaryInfoSetPropertyA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiSummaryInfoSetProperty equ <MsiSummaryInfoSetPropertyA>

MsiSummaryInfoSetPropertyW PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
MsiUseFeatureA PROTO :DWORD,:DWORD
MsiUseFeature equ <MsiUseFeatureA>

MsiUseFeatureExA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiUseFeatureEx equ <MsiUseFeatureExA>

MsiUseFeatureExW PROTO :DWORD,:DWORD,:DWORD,:DWORD
MsiUseFeatureW PROTO :DWORD,:DWORD
MsiVerifyDiskSpace PROTO :DWORD
MsiVerifyPackageA PROTO :DWORD
MsiVerifyPackage equ <MsiVerifyPackageA>

MsiVerifyPackageW PROTO :DWORD
MsiViewClose PROTO :DWORD
MsiViewExecute PROTO :DWORD,:DWORD
MsiViewFetch PROTO :DWORD,:DWORD
MsiViewGetColumnInfo PROTO :DWORD,:DWORD,:DWORD
MsiViewGetErrorA PROTO :DWORD,:DWORD,:DWORD
MsiViewGetError equ <MsiViewGetErrorA>

MsiViewGetErrorW PROTO :DWORD,:DWORD,:DWORD
MsiViewModify PROTO :DWORD,:DWORD,:DWORD

ELSE
echo -----------------------------------------
echo WARNING Duplicate include file msi.inc
echo -----------------------------------------
ENDIF
