Função WdfIoResourceListRemoveByDescriptor (wdfresource.h)
[Aplica-se somente ao KMDF]
O método WdfIoResourceListRemoveByDescriptor remove um descritor de recursos da configuração lógica de uma lista de requisitos de recursos.
Sintaxe
void WdfIoResourceListRemoveByDescriptor(
[in] WDFIORESLIST ResourceList,
[in] PIO_RESOURCE_DESCRIPTOR Descriptor
);
Parâmetros
[in] ResourceList
Um identificador para um objeto de lista de intervalo de recursos de estrutura que representa uma configuração lógica de recursos de hardware para um dispositivo.
[in] Descriptor
Um ponteiro para uma estrutura IO_RESOURCE_DESCRIPTOR que descreve um recurso de hardware.
Retornar valor
Nenhum
Comentários
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
O método WdfIoResourceListRemoveByDescriptor remove o descritor de recurso que corresponde ao parâmetro Descriptor . Para localizar uma correspondência, o método compara o descritor de recurso especificado com os descritores de recurso na configuração lógica, byte para byte.
Quando WdfIoResourceListRemoveByDescriptor remove o descritor de recurso que tem o valor de índice n, o valor de índice do próximo descritor de recursos muda de n+1 para n.
Para obter mais informações sobre listas de requisitos de recursos e configurações lógicas, consulte Recursos de hardware para drivers de Framework-Based.
Exemplos
O exemplo de código a seguir pesquisa uma configuração lógica para um descritor de recurso que contém um endereço de porta especificado e remove esse descritor de recurso.
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;
}
}
}
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Cabeçalho | wdfresource.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.) |
IRQL | <=DISPATCH_LEVEL |
Regras de conformidade da DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |