Метод IWDFIoRequest::GetFileObject (wudfddi.h)
[ предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе Начало работы с UMDF.]
Метод getFileObject извлекает указатель на интерфейс IWDFFile, связанный с запросом ввода-вывода.
Синтаксис
void GetFileObject(
[out] IWDFFile **ppFileObject
);
Параметры
[out] ppFileObject
Указатель на буфер, который получает указатель на интерфейс IWDFFile для объекта файла. Обратите внимание, что возврат null действителен.
Возвращаемое значение
Никакой
Замечания
Когда драйвер вызывает GetFileObject, платформа увеличивает количество ссылок в интерфейсе. Ваш драйвер отвечает за освобождение ссылки после завершения работы с указателем интерфейса. Для этого используйте смарт-указатель, который автоматически уменьшает число ссылок при выходе объекта из контекста или вызовите release на интерфейсе после завершения работы с ним.
Примеры
Следующий пример кода взят из примера WpdMultiTransportDriver в WDK. В примере объявляется интеллектуальный указатель на интерфейс IWDFFile, вызывается GetFileObject, а затем вызывается GetContext в объекте файла.
CComPtr<IWDFFile> pFileObject;
...
// Get the Context map for this client
pRequest->GetFileObject(&pFileObject);
if (pFileObject != NULL)
{
hr = pFileObject->RetrieveContext((void**)&pClientContextMap);
CHECK_HR(hr, "Failed to get Contextmap from WDF File Object");
}
Требования
Требование | Ценность |
---|---|
завершение поддержки | Недоступно в UMDF 2.0 и более поздних версиях. |
целевая платформа | Настольный |
минимальная версия UMDF | 1.5 |
заголовка | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |