KsCreatePin, fonction (ks.h)
La fonction KsCreatePin transmet une demande de connexion à un appareil, créant ainsi un instance de broche. Cette fonction ne peut être appelée qu’à PASSIVE_LEVEL pour les clients en mode noyau.
Syntaxe
KSDDKAPI NTSTATUS KsCreatePin(
[in] HANDLE FilterHandle,
[in] PKSPIN_CONNECT Connect,
[in] ACCESS_MASK DesiredAccess,
[out] PHANDLE ConnectionHandle
);
Paramètres
[in] FilterHandle
Spécifie le handle du filtre à l’origine de la demande de création et l’emplacement de la connexion.
[in] Connect
Pointeur vers une structure KSPIN_CONNECT qui contient des paramètres pour la connexion demandée. Cette opération doit être suivie en mémoire d’une structure de données KSDATAFORMAT , décrivant le format de données demandé pour la connexion.
[in] DesiredAccess
Spécifie l’accès souhaité à la broche. Il s’agit généralement GENERIC_READ ou GENERIC_WRITE. Pour les données circulant dans la broche, cette valeur doit être définie sur GENERIC_WRITE, et pour les données sortant de la broche, elle doit être définie sur GENERIC_READ quelle que soit la méthode de communication.
[out] ConnectionHandle
Spécifie le handle de connexion passé. La routine remplit cela avec un handle pour l’objet file de la connexion créée. Cette valeur peut ensuite être utilisée pour se déconnecter avec la fonction CloseHandle .
Valeur retournée
La fonction KsCreatePin retourne STATUS_SUCCESS si la connexion a réussi ou renvoie une erreur si la connexion a échoué. En outre, ce code d’erreur Win32 (à partir de Winerror.h) peut être retourné :
Remarques
La routine envoie une requête IRP_MJ_CREATE au pilote. Le pilote accepte la demande uniquement si l’interface, le moyen et le format de données sont compatibles.
Si Connect-PinToHandle> a la valeur NULL, KsCreatePin crée une broche que l’appelant peut utiliser pour envoyer des requêtes au pilote de streaming spécifié dans Connect-FilterHandle>. Connect-PinId> détermine le type de broche de la broche à créer.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | ks.h (inclure Ks.h) |
Bibliothèque | Ks.lib |