KsSynchronousDeviceControl, fonction (ksproxy.h)
La fonction KsSynchronousDeviceControl émet une opération de contrôle d’E/S d’appareil synchrone à l’objet KS spécifié par un handle de fichier.
Syntaxe
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
);
Paramètres
[in] Handle
Gérez l’objet KS sur lequel effectuer l’opération.
[in] IoControl
Code de contrôle qui identifie un type d’opération spécifique à effectuer sur un objet KS.
[in, optional] InBuffer
Pointeur vers une mémoire tampon qui contient des données qui spécifient l’opération à effectuer.
[in] InLength
Taille, en octets, de la mémoire tampon à InBuffer .
[out, optional] OutBuffer
Pointeur vers une mémoire tampon qui contient des données pour l’opération ou l’espace tampon qui reçoit des données pour l’opération.
[in] OutLength
Taille, en octets, de la mémoire tampon à OutBuffer.
[in, out] BytesReturned
Pointeur vers une variable qui reçoit la taille, en octets, des données qui KsSynchronousDeviceControl stocke dans la mémoire tampon à OutBuffer.
Valeur de retour
Retourne NOERROR en cas de réussite ; sinon, retourne un code d’erreur.
Remarques
Pour récupérer le handle de l’objet KS, une application doit appeler la méthode IKsObject ::KsGetObjectHandle.
Une application peut définir le code de contrôle dans IoControl et les mémoires tampons à InBuffer et OutBuffer comme suit pour spécifier l’opération à effectuer :
- Définissez IoControl sur IOCTL_KS_PROPERTY pour accéder à une propriété. Définissez InBuffer pour pointer vers une structure KSPROPERTY qui spécifie la propriété définie pour accéder à la propriété et s’il faut récupérer des informations sur la propriété ou définir des informations dans la propriété. Pour définir des informations dans la propriété, définissez OutBuffer pour pointer vers ces informations. Pour récupérer des informations à partir de la propriété, définissez OutBuffer pour recevoir ces informations.
- Définissez IoControl sur IOCTL_KS_METHOD pour exécuter une méthode. Définissez InBuffer pour pointer vers une structure KSMETHOD qui spécifie la méthode définie pour s’exécuter et s’il faut lire et/ou écrire des données associées à la méthode. Pour lire des données, définissez OutBuffer pour pointer vers ces données. Pour écrire des données, définissez OutBuffer pour recevoir ces données.
- Définissez IoControl sur IOCTL_KS_ENABLE_EVENT pour demander que l’objet KS spécifié par Handle notifier l’application chaque fois qu’une action d’événement spécifique se produit. Définissez InBuffer pour pointer vers une structure KSEVENT qui spécifie l’événement de l’événement à signaler. Définissez OutBuffer pour pointer vers une structure KSEVENTDATA qui décrit comment l’objet KS doit notifier l’application lorsque l’événement se produit. Consultez également événements KS .
- Définissez IoControl sur IOCTL_KS_DISABLE_EVENT pour informer l’objet KS spécifié par Handle pour arrêter de notifier l’application chaque fois qu’une action d’événement spécifique se produit. Définissez InBuffer pour pointer vers la structure KSEVENTDATA précédemment utilisée dans la demande de notification d’événement.
Après l’appel à KsSynchronousDeviceControl, OutBuffer contiendra un tableau de GUID définis pris en charge par l’objet spécifié par Handle.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | ksproxy.h (include Ksproxy.h) |
bibliothèque | Ksproxy.lib |