WdfIoResourceListUpdateDescriptor 함수(wdfresource.h)
[KMDF에만 적용]
WdfIoResourceListUpdateDescriptor 메서드는 리소스 요구 사항 목록의 논리 구성리소스 설명자를 업데이트합니다.
통사론
void WdfIoResourceListUpdateDescriptor(
[in] WDFIORESLIST ResourceList,
[in] PIO_RESOURCE_DESCRIPTOR Descriptor,
[in] ULONG Index
);
매개 변수
[in] ResourceList
디바이스에 대한 하드웨어 리소스의 논리적 구성을 나타내는 프레임워크 리소스 범위 목록 개체에 대한 핸들입니다.
[in] Descriptor
하드웨어 리소스를 설명하는 IO_RESOURCE_DESCRIPTOR 구조체에 대한 포인터입니다.
[in] Index
ResourceList가 지정하는 논리 구성에 이미 있는 리소스 설명자 집합의 인덱스로 사용되는 0부터 시작하는 값입니다.
반환 값
없음
발언
드라이버에서 잘못된 개체 핸들을 제공하면 버그 검사가 수행됩니다.
WdfIoResourceListUpdateDescriptor 메서드는 Index 매개 변수가 식별하는 리소스 설명자를 찾습니다. 그런 다음 메서드는 설명자 매개 변수가 지정하는 리소스 설명자를 Index 지정하는 설명자로 복사합니다.
리소스 요구 사항 목록 및 논리 구성에 대한 자세한 내용은 Framework-Based 드라이버 하드웨어 리소스를 참조하세요.
예제
다음 코드 예제에서는 새 리소스 설명자를 초기화한 다음 WdfIoResourceListUpdateDescriptor 호출하여 논리 구성의 두 번째 설명자를 새 설명자로 바꿉니다.
IO_RESOURCE_DESCRIPTOR newDescriptor;
RtlZeroMemory(
&newDescriptor,
sizeof(newDescriptor)
);
newDescriptor.Option = 0;
newDescriptor.Type = CmResourceTypePort;
newDescriptor.ShareDisposition = CmResourceShareDeviceExclusive;
newDescriptor.Flags = CM_RESOURCE_PORT_IO|CM_RESOURCE_PORT_16_BIT_DECODE;
newDescriptor.u.Port.Length = 1;
newDescriptor.u.Port.Alignment = 0x01;
newDescriptor.u.Port.MinimumAddress.QuadPart = 0;
newDescriptor.u.Port.MaximumAddress.QuadPart = 0xFFFF;
WdfIoResourceListUpdateDescriptor(
Reslist,
&newDescriptor,
1
);
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
최소 KMDF 버전 | 1.0 |
헤더 | wdfresource.h(Wdf.h 포함) |
라이브러리 | Wdf01000.sys(프레임워크 라이브러리 버전 관리 참조) |
IRQL | <=DISPATCH_LEVEL |
DDI 규정 준수 규칙 | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |