KsCreatePin 函数 (ks.h)

KsCreatePin 函数将连接请求传递给设备,从而创建固定实例。 此函数只能在内核模式客户端的 PASSIVE_LEVEL 调用。

语法

KSDDKAPI NTSTATUS KsCreatePin(
  [in]  HANDLE         FilterHandle,
  [in]  PKSPIN_CONNECT Connect,
  [in]  ACCESS_MASK    DesiredAccess,
  [out] PHANDLE        ConnectionHandle
);

参数

[in] FilterHandle

指定启动创建请求的筛选器的句柄,以及连接的位置。

[in] Connect

指向包含所请求连接参数的 KSPIN_CONNECT 结构的指针。 这应遵循内存中 KSDATAFORMAT 数据结构,描述为连接请求的数据格式。

[in] DesiredAccess

指定引脚所需的访问。 这通常是 GENERIC_READGENERIC_WRITE。 对于流入引脚的数据,此值应设置为 GENERIC_WRITE,对于流出引脚的数据,应将其设置为 GENERIC_READ 而不考虑通信方法。

[out] ConnectionHandle

指定传递的连接句柄。 该例程使用所创建连接的文件对象的句柄填充此值。 然后,此值可用于与 CloseHandle 函数断开连接。

返回值

如果连接成功,则 KsCreatePin 函数返回 STATUS_SUCCESS;如果连接失败,则返回错误。 此外,可以返回此 Win32 错误代码(来自 Winerror.h):

言论

例程向驱动程序发送 IRP_MJ_CREATE 请求。 驱动程序仅当接口、中等和数据格式兼容时,才接受请求。

如果 Connect->PinToHandleNULLKsCreatePin 创建一个 pin,调用方可以使用该图钉将请求发送到 Connect中指定的流式处理驱动程序 ->FilterHandleConnect->PinId 确定要创建的引脚的引脚类型。

要求

要求 价值
目标平台 普遍
标头 ks.h (包括 Ks.h)
Ks.lib

另请参阅

IRP_MJ_CREATE

KSDATAFORMAT

KSPIN_CONNECT