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: SQL Server
A função GetCommand é usada para obter o próximo comando enfileirado para um dispositivo. Quando solicitada, essa função aguarda o próximo comando.
Sintaxe
HRESULT IClientVirtualDevice::GetCommand (
DWORD dwTimeOut,
VDC_Command** const ppCmd
);
Parâmetros
ppCmd Quando um comando é retornado com êxito, o parâmetro retorna o endereço de um comando a ser executado. A memória retornada é somente leitura. Quando o comando é concluído, esse ponteiro é passado para a rotina CompleteCommand. Para obter mais informações sobre cada comando, confira Comandos.
dwTimeOut Este é o tempo de espera, em milissegundos. Use INFINITE para aguardar indefinidamente. Use 0 para sondar um comando. VD_E_TIMEOUT será retornado se nenhum comando estiver disponível no momento. Se o tempo limite esgotar, o cliente decidirá a próxima ação.
Valor de retorno
Valor de retorno | Explicação |
---|---|
NOERROR | Foi efetuado fetch de um comando. |
VD_E_CLOSE | O dispositivo foi fechado pelo servidor. |
VD_E_TIMEOUT | Nenhum comando estava disponível e o tempo limite expirou. |
VD_E_ABORT | O cliente ou o servidor usou o SignalAbort para forçar um desligamento. |
Comentários
Quando VD_E_CLOSE é retornado, o SQL Server fecha o dispositivo. Isso faz parte do desligamento normal. Depois que todos os dispositivos forem fechados, o cliente invocará IClientVirtualDeviceSet2::Close para fechar o conjunto de dispositivos virtuais.
Quando essa rotina precisa ser bloqueada para aguardar um comando, o thread é deixado em uma condição Passível de Alerta.
Próximas etapas
Para obter mais informações, confira a Visão geral da referência da interface de dispositivo virtual do SQL Server.