MsiSourceListEnumMediaDisksA-Funktion (msi.h)
Die MsiSourceListEnumMediaDisks Funktion listet die Liste der Datenträger auf, die für die Medienquelle für einen Patch oder ein Produkt registriert sind.
Syntax
UINT MsiSourceListEnumMediaDisksA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] DWORD dwIndex,
[out, optional] LPDWORD pdwDiskId,
[out, optional] LPSTR szVolumeLabel,
[in, out, optional] LPDWORD pcchVolumeLabel,
[out, optional] LPSTR szDiskPrompt,
[in, out, optional] LPDWORD pcchDiskPrompt
);
Parameter
[in] szProductCodeOrPatchCode
Die ProductCode oder Patch-GUID des Produkts oder Patches. Verwenden Sie eine mit Null beendete Zeichenfolge. Wenn die Zeichenfolge länger als 39 Zeichen ist, schlägt die Funktion fehl und gibt ERROR_INVALID_PARAMETER zurück. Dieser Parameter kann nicht NULL-werden.
[in, optional] szUserSid
Eine Zeichenfolgen-SID, die das Benutzerkonto angibt, das das Produkt oder den Patch enthält. Die SID wird nicht überprüft oder aufgelöst. Eine falsche SID kann ERROR_UNKNOWN_PRODUCT oder ERROR_UNKNOWN_PATCH zurückgeben. Beim Verweisen auf einen Computerkontext muss szUserSID-NULL- sein und dwContext- MSIINSTALLCONTEXT_MACHINE sein.
[in] dwContext
Dieser Parameter gibt den Kontext der Produkt- oder Patchinstanz an. Dieser Parameter kann einen der folgenden Werte enthalten.
[in] dwOptions
Der dwOptions Wert, der die Bedeutung szProductCodeOrPatchCodeangibt.
Flagge | Bedeutung |
---|---|
|
szProductCodeOrPatchCode ist eine Produktcode-GUID. |
|
szProductCodeOrPatchCode ist eine Patchcode-GUID. |
[in] dwIndex
Der Index der abzurufenden Quelle. Dieser Parameter muss 0 (null) für den ersten Aufruf der MsiSourceListEnumMediaDisks-Funktion sein und dann für nachfolgende Aufrufe erhöht werden, bis die Funktion ERROR_NO_MORE_ITEMS zurückgibt.
[out, optional] pdwDiskId
Bei der Eingabe in MsiSourceListEnumMediaDisks stellt dieser Parameter einen Zeiger auf eine DWORD- bereit, um die ID des Datenträgers zu empfangen, der aufgezählt wird. Dieser Parameter ist optional.
[out, optional] szVolumeLabel
Ein Ausgabepuffer, der die Volumebezeichnung des Datenträgers empfängt, der aufgezählt wird. Dieser Puffer sollte groß genug sein, um die Informationen zu enthalten. Wenn der Puffer zu klein ist, gibt die Funktion ERROR_MORE_DATA zurück und legt *pcchVolumeLabel auf die Anzahl der TCHAR- im Wert fest, nicht einschließlich des endenden NULL-Zeichens.
Wenn szVolumeLabel und pcchVolumeLabel beide auf NULL-festgelegt sind, gibt die Funktion ERROR_SUCCESS zurück, wenn der Wert vorhanden ist, ohne den Wert abzurufen.
[in, out, optional] pcchVolumeLabel
Ein Zeiger auf eine Variable, die die Anzahl der TCHAR- im szVolumeLabel Puffer angibt. Wenn die Funktion zurückgegeben wird, ist dieser Parameter die Anzahl der TCHAR- im empfangenen Wert, nicht einschließlich des endenden Nullzeichens.
Dieser Parameter kann auf NULL- nur festgelegt werden, wenn szVolumeLabel- auch NULL-ist, andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.
[out, optional] szDiskPrompt
Ein Ausgabepuffer, der die Datenträgeraufforderung des Datenträgers empfängt, der aufgezählt wird. Dieser Puffer sollte groß genug sein, um die Informationen zu enthalten. Wenn der Puffer zu klein ist, gibt die Funktion ERROR_MORE_DATA zurück und legt *pcchDiskPrompt auf die Anzahl der TCHAR- im Wert fest, nicht einschließlich des endenden NULL-Zeichens.
Wenn die szDiskPrompt- auf NULL- und pcchDiskPrompt- auf einen gültigen Zeiger festgelegt ist, gibt die Funktion ERROR_SUCCESS zurück und legt *pcchDiskPrompt auf die Anzahl der TCHAR- im Wert fest, nicht einschließlich des endenden NULL-Zeichens. Die Funktion kann dann erneut aufgerufen werden, um den Wert abzurufen, wobei szDiskPrompt Puffer groß genug ist, um *pcchDiskPrompt + 1 Zeichen zu enthalten.
Wenn szDiskPrompt und pcchDiskPrompt beide auf NULL-festgelegt sind, gibt die Funktion ERROR_SUCCESS zurück, wenn der Wert vorhanden ist, ohne den Wert abzurufen.
[in, out, optional] pcchDiskPrompt
Ein Zeiger auf eine Variable, die die Anzahl der TCHAR- im szDiskPrompt Puffer angibt. Wenn die Funktion zurückgegeben wird, wird dieser Parameter auf die Größe des angeforderten Werts festgelegt, unabhängig davon, ob die Funktion den Wert in den angegebenen Puffer kopiert. Die Größe wird als Die Anzahl der TCHAR- im angeforderten Wert zurückgegeben, nicht einschließlich des endenden Nullzeichens.
Dieser Parameter kann auf NULL- nur festgelegt werden, wenn szDiskPrompt ebenfalls NULL-ist, andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.
Rückgabewert
Die MsiSourceListEnumMediaDisks Funktion gibt die folgenden Werte zurück.
Wert | Bedeutung |
---|---|
|
Der Benutzer hat nicht die Möglichkeit, die angegebene Medienquelle oder das angegebene Produkt oder Patch zu lesen. Dies gibt nicht an, ob eine Medienquelle, ein Produkt oder ein Patch gefunden wird. |
|
Die Konfigurationsdaten sind beschädigt. |
|
An die Funktion wird ein ungültiger Parameter übergeben. |
|
Für dieses Produkt oder Patch sind keine Datenträger registriert. |
|
Der Wert wird erfolgreich aufgezählt. |
|
Der Patch wurde nicht gefunden. |
|
Das Produkt wurde nicht gefunden. |
|
Der bereitgestellte Puffer ist zu klein, um die angeforderten Informationen zu enthalten. |
|
Unerwarteter interner Fehler. |
Bemerkungen
Wenn Mehrere Aufrufe an MsiSourceListEnumMediaDisks ausgeführt werden, um alle Quellen für eine einzelne Produktinstanz aufzählen zu können, muss jeder Aufruf aus demselben Thread erfolgen.
Ein Administrator kann benutzerspezifische nicht verwaltete und verwaltete Installationen für sich selbst, Computerinstallationen und benutzerspezifische verwaltete Installationen für jeden Benutzer auflisten. Ein Administrator kann nicht für andere Benutzer nicht verwaltete Installationen aufzählen. Nicht-Administratoren können nur ihre eigenen nicht verwalteten und verwalteten Installationen und Installationen pro Computer aufzählen.
Anmerkung
Der msi.h-Header definiert MsiSourceListEnumMediaDisks als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer 3.0 oder höher unter Windows Server 2003 oder Windows XP. Informationen zum mindestens von einer Windows Installer-Version erforderlichen Windows-Service Pack finden Sie unter den Windows Installer-Run-Time Anforderungen. |
Zielplattform- | Fenster |
Header- | msi.h |
Library | Msi.lib |
DLL- | Msi.dll |
Siehe auch
in Windows Installer 2.0 und früheren nicht unterstützt