Função KsSynchronousDeviceControl (ksproxy.h)
A função KsSynchronousDeviceControl emite uma operação de controle de E/S de dispositivo síncrono 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 executada 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 em InBuffer.
[out, optional] OutBuffer
Ponteiro para um buffer que contém dados para a operação ou espaço em buffer que recebe dados para a operação.
[in] OutLength
Tamanho, em bytes, do buffer em outbuffer .
[in, out] BytesReturned
Ponteiro para uma variável que recebe o tamanho, em bytes, dos dados que repositórios de KsSynchronousDeviceControl no buffer em outbuffer.
Valor de retorno
Retorna NOERROR se bem-sucedido; caso contrário, retorna um código de erro.
Observações
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 do InBuffer e do OutBuffer da seguinte maneira para especificar a operação a ser executada:
- Defina IoControl para IOCTL_KS_PROPERTY para acessar uma propriedade. Defina do InBuffer para apontar para uma estrutura de KSPROPERTY que especifica a propriedade do conjunto de propriedades a ser acessada e se deseja recuperar informações sobre a propriedade ou definir informações na propriedade. Para definir informações na propriedade, defina do OutBuffer para apontar para essas informações. Para recuperar informações da propriedade, defina do OutBuffer para receber essas informações.
- Defina IoControl para IOCTL_KS_METHOD executar um método. Defina do InBuffer para apontar para uma estrutura de KSMETHOD que especifica o método do método definido para executar e se os dados de leitura e/ou gravação relacionados ao método devem ser lidos e/ou gravados. Para ler dados, defina do OutBuffer para apontar para esses dados. Para gravar dados, defina do OutBuffer para receber esses dados.
- Defina IoControl para IOCTL_KS_ENABLE_EVENT solicitar que o objeto KS especificado por Handle notifique o aplicativo sempre que ocorrer uma ação de evento específica. Defina do InBuffer para apontar para uma estrutura de KSEVENT que especifica o evento do conjunto de eventos sobre o qual notificar. Defina do OutBuffer para apontar para uma estrutura de KSEVENTDATA que descreve como o objeto KS deve notificar o aplicativo quando o evento ocorrer. Consulte também de eventos KS.
- Defina IoControl para IOCTL_KS_DISABLE_EVENT para informar o objeto KS especificado por Handle para parar de notificar o aplicativo sempre que ocorrer uma ação de evento específica. Defina do InBuffer para apontar para a estrutura de KSEVENTDATA usada anteriormente na solicitação de notificação de evento.
Após a chamada para KsSynchronousDeviceControl, do OutBuffer conterá uma matriz de GUIDs definidos com suporte pelo objeto especificado por Handle.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | ksproxy.h (inclua Ksproxy.h) |
biblioteca | Ksproxy.lib |