220{
222 CHAR VendorString[22];
232
233
236
237
239 "PCI\\VEN_%04X&DEV_%04X",
240 DeviceExtension->VendorId,
241 DeviceExtension->DeviceId);
242
243
245
246
247 SubsysId = DeviceExtension->SubsystemVendorId | (DeviceExtension->SubsystemId << 16);
248
249
251 {
253
254
256 "%s&SUBSYS_%08X&REV_%02X",
257 VendorString,
258 SubsysId,
259 DeviceExtension->RevisionId);
260 break;
261
263
264
266 "%s&SUBSYS_%08X&REV_%02X",
267 VendorString,
268 SubsysId,
269 DeviceExtension->RevisionId);
270
271
273 "%s&SUBSYS_%08X",
274 VendorString,
275 SubsysId);
276
277
279 "%s&CC_%02X%02X%02X",
280 VendorString,
281 DeviceExtension->BaseClass,
282 DeviceExtension->SubClass,
283 DeviceExtension->ProgIf);
284
285
287 "%s&CC_%02X%02X",
288 VendorString,
289 DeviceExtension->BaseClass,
290 DeviceExtension->SubClass);
291
292
294 break;
295
297
298
300 "%s&REV_%02X",
301 VendorString,
302 DeviceExtension->RevisionId);
303
304
306
307
309 "PCI\\VEN_%04X&CC_%02X%02X%02X",
310 DeviceExtension->VendorId,
311 DeviceExtension->BaseClass,
312 DeviceExtension->SubClass,
313 DeviceExtension->ProgIf);
314
315
317 "PCI\\VEN_%04X&CC_%02X%02X",
318 DeviceExtension->VendorId,
319 DeviceExtension->BaseClass,
320 DeviceExtension->SubClass);
321
322
324 "PCI\\VEN_%04X",
325 DeviceExtension->VendorId);
326
327
329 "PCI\\CC_%02X%02X%02X",
330 DeviceExtension->BaseClass,
331 DeviceExtension->SubClass,
332 DeviceExtension->ProgIf);
333
334
336 "PCI\\CC_%02X%02X",
337 DeviceExtension->BaseClass,
338 DeviceExtension->SubClass);
339
340
342 break;
343
345
346
348
349
351 "%02X",
352 (DeviceExtension->Slot.u.bits.DeviceNumber << 3) |
353 DeviceExtension->Slot.u.bits.FunctionNumber);
354
355
358 {
359
362 {
363 DPRINT1(
"PCIX - Bridge chain too deep for an instance ID\n");
365 }
366
367
370 "%02X",
373
374
376 }
377 break;
378
379 default:
380
381
384 }
385
386
388
389
392
393
397
398
399 for (
i = 0;
i < IdBuffer.
Count;
i++)
400 {
401
404
405
408
409
413 }
414
415
418}
#define PCI_IS_ROOT_FDO(x)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
ULONG __cdecl PciIdPrintfAppend(IN PPCI_ID_BUFFER IdBuffer, IN PCCH Format,...)
VOID NTAPI PciInitIdBuffer(IN PPCI_ID_BUFFER IdBuffer)
ULONG __cdecl PciIdPrintf(IN PPCI_ID_BUFFER IdBuffer, IN PCCH Format,...)
_Out_ _Inout_ POEM_STRING DestinationString
#define STATUS_BUFFER_OVERFLOW
PDEVICE_OBJECT PhysicalDeviceObject
struct _PCI_FDO_EXTENSION * ParentFdoExtension
ULONG StringSize[MAX_ANSI_STRINGS]
ANSI_STRING Strings[MAX_ANSI_STRINGS]
unsigned short MaximumLength