função CM_Request_Device_EjectA (cfgmgr32.h)
A função CM_Request_Device_Eject prepara uma instância de dispositivo local para remoção segura, se o dispositivo for removível. Se o dispositivo puder ser fisicamente ejetado, ele será.
Sintaxe
CMAPI CONFIGRET CM_Request_Device_EjectA(
[in] DEVINST dnDevInst,
[out, optional] PPNP_VETO_TYPE pVetoType,
[out, optional] LPSTR pszVetoName,
[in] ULONG ulNameLength,
[in] ULONG ulFlags
);
Parâmetros
[in] dnDevInst
Identificador de instância de dispositivo fornecido pelo chamador associado ao computador local.
[out, optional] pVetoType
(Opcional.) Se não for NULL, isso apontará para um local que, se a solicitação de remoção falhar, receberá um valor do tipo PNP_VETO_TYPE indicando o motivo da falha.
[out, optional] pszVetoName
(Opcional.) Se não for NULL, esse será um ponteiro fornecido pelo chamador para um buffer de cadeia de caracteres que recebe uma cadeia de caracteres de texto. O tipo de informação que essa cadeia de caracteres fornece depende do valor recebido por pVetoType. Para obter informações sobre essas cadeias de caracteres, consulte PNP_VETO_TYPE.
[in] ulNameLength
(Opcional.) Valor fornecido pelo chamador que representa o comprimento do buffer de cadeia de caracteres fornecido por pszVetoName. Isso deve ser definido como MAX_PATH.
[in] ulFlags
Não usado.
Retornar valor
Se a operação for bem-sucedida, a função retornará CR_SUCCESS. Caso contrário, ele retornará um dos códigos de erro prefixados por CR_ definidos em Cfgmgr32.h.
Comentários
Se pszVetoName for NULL, o gerenciador PnP exibirá uma mensagem para o usuário indicando que o dispositivo foi removido ou, se a solicitação falhou, identificando o motivo da falha. Se pszVetoName não for NULL, o gerenciador PnP não exibirá uma mensagem. (No entanto, observe que, somente para o Microsoft Windows 2000, o gerenciador de PnP exibe uma mensagem mesmo que pszVetoName não seja NULL, se a funcionalidade de CM_DEVCAP_DOCKDEVICE do dispositivo estiver definida.)
Os chamadores de CM_Request_Device_Eject às vezes exigem SeUndockPrivilege ou SeLoadDriverPrivilege, da seguinte maneira:
- Se a funcionalidade de CM_DEVCAP_DOCKDEVICE do dispositivo estiver definida (o dispositivo é um dispositivo "dock"), os chamadores deverão ter SeUndockPrivilege. (SeLoadDriverPrivilege não é necessário.)
- Se a funcionalidade de CM_DEVCAP_DOCKDEVICE do dispositivo não estiver definida (o dispositivo não é um dispositivo "dock") e se o processo de chamada não for interativo ou estiver em execução em um ambiente de vários usuários em uma sessão não anexada ao console físico (como uma sessão remota dos Serviços de Terminal), os chamadores dessa função deverão ter SeLoadDriverPrivilege.
Para obter informações sobre como usar identificadores de instância de dispositivo associados ao computador local, consulte CM_Get_Child.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Microsoft Windows 2000 e versões posteriores do Windows. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | cfgmgr32.h (inclua Cfgmgr32.h) |
Biblioteca | Cfgmgr32.lib |
Confira também
CM_Get_Child
CM_Query_And_Remove_SubTree
CM_Query_And_Remove_SubTree_Ex
CM_Request_Device_Eject_Ex