Função WdfCmResourceListAppendDescriptor (wdfresource.h)
[Aplica-se somente ao KMDF]
O método WdfCmResourceListAppendDescriptor adiciona um descritor de recursos ao final de uma lista de recursos especificada.
Sintaxe
NTSTATUS WdfCmResourceListAppendDescriptor(
[in] WDFCMRESLIST List,
[in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
);
Parâmetros
[in] List
Um identificador para um objeto de lista de recursos de estrutura que representa uma lista de recursos de hardware para um dispositivo.
[in] Descriptor
Um ponteiro para uma estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR que descreve um recurso de hardware.
Retornar valor
WdfCmResourceListAppendDescriptor 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 foi especificado. |
|
O driver não tinha permissão para adicionar descritores à configuração lógica especificada pelo parâmetro List . Por exemplo, o driver não pôde modificar a configuração lógica que sua função de retorno de chamada EvtDevicePrepareHardware ou EvtDeviceReleaseHardware recebeu. |
|
A estrutura não pôde alocar espaço para armazenar o descritor especificado pelo parâmetro Descritor . |
Um bug do sistema marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Comentários
A estrutura copia o conteúdo da estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR para o armazenamento interno, para que a rotina de driver que chama WdfCmResourceListAppendDescriptor possa alocar a estrutura localmente. Depois que o driver chama WdfCmResourceListAppendDescriptor , ele pode reutilizar a estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR .
Para obter mais informações sobre listas de recursos, consulte Recursos de hardware para drivers de Framework-Based.
Exemplos
O exemplo de código a seguir adiciona um descritor de recursos ao final da lista de recursos que uma função de retorno de chamada EvtDeviceResourcesQuery recebe.
NTSTATUS
PdoEvtDeviceResourcesQuery(
IN WDFDEVICE Device,
IN WDFCMRESLIST Resources
)
{
CM_PARTIAL_RESOURCE_DESCRIPTOR newDescriptor;
...
newDescriptor.Type = CmResourceTypePort;
newDescriptor.ShareDisposition = CmResourceShareDeviceExclusive;
newDescriptor.Flags = CM_RESOURCE_PORT_IO|CM_RESOURCE_PORT_16_BIT_DECODE;
newDescriptor.u.Port.Length = 1;
newDescriptor.u.Port.Start = 0;
status = WdfCmResourceListAppendDescriptor(
Resources,
&newDescriptor
);
...
}
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) |