Método IWDFIoRequest2::GetQueryInformationParameters (wudfddi.h)
[Advertencia: UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción con UMDF.
El método GetQueryInformationParameters recupera parámetros asociados a una solicitud de E/S con tipo WdfRequestQueryInformation.
Sintaxis
void GetQueryInformationParameters(
[out, optional] WDF_FILE_INFORMATION_CLASS *pInformationClass,
[out, optional] SIZE_T *pSizeInBytes
);
Parámetros
[out, optional] pInformationClass
Puntero a una variable asignada por el controlador que recibe un valor con tipo WDF_FILE_INFORMATION_CLASS. Este puntero es opcional y puede ser NULL.
[out, optional] pSizeInBytes
Puntero a una variable asignada por el controlador que recibe el tamaño, en bytes, de la información del archivo. Este puntero es opcional y puede ser NULL.
Valor devuelto
None
Observaciones
El controlador puede llamar a GetQueryInformationParameters para obtener los parámetros asociados a una solicitud de E/S, si el tipo de solicitud es WdfRequestQueryInformation. El parámetro pInformationClass identifica el tipo de información de archivo que debe proporcionar el controlador y el parámetro pSizeInBytes especifica el tamaño del búfer que recibirá la información. El controlador puede llamar a IWDFIoRequest2::RetrieveOutputBuffer para obtener la dirección del búfer.
El controlador debe comprobar que el tamaño de búfer especificado es lo suficientemente grande como para recibir la información de archivo solicitada.
Ejemplos
El siguiente ejemplo de código forma parte de una función de devolución de llamada IQueueCallbackDefaultIoHandler::OnDefaultIoHandler . Si la función de devolución de llamada recibe una solicitud de información de consulta, recupera los parámetros de la solicitud. Si el controlador admite el tipo de información especificado, copia la información en el búfer de salida de la solicitud.
void
CMyQueue::OnDefaultIoHandler(
IWDFIoQueue* pQueue,
IWDFIoRequest* pRequest
)
{
HRESULT hr;
WDF_FILE_INFORMATION_CLASS infoClass;
SIZE_T bufSize;
PFILE_BASIC_INFORMATION buffer;
if (WdfRequestQueryInformation==pRequest->GetType())
{
//
// Declare an IWDFIoRequest2 interface pointer and obtain the
// IWDFIoRequest2 interface from the IWDFIoRequest interface.
//
CComQIPtr<IWDFIoRequest2> r2 = pRequest;
//
// Get the I/O request's parameters.
//
r2->GetQueryInformationParameters(&infoClass,
&bufSize);
//
// This driver supports only FileBasicInformation.
//
if (infoClass != FileBasicInformation)
{
hr = HRESULT_FROM_NT(STATUS_NOT_SUPPORTED);
goto exit;
}
//
// Validate buffer size.
//
if (bufferCb != sizeof(FILE_BASIC_INFORMATION))
{
hr = HRESULT_FROM_NT(STATUS_BUFFER_TOO_SMALL);
goto exit;
}
//
// Get output buffer.
//
hr = r2->RetrieveOutputBuffer(sizeof(FILE_BASIC_INFORMATION),
(PVOID*) &buffer,
&bufferCb);
if (SUCCEEDED(hr))
{
//
// Copy file information to output buffer.
//
CopyMemory(buffer,
&g_FileInfo,
sizeof(FILE_BASIC_INFORMATION));
r2->SetInformation(sizeof(FILE_BASIC_INFORMATION));
}
...
}
...
exit:
...
}
Requisitos
Requisito | Value |
---|---|
Finalización del soporte técnico | No disponible en UMDF 2.0 y versiones posteriores. |
Plataforma de destino | Escritorio |
Versión mínima de UMDF | 1,9 |
Encabezado | wudfddi.h (incluya Wudfddi.h) |
Archivo DLL | WUDFx.dll |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de