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 WdfIoTargetAllocAndQueryTargetProperty aloca um buffer e recupera uma propriedade de dispositivo especificada para um destino de E/S especificado.
Sintaxe
NTSTATUS WdfIoTargetAllocAndQueryTargetProperty(
[in] WDFIOTARGET IoTarget,
[in] DEVICE_REGISTRY_PROPERTY DeviceProperty,
[in] POOL_TYPE PoolType,
[in, optional] PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
[out] WDFMEMORY *PropertyMemory
);
Parâmetros
[in] IoTarget
Um identificador para um objeto de destino de E/S local ou remoto obtido de uma chamada anterior para WdfDeviceGetIoTarget ou WdfIoTargetCreate ou de um método que um destino de E/S especializado fornece.
[in] DeviceProperty
Um valor DEVICE_REGISTRY_PROPERTYdigitado que identifica a propriedade do dispositivo a ser recuperada.
[in] PoolType
Um valor POOL_TYPEdigitado que especifica o tipo de memória a ser alocada.
[in, optional] PropertyMemoryAttributes
Um ponteiro para uma estrutura de WDF_OBJECT_ATTRIBUTES alocada pelo chamador que descreve atributos de objeto para o objeto de memória que a função alocará. Esse parâmetro é opcional e pode ser WDF_NO_OBJECT_ATTRIBUTES.
[out] PropertyMemory
Um ponteiro para um local do tipo WDFMEMORY que recebe um identificador para um objeto de memória da estrutura.
Valor de retorno
WdfIoTargetAllocAndQueryTargetProperty 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 |
|---|---|
|
O valor que o parâmetro DeviceProperty especificado era inválido. |
|
Os drivers do dispositivo ainda não relataram as propriedades do dispositivo. |
Esse método também pode retornar outros valores NTSTATUS .
Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.
Observações
O método WdfIoTargetAllocAndQueryTargetProperty determina a quantidade de memória necessária para manter a propriedade do dispositivo solicitada. Esse método aloca memória suficiente para armazenar os dados e retorna um identificador para um objeto de memória de estrutura que descreve a memória alocada. Para acessar os dados, o driver pode chamar WdfMemoryGetBuffer.
Para obter mais informações sobre WdfIoTargetAllocAndQueryTargetProperty, consulte Obtendo informações sobre umde destino de E/S geral.
Para obter mais informações sobre destinos de E/S, consulte Usando destinos de E/S.
Exemplos
O exemplo de código a seguir chama WdfIoTargetAllocAndQueryTargetProperty para obter a propriedade DevicePropertyFriendlyName. Depois que wdfIoTargetAllocAndQueryTargetProperty retorna, o driver pode chamar WdfMemoryGetBuffer para obter um ponteiro para o buffer que contém a cadeia de caracteres de nome.
WDFMEMORY targetName;
NTSTATUS status;
status = WdfIoTargetAllocAndQueryTargetProperty(
Target,
DevicePropertyFriendlyName,
NonPagedPool,
WDF_NO_OBJECT_ATTRIBUTES,
&targetName
);
Requisitos
| Requisito | Valor |
|---|---|
| da Plataforma de Destino | Universal |
| versão mínima do KMDF | 1.0 |
| cabeçalho | wdfiotarget.h (inclua Wdf.h) |
| Biblioteca | Wdf01000.sys (consulte o Controle de Versão da Biblioteca da Estrutura.) |
| IRQL | PASSIVE_LEVEL |
| regras de conformidade de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |
Consulte também
WdfDeviceAllocAndQueryProperty