Question about completion routine for InternalDeviceControl.

Discussion in 'Windows Vista Drivers' started by KMDF_FW, Feb 1, 2006.

  1. KMDF_FW

    KMDF_FW Guest

    Hi, does anyone know how to have the completion routine for
    InternalDeviceControl set up properly so that the routine will be called when
    the kmdf request object is completed by lower drivers? I set it up according
    to kmdf help file and the driver will only execute the routine twice before
    device manager will stop the driver completely.

    And I used the following two lines

    WdfRequestSetCompletionRoutine (Request, completionRoutine, devExt);
    ret = WdfRequestSend (Request, Target, WDF_NO_SEND_OPTIONS);

    to register a completion routine that just print out the text message and

    WdfRequestComplete(Request, Params->IoStatus.Status)

    to complete the request.


    KMDF_FW, Feb 1, 2006
    1. Advertisements

  2. that will work. are you allocating the WDFREQUEST yourself or did it come
    to you through a WDFQUEUE?

    Doron Holan [MS], Feb 2, 2006
    1. Advertisements

  3. KMDF_FW

    KMDF_FW Guest


    Thank you for your help. The request actually come from the queue actually.

    KMDF_FW, Feb 2, 2006
  4. are you formatting the request before sending it? e.g. calling
    WdfRequestFormatRequestUsingCurrentType or some WDFIOTARGET format function?

    Please do not send e-mail directly to this alias. this alias is for
    newsgroup purposes only.
    This posting is provided "AS IS" with no warranties, and confers no rights.
    Doron Holan [MS], Feb 3, 2006
  5. KMDF_FW

    KMDF_FW Guest

    Thank you, Doran and that function resolved the problem.

    KMDF_FW, Feb 4, 2006
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.