Метод IWDFFile3::GetInitiatorProcessId (wudfddi.h)
[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. В UMDF 1 новые функции не добавляются, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с UMDF.]
Метод GetInitiatorProcessId извлекает идентификатор процесса инициатора, связанный с интерфейсом IWDFFile .
Синтаксис
void GetInitiatorProcessId(
[out] DWORD *pdwProcessId
);
Параметры
[out] pdwProcessId
Указывает адрес расположения, которое получает идентификатор процесса инициатора, связанный с файлом, если таковой существует. В противном случае расположение получает значение 0.
Возвращаемое значение
None
Remarks
Начиная с 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 |