3.1.4.7 GetDriverIdList

The GetDriverIdList method SHOULD<40> get driver revisions and driver sets for new driver updates. This method is invoked only when an upstream server (USS) syncs with Microsoft Update.

 <wsdl:operation name="GetRevisionIdList">
   <wsdl:input message="tns:GetDriverIdListSoapIn" />
   <wsdl:output message="tns:GetDriverIdListSoapOut" />
 </wsdl:operation>

The SOAP operation is defined as follows.

 <wsdl:operation name="GetDriverIdList">
       <soap:operation soapAction="http://www.microsoft.com/SoftwareDistribution/GetDriverIdList" style="document" />
 </wsdl:operation>

Request validation:

The USS validates inputs as specified in the following table. If any of the inputs are not valid, the USS MUST return a SOAP fault message to Microsoft Update with the ErrorCode set, as shown in the table.

Input

Validation conditions

ErrorCode

Cookie

MUST be present and not empty.

InvalidCookie

Cookie

The EncryptedData MUST be the correct format such that the USS can read values out of it, as specified in section 2.2.4.4.

InvalidCookie

protocolVersion in the cookie EncryptedData

MUST be of the format x.y where x is the Major Version and y is the Minor Version number.

InvalidParameters

protocolVersion in the cookie EncryptedData

Major Version MUST be 1.

IncompatibleProtocolVersion

filter:Anchor

MUST be a valid format, NULL or empty string. The format of the anchor is implementation specific and not defined by the protocol.<41>

InvalidParameters

ComputerIds in the ServerSyncDriverFilter parameter

Must be less than or equal to the value defined in the MaxNumberOfComputerIdsInRequest config value.

InvalidParameters

PnpHardwareIds in the ServerSyncDriverFilter parameter

Must be less than or equal to the value defined in the MaxNumberOfPnpHardwareIdsInRequest config value.

InvalidParameters

Data processing:

The USS MUST compose a GetDriverIdListResponse message as follows:

  1. The method checks that the number of computer Ids and device hardware Ids is not greater than the maximum configuration value that is returned to the caller in the GetConfigData method.

  2. If the caller specifies more Ids, FaultException is returned.

  3. The method looks at computer hardware Ids and PNP hardware Ids specified by Microsoft Update and sends the corresponding driver set identities and the referenced driver identities back.

  4. If categories are specified and no values t are valid, the method returns an empty result (no exception).

  5. When only some categories are invalid, the invalid categories are ignored and the method continues to return driver sets/drivers matching ComputerIds and PnpHardwareIds with the correct operating system and category prerequisites.

  6. If ComputerIds contains a computer Id that the system is unaware of, that computer Id is ignored.

  7. Set the Anchor field in the response to mark the time this operation completed.

Response:

If no errors occur during processing, the USS MUST return the success response.

If an error occurs during processing, the USS MUST return a SOAP fault. The SOAP fault SHOULD contain an <ErrorCode> element, as described in section 2.2.9. If the SOAP fault contains an <ErrorCode> element, its value MUST be one of the following.

If Microsoft Update receives a SOAP fault containing an <ErrorCode> element, it MUST react to the fault, with one of the following errors defined in section 2.2.9.3.

  • InvalidParameters

  • InternalServerError

  • InvalidCookie

  • IncompatibleProtocolVersion

If a fault that does not contain an <ErrorCode> element is received, the protocol MUST be stopped.