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 |