WdfIoResourceListRemoveByDescriptor 함수(wdfresource.h)

[KMDF에만 적용]

WdfIoResourceListRemoveByDescriptor 메서드는 리소스 요구 사항 목록의 논리적 구성에서 리소스 설명자를 제거합니다.

구문

void WdfIoResourceListRemoveByDescriptor(
  [in] WDFIORESLIST            ResourceList,
  [in] PIO_RESOURCE_DESCRIPTOR Descriptor
);

매개 변수

[in] ResourceList

디바이스에 대한 하드웨어 리소스의 논리적 구성을 나타내는 프레임워크 resource-range-list 개체에 대한 핸들입니다.

[in] Descriptor

하드웨어 리소스를 설명하는 IO_RESOURCE_DESCRIPTOR 구조체에 대한 포인터입니다.

반환 값

없음

설명

드라이버가 잘못된 개체 핸들을 제공하는 경우 버그 검사 발생합니다.

WdfIoResourceListRemoveByDescriptor 메서드는 Descriptor 매개 변수와 일치하는 리소스 설명자를 제거합니다. 일치 항목을 찾기 위해 메서드는 지정된 리소스 설명자를 논리 구성의 리소스 설명자와 바이트 바이트 단위로 비교합니다.

WdfIoResourceListRemoveByDescriptor가 인덱스 값이 n인 리소스 설명자를 제거하면 다음 리소스 설명자의 인덱스 값이 n+1에서 n으로 변경됩니다.

리소스 요구 사항 목록 및 논리 구성에 대한 자세한 내용은 Framework-Based 드라이버용 하드웨어 리소스를 참조하세요.

예제

다음 코드 예제에서는 지정된 포트 주소를 포함하는 리소스 설명자에 대한 논리적 구성을 검색하고 해당 리소스 설명자를 제거합니다.

IO_RESOURCE_DESCRIPTOR descriptor;
ULONG resCount, j;

//
// Get the number of resource descriptors that
// are in this logical configuration.
//
resCount = WdfIoResourceListGetCount(reslist);

for (j = 0; j < resCount; j++) {
    PIO_RESOURCE_DESCRIPTOR descriptor;

    //
    // Get the next resource descriptor.
    //
    descriptor = WdfIoResourceListGetDescriptor(
                                                reslist,
                                                j
                                                );

    //
    // Stop if this descriptor is the port descriptor that
    // we're looking for, and remove the descriptor.
    //
    if (descriptor->Type == CmResourceTypePort) {
        if ((descriptor->u.port.MinimumAddress) == PORT_RANGE_A) {
               WdfIoResourceListRemoveByDescriptor(
                                                   Reslist,
                                                   descriptor
                                                   );
               break;
        }
    }
}

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.0
머리글 wdfresource.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(프레임워크 라이브러리 버전 관리 참조)
IRQL <=DISPATCH_LEVEL
DDI 규정 준수 규칙 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

추가 정보

IO_RESOURCE_DESCRIPTOR

WdfIoResourceListRemove