Compartilhar via


ActivateDeviceEx

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função carrega um driver e adiciona seus valores Registro a chave Active no Registro.

Syntax

HANDLE ActivateDeviceEx(
  LPCWSTR lpszDevKey, 
  LPCVOID lpRegEnts, 
  DWORD cRegEnts, 
  LPVOID lpvParam
);

Parameters

  • lpszDevKey
    [no] Ponteiro para uma seqüência de caracteres que contém o caminho da chave Registro do o driver de dispositivo Registro. Esta chave contém DLL Nome do driver, prefixo e outros dados. Para informações sobre as subchaves das HKEY_LOCAL_MACHINE\Drivers\Active chave do Registro, consulte Device Manager Registry Keys.
  • lpRegEnts
    [no] Ponteiro para uma matriz de estruturas REGINI, cada uma delas define um valor do Registro para adicionar para do o dispositivo Ativa chave Registro antes que o driver é carregado. Definir como NULL, a menos que seja para um driver barramento.
  • cRegEnts
    [no] Contagem do número de Regini estruturas para o qual lpRegEnts Pontos. Isso afeta uma generalização da função ActivateDevice.
  • lpvParam
    [no] Opaco ponteiro para uma estrutura de dados driver-specific. Você pode usá-lo para transmitir parâmetros para o driver carregado sem precisar escrevê-los por meio de Registro.

    lpvParam Pode ser usado pelo barramento drivers para transmitir informações Bus-specific, entrada pontos ou ambos os drivers para carregado. Usar esse parâmetro impede que os clientes de barramento que se tornem barramento-desconhecido. Isso é aceitável para alguns barramentos, especialmente aqueles cujos drivers não podem se tornar barramento-desconhecido.

    lpvParam é passado para a função XXX_Init (Device Manager) como um segundo parâmetro.**

Return Value

Retorna um identificador que você pode usar mais tarde como o parâmetro para a função DeactivateDevice, se bem-sucedido. Se a função não for bem-sucedido, ele retorna NULL. Para obter informações de erro estendidas, chamar GetLastError.

Remarks

Carregando um dispositivo com ActivateDeviceEx Permite que um dispositivo para ler seu identificador ativação do seu Ativa chave Registro. Nas versões de Windows Embedded CE Windows CE 5.0, antes da a Ativa valor chave do Registro não foi escrito para o Registro até que do o driver Init ponto de entrada concluída.

ActivateDeviceEx Oferece mais funcionalidade do que ActivateDevice. Ambas essas funções substituir a função RegisterDevice.

ActivateDeviceEx pode transmitir sem carregar drivers, protocolos e serviços que são ligado para o Device Manager. Ele também pode carregar múltiplo drivers com enumerador de barramento (BusEnum.dll) e podem adicionar valores de barramento-específico para o Ativa chave. ** Para Windows Embedded CE, para obter mais informações sobre BusEnum.dll, consulte Bus Enumerator.**

ActivateDeviceEx Lê o chave do Registro especificado em lpszDevKey Para get o nome DLL, dispositivo prefixo, índice e outros valores. Em seguida, ele adiciona o dispositivo para o ativo lista dispositivo e armazena os valores relevantes o ativo lista dispositivo. Não se há nenhum índice dispositivo especificado na chave nomeado na lpszDevKey, em seguida, atribui um livre índice. Finalmente, ele carrega o driver de dispositivo DLL no espaço de processo da Device Manager.

ActivateDeviceEx pode retornar zero para o sucesso rather than falha. Se o DEVFLAGS_NOLOAD ou DEVFLAGS_UNLOAD for definida na Sinalizadores valor da chave de dispositivo, ActivateDeviceEx Retorna zero. Neste maiúsculas e minúsculas, não é possível saber a diferença entre o sucesso e falha.

O O índice valor indica numeração porta com drivers interface transmitir, such as COM0: ou COM1:. Se nenhum O índice valor, o Device Manager gera um.

O Sinalizadores valor é um conjunto de bits que modificam o comportamento do ActivateDeviceEx. Esse valor é opcional e é definido para zero, se não houver nenhum valor presente. Bits de 3 a 23 são reservados e devem ser definidas como zero. O driver carregado pode usar bits 24 a 31 da Sinalizadores valor. A seguinte tabela mostra os bits definidos, que são definidos em % _WINCEROOT%\Public\Common\DDK\Inc\Devload.h.

Sinalizador Valor Descrição

DEVFLAGS_NONE

0 x 00000000

Há sinalizadores são definidos.

DEVFLAGS_UNLOAD

0 x 00000001

Driver descarrega após um chamar para o XXX_Init ponto de entrada ou após o XXX_Init Retorna ponto de entrada. Nenhuma código de erro será retornado.

Barramento enumerador geralmente executa com esse sinalizador.

DEVFLAGS_LOADLIBRARY

0 x 00000002

Driver for carregado com LoadLibrary em vez de LoadDriver.

DEVFLAGS_NOLOAD

0x00000004

Driver não está carregado.

DEVFLAGS_NAKEDENTRIES

0x00000008

Driver entrada pontos não têm um XXXPrefixo preconfinado.

DEVFLAGS_BOOTPHASE_1

0x00001000

Driver é carregado durante inicializar fase um. Por padrão, dispositivo drivers são carregados durante inicializar fase dois.

Fase de inicialização zero é antes de que carrega a Device Manager.

Fase de inicialização uma é para localizar o Registro.

Fase de inicialização que dois é quando inicial carregar drivers dispositivo.

Fase de inicialização três é após carregar drivers dispositivo inicial.

DEVFLAGS_IRQ_EXCLUSIVE

0x00000100

Driver carregado apenas quando ela tem acessar exclusivo para a IRQ.

DEVFLAGS_TRUSTEDCALLERONLY

0x00010000

Driver só pode ser aberto por um aplicativo privilegiado.

O dwClientInfo parâmetro de ActivateDevice é uma entrada para o valor DEVLOAD_CLIENTINFO_VALNAME Registro.

Requirements

Header winbase.h
Library coredll.lib
Windows Embedded CE Windows CE .NET 4.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

DeactivateDevice
REGINI
XXX_Init (Device Manager)

Concepts

Bus Enumerator
Device Interface Notifications
Device Manager Security

Other Resources

Hive-Based Registry