WdfRegistryAssignString 함수(wdfregistry.h)
[KMDF 및 UMDF에 적용]
WdfRegistryAssignString 메서드는 레지스트리의 지정된 값 이름에 문자열을 할당합니다. 문자열은 지정된 프레임워크 문자열 개체에 포함됩니다.
구문
NTSTATUS WdfRegistryAssignString(
[in] WDFKEY Key,
[in] PCUNICODE_STRING ValueName,
[in] WDFSTRING String
);
매개 변수
[in] Key
열린 레지스트리 키를 나타내는 레지스트리 키 개체에 대한 핸들입니다.
[in] ValueName
값 이름을 포함하는 UNICODE_STRING 구조체에 대한 포인터입니다.
[in] String
문자열을 포함하는 프레임워크 문자열 개체에 대한 핸들입니다.
반환 값
WdfRegistryAssignString 은 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드는 다음 값 중 하나를 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
WdfRegistryAssignString 은 IRQL = PASSIVE_LEVEL 호출되지 않았습니다. |
|
잘못된 매개 변수가 지정되었습니다. |
|
드라이버가 KEY_SET_VALUE 액세스 권한이 있는 레지스트리 키를 열지 않았습니다. |
이 메서드는 다른 NTSTATUS 값을 반환할 수도 있습니다.
드라이버가 잘못된 개체 핸들을 제공하는 경우 버그 검사 발생합니다.
설명
ValueName 매개 변수가 지정하는 값 이름이 이미 있는 경우 WdfRegistryAssignString은 값의 데이터를 업데이트합니다.
프레임워크는 값의 데이터 형식을 REG_SZ 설정합니다.
레지스트리 키 개체에 대한 자세한 내용은 Framework-Based 드라이버에서 레지스트리 사용을 참조하세요.
예제
다음 코드 예제에서는 문자열 "String1"을 포함하는 문자열 개체를 만들고 지정된 레지스트리 키 아래의 ValueName 값에 문자열을 할당합니다.
WDFSTRING string1;
UNICODE_STRING ustring1, valueName;
NTSTATUS status;
RtlInitUnicodeString(
&ustring1,
L"String1"
);
RtlInitUnicodeString(
&valueName,
L"ValueName"
);
status = WdfStringCreate(
&ustring1,
WDF_NO_OBJECT_ATTRIBUTES,
&string1
);
if (NT_SUCCESS(status)) {
status = WdfRegistryAssignString(
Key,
&valueName,
string1
);
}
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
머리글 | wdfregistry.h(Wdf.h 포함) |
라이브러리 | Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF) |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |