共用方式為


IWDFFile3::GetInitiatorProcessId 方法 (wudfddi.h)

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

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

語法

void GetInitiatorProcessId(
  [out] DWORD *pdwProcessId
);

參數

[out] pdwProcessId

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

傳回值

備註

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

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

如需架構檔案對象的詳細資訊,請參閱 Driver-Created 與 Application-Created File Objects

範例

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