Partager via


KsCreatePin, fonction (ks.h)

La fonction KsCreatePin transmet une demande de connexion à un appareil, créant une 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 qui lance la demande de création et où la connexion se produit.

[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 par un KSDATAFORMAT structure de données, décrivant le format de données demandé pour la connexion.

[in] DesiredAccess

Spécifie l’accès souhaité à l’épingle. Cela est généralement GENERIC_READ ou GENERIC_WRITE. Pour que les données qui circulent dans la broche, cette valeur soit définie sur GENERIC_WRITE, et pour les données sortant de la broche, elles doivent être définies sur GENERIC_READ quelle que soit la méthode de communication.

[out] ConnectionHandle

Spécifie le handle de connexion passé. La routine le remplit avec un handle pour l’objet de fichier de la connexion créée. Cette valeur peut ensuite être utilisée pour se déconnecter avec la fonction CloseHandle.

Valeur de retour

La fonction KsCreatePin retourne STATUS_SUCCESS si la connexion a réussi, ou renvoie une erreur si la connexion a échoué. De plus, 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 requête uniquement si l’interface, le support et le format de données sont compatibles.

Si Connect->PinToHandle est NULL, KsCreatePin crée une épingle 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 d’épingle à créer.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête ks.h (include Ks.h)
bibliothèque Ks.lib

Voir aussi

IRP_MJ_CREATE

KSDATAFORMAT

KSPIN_CONNECT