Função WdfIoResourceListInsertDescriptor (wdfresource.h)
[Aplica-se somente ao KMDF]
O método WdfIoResourceListInsertDescriptor insere um descritor de recursos no de configuração lógica de uma lista de requisitos de recursos.
Sintaxe
NTSTATUS WdfIoResourceListInsertDescriptor(
[in] WDFIORESLIST ResourceList,
[in] PIO_RESOURCE_DESCRIPTOR Descriptor,
[in] ULONG Index
);
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.
[in] Index
Um valor baseado em zero usado como um índice no conjunto de descritores de recursos que já estão na configuração lógica especificada ResourceList. Para adicionar um descritor de recurso ao final da configuração lógica, especifique WDF_INSERT_AT_END ou o valor retornado de WdfIoResourceListGetCount.
Valor de retorno
WdfIoResourceListInsertDescriptor retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, esse método poderá retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
Um parâmetro inválido foi especificado. |
|
O driver não tinha permissão para adicionar descritores à configuração lógica. |
|
A estrutura não pôde alocar espaço para armazenar o descritor. |
|
O valor especificado pelo parâmetro Index era muito grande. |
Uma verificação de bugs do sistema ocorre se o driver fornece um identificador de objeto inválido.
Observações
O método WdfIoResourceListInsertDescriptor insere o descritor de recursos para o qual o descritor de aponta para a configuração lógica que o parâmetro ResourceList especifica, na frente do descritor de recursos identificado pelo Index valor.
Para adicionar um descritor de recurso ao final de uma configuração lógica, especifique WDF_INSERT_AT_END ou o valor retornado de WdfIoResourceListGetCount para o valor índice. Como alternativa, use o método WdfIoResourceListAppendDescriptor.
A estrutura copia o conteúdo da estrutura IO_RESOURCE_DESCRIPTOR para o armazenamento interno, de modo que a rotina de driver que chama WdfIoResourceListInsertDescriptor pode alocar a estrutura localmente. Depois que o driver chama WdfIoResourceListInsertDescriptor, o driver pode reutilizar a estrutura de IO_RESOURCE_DESCRIPTOR.
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 inicializa um descritor de recursos e adiciona o descritor ao final de uma configuração lógica.
IO_RESOURCE_DESCRIPTOR descriptor;
RtlZeroMemory(&descriptor, sizeof(descriptor));
descriptor.Option = 0;
descriptor.Type = CmResourceTypePort;
descriptor.ShareDisposition = CmResourceShareDeviceExclusive;
descriptor.Flags = CM_RESOURCE_PORT_IO|CM_RESOURCE_PORT_16_BIT_DECODE;
descriptor.u.Port.Length = 1;
descriptor.u.Port.Alignment = 0x01;
descriptor.u.Port.MinimumAddress.QuadPart = 0;
descriptor.u.Port.MaximumAddress.QuadPart = 0xFFFF;
status = WdfIoResourceListInsertDescriptor(
logConfig,
&descriptor,
WDF_INSERT_AT_END
);
if (!NT_SUCCESS(status)) {
return status;
}
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) |