Função KsSynchronousDeviceControl (ksproxy.h)
A função KsSynchronousDeviceControl emite uma operação de controle de E/S de dispositivo síncrona para o objeto KS especificado por um identificador de arquivo.
Sintaxe
KSDDKAPI HRESULT KsSynchronousDeviceControl(
[in] HANDLE Handle,
[in] ULONG IoControl,
[in, optional] PVOID InBuffer,
[in] ULONG InLength,
[out, optional] PVOID OutBuffer,
[in] ULONG OutLength,
[in, out] PULONG BytesReturned
);
Parâmetros
[in] Handle
Manipule para o objeto KS no qual executar a operação.
[in] IoControl
Código de controle que identifica um tipo específico de operação a ser executado em um objeto KS.
[in, optional] InBuffer
Ponteiro para um buffer que contém dados que especificam a operação a ser executada.
[in] InLength
Tamanho, em bytes, do buffer no InBuffer.
[out, optional] OutBuffer
Ponteiro para um buffer que contém dados para a operação ou o espaço de buffer que recebe dados para a operação.
[in] OutLength
Tamanho, em bytes, do buffer no OutBuffer.
[in, out] BytesReturned
Ponteiro para uma variável que recebe o tamanho, em bytes, dos dados que KsSynchronousDeviceControl armazena no buffer no OutBuffer.
Retornar valor
Retorna NOERROR se tiver êxito; caso contrário, retorna um código de erro.
Comentários
Para recuperar o identificador para o objeto KS, um aplicativo deve chamar o método IKsObject::KsGetObjectHandle .
Um aplicativo pode definir o código de controle em IoControl e os buffers em InBuffer e OutBuffer da seguinte maneira para especificar a operação a ser executada:
- Defina IoControl como IOCTL_KS_PROPERTY para acessar uma propriedade. Defina InBuffer para apontar para uma estrutura KSPROPERTY que especifica a propriedade da propriedade definida para acessar e se deseja recuperar informações sobre a propriedade ou definir informações na propriedade . Para definir informações na propriedade , defina OutBuffer para apontar para essas informações. Para recuperar informações da propriedade, defina OutBuffer para receber essas informações.
- Defina IoControl como IOCTL_KS_METHOD para executar um método. Defina InBuffer para apontar para uma estrutura KSMETHOD que especifica o método do método definido para execução e se deve ler e/ou gravar dados relacionados ao método. Para ler dados, defina OutBuffer para apontar para esses dados. Para gravar dados, defina OutBuffer para receber esses dados.
- Defina IoControl como IOCTL_KS_ENABLE_EVENT para solicitar que o objeto KS especificado pelo Handle notifique o aplicativo sempre que ocorrer uma ação de evento específica. Defina InBuffer para apontar para uma estrutura KSEVENT que especifica o evento do conjunto de eventos sobre o qual notificar. Defina OutBuffer para apontar para uma estrutura KSEVENTDATA que descreve como o objeto KS deve notificar o aplicativo quando o evento ocorrer. Consulte também Eventos KS.
- Defina IoControl como IOCTL_KS_DISABLE_EVENT para informar o objeto KS especificado pelo Handle para parar de notificar o aplicativo sempre que ocorrer uma ação de evento específica. Defina InBuffer para apontar para a estrutura KSEVENTDATA que foi usada anteriormente na solicitação de notificação de eventos.
Após a chamada para KsSynchronousDeviceControl, OutBuffer conterá uma matriz de GUIDs definidos com suporte pelo objeto especificado por Handle.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ksproxy.h (inclua Ksproxy.h) |
Biblioteca | Ksproxy.lib |