Partilhar via


Função IoSetDevicePropertyData (wdm.h)

A rotina IoSetDevicePropertyData modifica a configuração atual de uma propriedade do dispositivo.

Sintaxe

NTSTATUS IoSetDevicePropertyData(
  [in]           PDEVICE_OBJECT   Pdo,
  [in]           const DEVPROPKEY *PropertyKey,
  [in]           LCID             Lcid,
  [in]           ULONG            Flags,
  [in]           DEVPROPTYPE      Type,
  [in]           ULONG            Size,
  [in, optional] PVOID            Data
);

Parâmetros

[in] Pdo

Um ponteiro para o PDO (objeto de dispositivo físico) para o dispositivo que está sendo consultado.

[in] PropertyKey

Um ponteiro para uma estrutura de DEVPROPKEY que especifica a chave de propriedade do dispositivo.

[in] Lcid

Um identificador de localidade. Defina esse parâmetro como um valor LCID específico do idioma ou para LOCALE_NEUTRAL.

O LCID LOCALE_NEUTRAL especifica que a propriedade é neutra em idioma (ou seja, não é específica para qualquer idioma).

Não defina esse parâmetro como LOCALE_SYSTEM_DEFAULT ou LOCALE_USER_DEFAULT.

Para obter mais informações sobre valores LCID específicos do idioma, consulte estrutura LCID.

[in] Flags

Defina esse parâmetro para PLUGPLAY_PROPERTY_PERSISTENT se o valor da propriedade definido por essa rotina deve persistir entre as reinicializações do computador. Caso contrário, defina Flags como zero.

Os sistemas operacionais Windows 8 e Windows Server 2012 e posteriores tratam os sinalizadores como se PLUGPLAY_PROPERTY_PERSISTENT sempre fosse passado.

[in] Type

Um valor DEVPROPTYPE que especifica o tipo dos dados fornecidos no buffer Data.

[in] Size

O tamanho, em bytes, do buffer que data aponta.

[in, optional] Data

Um ponteiro para os dados da propriedade do dispositivo. Defina esse parâmetro para NULL para excluir a propriedade especificada. Se data não forNULL, a rotina armazenará uma cópia interna do valor da propriedade. O buffer apontado pelo Data não precisa permanecer válido após o retorno da chamada.

Valor de retorno

IoSetDevicePropertyData retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida ou o código NTSTATUS apropriado em caso de falha.

Observações

Para ver os tipos de propriedade disponíveis para uso por essa rotina, consulte DEVPROP_TYPE_BYTE e páginas adjacentes para DEVPROP_TYPE_*.

Os drivers de modo kernel usam a rotina de IoSetDevicePropertyData para modificar as propriedades do dispositivo definidas como parte do modelo de propriedade do dispositivo unificado. Para obter mais informações sobre as propriedades do dispositivo, consulte Propriedades do Dispositivo.

Para excluir uma propriedade para uma localidade específica, passe um valor LCID específico do idioma em Lcid e NULL no Data.

Para excluir uma propriedade para todas as localidades, passe LOCALE_NEUTRAL em Lcid e NULL em Data.

Para modificar uma propriedade para uma localidade específica, passe um valor LCID específico do idioma em Lcid eNULL não no Data.

Para modificar uma propriedade para todas as localidades, passe LOCALE_NEUTRAL Lcid eNULL não no Data.

Começando com o Windows 8 e o Windows Server 2012 passando LOCALE_NEUTRAL em Lcid é tratado como qualquer outra localidade.

Os drivers podem usar a rotina de IoGetDevicePropertyData para obter o valor atual de uma propriedade do dispositivo.

Os chamadores de IoSetDeviceProperty devem estar em execução no IRQL <= APC_LEVEL no contexto de um thread do sistema.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows Vista.
da Plataforma de Destino Universal
cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= APC_LEVEL
regras de conformidade de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte também

DEVPROPKEY

DEVPROPTYPE

IoGetDevicePropertyData