Функция SpbTargetGetFileObject (spbcx.h)
Метод SpbTargetGetFileObject принимает в качестве входного параметра, дескриптор SPBTARGET на открытое целевое устройство и возвращает дескриптор WDFFILEOBJECT в этот целевой объект.
Синтаксис
WDFFILEOBJECT SpbTargetGetFileObject(
[in] SPBTARGET Target
);
Параметры
[in] Target
SPBTARGET на целевое устройство на шине.
Возвращаемое значение
SpbTargetGetFileObject возвращает дескриптор WDFFILEOBJECT на открытое целевое устройство на шине. Метод возвращает значение NULL, если подключение к целевому объекту было закрыто обратным вызовом EvtSpbTargetDisconnect.
Замечания
Драйвер контроллера может вызвать этот метод, чтобы получить дескриптор WDFFILEOBJECT на открытое целевое устройство на шине. Затем драйвер контроллера SPB может использовать этот дескриптор в качестве входного параметра для методов WDF, требующих такого дескриптора.
SpbTargetGetFileObject возвращает значение NULL, только если дескриптор WDFFILEOBJECT для целевого объекта был закрыт, но до его закрытия драйвер контроллера SPB взял дополнительную ссылку на объект SBPTARGET, чтобы продлить его время существования.
Если подключение было закрыто и драйвер контроллера SPB не содержит ссылок на объект SPBTARGET, дескриптор SBPTARGET больше не действителен. Передача недопустимого дескриптора в SpbTargetGetFileObject вызывает проверку ошибки.
После того как spbTargetGetFileObject возвращает дескриптор WDFFILEOBJECT, не гарантирует, что целевое подключение останется открытым, если только другой объект (например, активный запрос ввода-вывода) содержит ссылку на объект WDFFILEOBJECT, чтобы предотвратить его неожиданное закрытие. Этот метод является наиболее полезным и, следовательно, скорее всего, вызывается, когда целевое подключение гарантированно будет открыто. Как правило, такие вызовы происходят во время evtSpbTargetConnect и EvtSpbTargetDisconnect обратных вызовов и во время обработки запросов ввода-вывода.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 8. |
целевая платформа | Всеобщий |
заголовка | spbcx.h |
библиотеки | Spbcxstubs.lib |
IRQL | <= DISPATCH_LEVEL |