Compartir a través de


Método IWDFIoRequest2::GetSetInformationParameters (wudfddi.h)

[Advertencia: UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los nuevos controladores UMDF deben escribirse mediante 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 a UMDF.]

El método GetSetInformationParameters recupera los parámetros asociados a una solicitud de E/S con tipo WdfRequestSetInformation.

Sintaxis

void GetSetInformationParameters(
  [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 de tipo WDF_FILE_INFORMATION_CLASS. Este puntero es opcional y se puede 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 se puede NULL.

Valor devuelto

Ninguno

Observaciones

El controlador puede llamar a GetSetInformationParameters para obtener los parámetros asociados a una solicitud de E/S, si el tipo de solicitud es WdfRequestSetInformation. El parámetro pInformationClass identifica el tipo de información de archivo que debe establecer el controlador y el parámetro pSizeInBytes especifica el tamaño del búfer que contiene la información. El controlador puede llamar a IWDFIoRequest2::RetrieveInputBuffer 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 contener la información de archivo que debe establecer el controlador.

Ejemplos

El ejemplo de código siguiente forma parte de un IQueueCallbackDefaultIoHandler::OnDefaultIoHandler función de devolución de llamada. Si la función de devolución de llamada recibe una solicitud de información establecida, recupera los parámetros de la solicitud. Si el controlador admite el tipo de información especificado, copia la información del búfer de entrada 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->GetSetInformationParameters(&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 input buffer.
        // 
 hr = r2->RetrieveInputBuffer(sizeof(FILE_BASIC_INFORMATION), 
                              (PVOID*) &buffer,
                              &bufferCb);
 if (SUCCEEDED(hr))
        {
            // 
            // Copy file information from input buffer.
            // 
            CopyMemory(&g_FileInfo,
                       buffer,
                       sizeof(FILE_BASIC_INFORMATION));
        }
 ...
    }
...
exit:
...
}

Requisitos

Requisito Valor
fin del soporte técnico No disponible en UMDF 2.0 y versiones posteriores.
de la plataforma de destino de Escritorio
versión mínima de UMDF 1.9
encabezado de wudfddi.h (incluya Wudfddi.h)
DLL de WUDFx.dll

Consulte también

IWDFIoRequest2

IWDFIoRequest2::GetQueryInformationParameters