Função WdfIoResourceRequirementsListInsertIoResList (wdfresource.h)
[Aplica-se somente ao KMDF]
O método WdfIoResourceRequirementsListInsertIoResList insere uma configuração lógica em uma lista de requisitos de recursos.
Sintaxe
NTSTATUS WdfIoResourceRequirementsListInsertIoResList(
[in] WDFIORESREQLIST RequirementsList,
[in] WDFIORESLIST IoResList,
[in] ULONG Index
);
Parâmetros
[in] RequirementsList
Um identificador para um objeto de lista de requisitos de recursos da estrutura que representa a lista de requisitos de recursos de um dispositivo.
[in] IoResList
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] Index
Um valor baseado em zero usado como um índice no conjunto de configurações lógicas que já estão na lista de requisitos de recursos que RequirementsList especifica. Para adicionar uma configuração ao final da lista, especifique WDF_INSERT_AT_END ou o valor retornado de WdfIoResourceRequirementsListGetCount.
Valor de retorno
WdfIoResourceRequirementsListInsertIoResList 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, conforme especificado. |
|
O objeto de lista de requisitos de recurso especificado não possui o objeto de lista de intervalo de recursos especificado. |
|
A estrutura não pôde alocar espaço para armazenar o objeto resource-range-list. |
|
O valor especificado para o parâmetro índice 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 WdfIoResourceRequirementsListInsertIoResList insere a configuração lógica que o parâmetro IoResList especifica na lista de requisitos de recursos que o parâmetro RequirementsList especifica, em frente à configuração lógica que o Index value identifique.
Para adicionar uma configuração lógica ao final de uma lista de requisitos de recurso, use WDF_INSERT_AT_END ou o valor retornado de WdfIoResourceRequirementsListGetCount como o valor índice. Como alternativa, use o método WdfIoResourceRequirementsListAppendIoResList.
Para obter mais informações sobre listas de requisitos de recursos, consulte Recursos de Hardware para drivers Framework-Based.
Exemplos
O exemplo de código a seguir mostra como uma função de retorno de chamada EvtDeviceResourceRequirementsQuery pode criar duas configurações lógicas vazias e adicioná-las a uma lista de requisitos de recursos.
NTSTATUS
Example_EvtDeviceResourceRequirementsQuery(
IN WDFDEVICE Device,
IN WDFIORESREQLIST RequirementsList
)
{
NTSTATUS status;
WDFIORESLIST logConfig1;
WDFIORESLIST logConfig2;
status = WdfIoResourceListCreate(
RequirementsList,
WDF_NO_OBJECT_ATTRIBUTES,
&logConfig1
);
if (!NT_SUCCESS(status)) {
return status;
}
status = WdfIoResourceRequirementsListAppendIoResList(
RequirementsList,
logConfig1
);
if (!NT_SUCCESS(status)) {
return status;
}
status = WdfIoResourceListCreate(
RequirementsList,
WDF_NO_OBJECT_ATTRIBUTES,
&logConfig2
);
if (!NT_SUCCESS(status)) {
return status;
}
status = WdfIoResourceRequirementsListInsertIoResList(
RequirementsList,
logConfig2,
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) |