PlugPlayGetDeviceProperty
NTSTATUS __stdcall PlugPlayGetDeviceProperty(
UNICODE_STRING *DeviceInstance,
UINT64 PropertyType,
PVOID PropertyBuffer,
UINT64 PropertyBufferSize,
UINT64 *RequiredSize,
UINT64 Flags){
unsigned int v6;
int v8;
NTSTATUS v9;
unsigned int v10;
unsigned int v12;
v6 = PropertyBufferSize;
if( DeviceInstance && RequiredSize && !(_DWORD)Flags )
{
v12 = PropertyBufferSize;
ZwPlugPlayControl();
v9 = v8;
if( v8 < 0 )
{
if( v8 != -1073741789 )
{
*(_DWORD *)RequiredSize = 0;
return v9;
}
}
else
{
v10 = v12;
if( v6 <= v12 )
{
LABEL_6:
*(_DWORD *)RequiredSize = v10;
return v9;
}
memset((INT64)PropertyBuffer + v12, 0i64);
}
v10 = v12;
goto LABEL_6;
}
return -1073741811;
}Referenced by:
PiPnpRtlGetDeviceNtPropertyRoutine