IWDFFile3::GetInitiatorProcessId 方法 (wudfddi.h)

[警告: UMDF 2 是最新版本的 UMDF,并取代 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 不会向 UMDF 1 添加任何新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅使用 UMDF 入门。]

GetInitiatorProcessId 方法检索与 IWDFFile 接口关联的发起程序进程 ID。

语法

void GetInitiatorProcessId(
  [out] DWORD *pdwProcessId
);

参数

[out] pdwProcessId

指定接收与文件关联的发起程序进程标识符(如果存在)的位置的地址。 否则,该位置接收 0。

返回值

备注

从 Windows 8 开始,系统组件可能会代表应用发出创建。 驱动程序可以调用 GetInitiatorProcessId 来确定创建操作最终适用于哪个进程。

如果没有与创建操作关联的发起方进程,则 GetInitiatorProcessId 返回零。

有关框架文件对象的详细信息,请参阅 驱动程序创建与 Application-Created 文件对象

示例

VOID
STDMETHODCALLTYPE
CMyQueue::OnCreateFile(
    __in IWDFIoQueue *pWdfQueue,
    __in IWDFIoRequest *pWdfRequest,
    __in IWDFFile*  pWdfFileObject
    )
 ...
    IWDFFile3*  pWdfFileObject3 = NULL;
    HRESULT  hr = S_OK;
    DWORD initiatorProcessId;

    //
    // Obtain IWDFFile3 interface from IWDFFile.
    //
    hr = pWdfFileObject->QueryInterface(IID_PPV_ARGS(&pWdfFileObject3));
    if (!SUCCEEDED(hr))
    {
        goto Done;
    }
    pWdfFileObject3->GetInitiatorProcessId(&initiatorProcessId);
    ...


要求

要求
结束支持 在 UMDF 2.0 及更高版本中不可用。
目标平台 桌面
最低 UMDF 版本 1.11
标头 wudfddi.h (包括 Wudfddi.h)
DLL WUDFx.dll

另请参阅

IWDFFile3