Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La función KsSynchronousDeviceControl emite una operación de control de E/S de dispositivo sincrónico al objeto KS especificado por un identificador de archivo.
Sintaxis
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
Identificador del objeto KS en el que se va a realizar la operación.
[in] IoControl
Código de control que identifica un tipo específico de operación que se va a realizar en un objeto KS.
[in, optional] InBuffer
Puntero a un búfer que contiene datos que especifican la operación que se va a realizar.
[in] InLength
Tamaño, en bytes, del búfer en inBuffer.
[out, optional] OutBuffer
Puntero a un búfer que contiene datos para la operación o espacio de búfer que recibe datos de la operación.
[in] OutLength
Tamaño, en bytes, del búfer en outBuffer.
[in, out] BytesReturned
Puntero a una variable que recibe el tamaño, en bytes, de los datos que KsSynchronousDeviceControl almacena en el búfer en OutBuffer.
Valor devuelto
Devuelve NOERROR si se ejecuta correctamente; de lo contrario, devuelve un código de error.
Observaciones
Para recuperar el identificador del objeto KS, una aplicación debe llamar al método IKsObject::KsGetObjectHandle.
Una aplicación puede establecer el código de control en IoControl y los búferes en inBuffer y outBuffer como se indica a continuación para especificar la operación que se va a realizar:
- Establezca ioControl en IOCTL_KS_PROPERTY para acceder a una propiedad. Establezca InBuffer para que apunte a una estructura de KSPROPERTY que especifica la propiedad de la propiedad establecida para tener acceso y si se debe recuperar información sobre la propiedad o establecer información en la propiedad. Para establecer información en la propiedad , establezca OutBuffer para que apunten a esa información. Para recuperar información de la propiedad , establezca OutBuffer para recibir esa información.
- Establezca IoControl en IOCTL_KS_METHOD para ejecutar un método. Establezca InBuffer para que apunte a una estructura de KSMETHOD que especifica el método del método establecido para ejecutarse y si se van a leer o escribir datos relacionados con el método. Para leer datos, establezca OutBuffer para que apunten a esos datos. Para escribir datos, establezca OutBuffer para recibir esos datos.
- Establezca IoControl en IOCTL_KS_ENABLE_EVENT para solicitar que el objeto KS especificado por Handle notifique a la aplicación cada vez que se produzca una acción de evento específica. Establezca InBuffer para que apunte a una estructura de KSEVENT que especifica el evento del conjunto de eventos sobre el que se va a notificar. Establezca OutBuffer para que apunte a una estructura de KSEVENTDATA que describe cómo el objeto KS debe notificar a la aplicación cuándo se produce el evento. Consulte también eventos KS.
- Establezca IoControl en IOCTL_KS_DISABLE_EVENT para informar al objeto KS especificado por Handle para dejar de notificar a la aplicación cada vez que se produzca una acción de evento específica. Establezca inBuffer para que apunte a la estructura de KSEVENTDATA de que se usó anteriormente en la solicitud de notificación de eventos.
Después de la llamada a KsSynchronousDeviceControl, outBuffer contendrá una matriz de GUID de conjunto admitidos por el objeto especificado por Handle.
Requisitos
| Requisito | Valor |
|---|---|
| de la plataforma de destino de | Escritorio |
| encabezado de | ksproxy.h (incluya Ksproxy.h) |
| biblioteca de | Ksproxy.lib |