共用方式為


IWDFFile3::GetInitiatorProcessId 方法 (wudfddi.h)

[警告: UMDF 2 是最新版本的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 Windows 10 上對 UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱 開始使用 UMDF。]

GetInitiatorProcessId 方法會擷取與 IWDFFile 介面相關聯的啟動器進程標識符。

語法

void GetInitiatorProcessId(
  [out] DWORD *pdwProcessId
);

參數

[out] pdwProcessId

指定位置的位址,如果存在,則會接收與檔案相關聯的啟動器進程標識碼。 否則,位置會收到 0。

傳回值

沒有

言論

從 Windows 8 開始,系統元件可能會代表應用程式發出建立。 驅動程式可以呼叫 GetInitiatorProcessId,以判斷建立作業最終適用於哪個進程。

GetInitiatorProcessId 如果沒有與建立作業相關聯的啟動器進程,則傳回零。

如需架構檔案物件的詳細資訊,請參閱 Driver-Created 與 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