Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[Aplica-se somente ao KMDF]
O método WdfIoResourceListRemoveByDescriptor remove um descritor de recursos do de configuração lógica de uma lista de requisitos de recurso.
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 da estrutura que representa uma configuração lógica de recursos de hardware para um dispositivo.
[in] Descriptor
Um ponteiro para uma estrutura de IO_RESOURCE_DESCRIPTOR que descreve um recurso de hardware.
Valor de retorno
Nenhum
Observações
Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.
O método WdfIoResourceListRemoveByDescriptor remove o descritor de recursos que corresponde ao parâmetro Descritor. Para encontrar uma correspondência, o método compara o descritor de recursos especificado com os descritores de recurso na configuração lógica, byte para byte.
Quando WdfIoResourceListRemoveByDescriptor remove o descritor de recursos 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 |
|---|---|
| da Plataforma de Destino | Universal |
| versão mínima do KMDF | 1.0 |
| cabeçalho | wdfresource.h (inclua Wdf.h) |
| biblioteca | Wdf01000.sys (consulte o Controle de Versão da Biblioteca da Estrutura.) |
| IRQL | <=DISPATCH_LEVEL |
| regras de conformidade de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |