Compartilhar via


Método IMDServiceProvider3::SetDeviceEnumPreference (mswmdm.h)

O método SetDeviceEnumPreference define as preferências de enumeração do dispositivo.

Sintaxe

HRESULT SetDeviceEnumPreference(
  [in] DWORD dwEnumPref
);

Parâmetros

[in] dwEnumPref

Contém uma combinação OR bit a bit de um ou mais dos valores de bit a seguir que especificam a preferência de enumeração. Cada bit definido habilita o comportamento estendido correspondente, enquanto a ausência desse bit desabilita o comportamento estendido e especifica o comportamento de enumeração padrão compatível com versões anteriores. Os valores possíveis para dwEnumPref são fornecidos na tabela a seguir.

Valor Descrição
DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES Por padrão, para dispositivos que contêm várias mídias de armazenamento, cada um desses armazenamentos enumera como um pseudo-dispositivo separado. No entanto, quando esse bit é definido, os armazenamentos não são visíveis como dispositivos e apenas os dispositivos são visíveis como dispositivos.
ALLOW_OUTOFBAND_NOTIFICATION Por padrão, o mecanismo de retorno de chamada IWMDMNotification fornece aos aplicativos eventos de chegada e remoção do dispositivo. Quando esse bit é definido, o provedor de serviços é livre para notificar o aplicativo por um mecanismo separado, como usando uma mensagem de janela. Esse comportamento é além das notificações de Gerenciador de Dispositivos do Windows Media. Esse sinalizador não suprime as notificações de Gerenciador de Dispositivos do Windows Media.

Retornar valor

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
E_INVALIDARG
O parâmetro dwEnumPref contém um valor de bit sem suporte.
WMDM_E_CALL_OUT_OF_SEQUENCE
O método foi chamado após uma operação de enumeração. Ele deve ser chamado antes da operação de enumeração.

Comentários

Essa API fornece aos clientes a capacidade de substituir o comportamento de enumeração de dispositivo padrão do Windows Media Gerenciador de Dispositivos.

Os aplicativos cliente devem chamar esse método imediatamente após a criação do objeto gerenciador de dispositivos consultando a interface IWMDeviceManager do Windows Media Gerenciador de Dispositivos. A chamada deve ser feita antes que qualquer enumeração ocorra, seja explicita ou implicitamente como resultado de outra operação.

Depois que um sinalizador de preferência é definido, ele não pode ser alterado durante o tempo de vida do aplicativo (não apenas o tempo de vida do objeto Gerenciador de Dispositivos do Windows Media). Tentar alterar um sinalizador de preferência resultará em um erro. Chamar essa API novamente com as mesmas configurações de sinalizador não retorna um erro e também tem qualquer efeito na enumeração.

O sinalizador DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES deve ser respeitado pelo provedor de serviços para entrar em vigor. É possível que, apesar desse sinalizador, alguns dispositivos sejam enumerados como um dispositivo por armazenamento.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho mswmdm.h
Biblioteca Mssachlp.lib

Confira também

IMDServiceProvider3 Interface