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 de estrutura que representa uma configuração lógica de recursos de hardware para um dispositivo.
[in] Index
Um valor baseado em zero que é 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.
Retornar valor
WdfIoResourceRequirementsListInsertIoResList retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, esse método pode retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
Um parâmetro inválido, conforme especificado. |
|
O objeto resource-requirements-list especificado não possui o objeto resource-range-list especificado. |
|
A estrutura não pôde alocar espaço para armazenar o objeto resource-range-list. |
|
O valor especificado para o parâmetro Index era muito grande. |
Um bug do sistema marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Comentários
O método WdfIoResourceRequirementsListInsertIoResList insere a configuração lógica que o parâmetro IoResList especifica na lista de requisitos de recursos especificada pelo parâmetro RequirementsList , na frente da configuração lógica que o valor index identifica.
Para adicionar uma configuração lógica ao final de uma lista de requisitos de recursos, use WDF_INSERT_AT_END ou o valor retornado de WdfIoResourceRequirementsListGetCount como o valor index . Como alternativa, use o método WdfIoResourceRequirementsListAppendIoResList .
Para obter mais informações sobre listas de requisitos de recursos, consulte Recursos de hardware para drivers de 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 |
---|---|
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) |