Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt für KMDF und UMDF]
Die WdfRegistryAssignMultiString--Methode weist einem angegebenen Wertnamen in der Registrierung eine Reihe von Zeichenfolgen zu. Die Zeichenfolgen sind in einer angegebenen Auflistung von Framework-Zeichenfolgenobjekten enthalten.
Syntax
NTSTATUS WdfRegistryAssignMultiString(
[in] WDFKEY Key,
[in] PCUNICODE_STRING ValueName,
[in] WDFCOLLECTION StringsCollection
);
Die Parameter
[in] Key
Ein Handle zu einem Registrierungsschlüsselobjekt, das einen geöffneten Registrierungsschlüssel darstellt.
[in] ValueName
Ein Zeiger auf eine UNICODE_STRING Struktur, die einen Wertnamen enthält.
[in] StringsCollection
Ein Handle zu einem Framework-Auflistungsobjekt, das eine Auflistung von Framework-Zeichenfolgenobjekten darstellt.
Rückgabewert
WdfRegistryAssignMultiString gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt die Methode möglicherweise einen der folgenden Werte zurück:
| Rückgabecode | BESCHREIBUNG |
|---|---|
|
WdfRegistryAssignMultiString wurde bei IRQL = PASSIVE_LEVEL nicht aufgerufen. |
|
Es wurde ein ungültiger Parameter angegeben, oder die Auflistung, die vom StringsCollection Parameter angegeben wurde, enthielt keine Zeichenfolgenobjekte. |
|
Der Treiber hat den Registrierungsschlüssel nicht mit KEY_SET_VALUE Zugriff geöffnet. |
Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Wenn der Wertname, den der ValueName Parameter angibt, bereits vorhanden ist, aktualisiert WdfRegistryAssignMultiString die Daten des Werts.
Das Framework legt den Datentyp des Werts auf REG_MULTI_SZ fest.
Die Objektauflistung, die StringsCollection- angibt, darf nur Framework-Zeichenfolgenobjekte enthalten.
Weitere Informationen zu Registrierungsschlüsselobjekten finden Sie unter Verwenden der Registrierung in Framework-Based Drivers.
Beispiele
Im folgenden Codebeispiel wird ein Auflistungsobjekt und zwei Zeichenfolgenobjekte erstellt, der Auflistung die Zeichenfolgenobjekte hinzugefügt, und anschließend werden die beiden Zeichenfolgen einem Registrierungswert zugewiesen.
WDF_OBJECT_ATTRIBUTES attributes;
WDFCOLLECTION col = NULL;
WDFSTRING string1 = NULL, string2 = NULL;
UNICODE_STRING ustring1, ustring2, valueName;
NTSTATUS status;
status = WdfCollectionCreate(
WDF_NO_OBJECT_ATTRIBUTES,
&col
);
if (!NT_SUCCESS(status) {
return status;
}
RtlInitUnicodeString(
&ustring1,
L"String1"
);
RtlInitUnicodeString(
&ustring2,
L"String2"
);
RtlInitUnicodeString(
&valueName,
L"ValueName"
);
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = col;
status = WdfStringCreate(
&ustring1,
&attributes,
&string1
);
if (!NT_SUCCESS(status)) {
goto exit;
}
status = WdfStringCreate(
&ustring2,
&attributes,
&string2
);
if (!NT_SUCCESS(status)) {
goto exit;
}
status = WdfCollectionAdd(
col,
string1
);
if (!NT_SUCCESS(status)) {
goto exit;
}
string1 = NULL;
status = WdfCollectionAdd(
col,
string2
);
if (!NT_SUCCESS(status)) {
goto exit;
}
string2 = NULL;
status = WdfRegistryAssignMultiString(
Key,
&valueName,
col
);
if (!NT_SUCCESS(status)) {
goto exit;
...
exit:
if (col != NULL) {
WdfObjectDelete(col); // This will empty the collection
// because the string objects are
// child objects of the collection object.
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform | universell |
| Minimale KMDF-Version | 1.0 |
| Mindest-UMDF-Version | 2.0 |
| Kopfzeile | wdfregistry.h (include Wdf.h) |
| Bibliothek | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
| IRQL | PASSIVE_LEVEL |
| DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |