[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 3/3] Registry string value types cannot be inferred
For instance, the UpperFilters key needs to be a REG_MULTI_SZ even if it contains only one string. Thus the type needs to be passed explicitly to RegistryUpdateSzValue. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> --- src/common/registry.c | 4 +--- src/common/registry.h | 1 + src/xenbus/fdo.c | 1 + src/xenbus/filters.c | 10 ++++++++-- src/xenfilt/pvdevice.c | 2 ++ 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/common/registry.c b/src/common/registry.c index 2785020..2389c33 100644 --- a/src/common/registry.c +++ b/src/common/registry.c @@ -1300,12 +1300,12 @@ NTSTATUS RegistryUpdateSzValue( IN HANDLE Key, IN PCHAR Name, + IN ULONG Type, IN PANSI_STRING Array ) { ANSI_STRING Ansi; UNICODE_STRING Unicode; - ULONG Type; PKEY_VALUE_PARTIAL_INFORMATION Partial; NTSTATUS status; @@ -1315,8 +1315,6 @@ RegistryUpdateSzValue( if (!NT_SUCCESS(status)) goto fail1; - Type = (Array[1].Buffer != NULL) ? REG_MULTI_SZ : REG_SZ; - switch (Type) { case REG_SZ: status = STATUS_NO_MEMORY; diff --git a/src/common/registry.h b/src/common/registry.h index 06e9bd6..ef0cf91 100644 --- a/src/common/registry.h +++ b/src/common/registry.h @@ -190,6 +190,7 @@ extern NTSTATUS RegistryUpdateSzValue( IN HANDLE Key, IN PCHAR Name, + IN ULONG Type, IN PANSI_STRING Array ); diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c index 9eb20e7..92634cc 100644 --- a/src/xenbus/fdo.c +++ b/src/xenbus/fdo.c @@ -750,6 +750,7 @@ FdoSetFriendlyName( status = RegistryUpdateSzValue(HardwareKey, "FriendlyName", + REG_SZ, FriendlyName); if (!NT_SUCCESS(status)) goto fail5; diff --git a/src/xenbus/filters.c b/src/xenbus/filters.c index fe0ceba..651fcc2 100644 --- a/src/xenbus/filters.c +++ b/src/xenbus/filters.c @@ -126,7 +126,10 @@ FiltersInstallClass( RtlInitAnsiString(&New[Index], DriverName); - status = RegistryUpdateSzValue(Key, "UpperFilters", New); + status = RegistryUpdateSzValue(Key, + "UpperFilters", + REG_MULTI_SZ, + New); if (!NT_SUCCESS(status)) goto fail5; @@ -246,7 +249,10 @@ found: Count++; } - status = RegistryUpdateSzValue(Key, "UpperFilters", New); + status = RegistryUpdateSzValue(Key, + "UpperFilters", + REG_MULTI_SZ, + New); if (!NT_SUCCESS(status)) goto fail5; diff --git a/src/xenfilt/pvdevice.c b/src/xenfilt/pvdevice.c index 5f9345d..296608c 100644 --- a/src/xenfilt/pvdevice.c +++ b/src/xenfilt/pvdevice.c @@ -210,6 +210,7 @@ PvdeviceSetActive( status = RegistryUpdateSzValue(ParametersKey, "ActiveDeviceID", + REG_SZ, Ansi); if (!NT_SUCCESS(status)) goto fail2; @@ -218,6 +219,7 @@ PvdeviceSetActive( status = RegistryUpdateSzValue(ParametersKey, "ActiveInstanceID", + REG_SZ, Ansi); if (!NT_SUCCESS(status)) goto fail3; -- 2.1.1 _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |