Função WdfPdoInitAssignRawDevice (wdfpdo.h)
[Aplica-se somente ao KMDF]
O método WdfPdoInitAssignRawDevice indica que o driver de chamada pode dar suporte a um dispositivo especificado no modo bruto.
Sintaxe
NTSTATUS WdfPdoInitAssignRawDevice(
[in] PWDFDEVICE_INIT DeviceInit,
[in] const GUID *DeviceClassGuid
);
Parâmetros
[in] DeviceInit
Um ponteiro para uma estrutura WDFDEVICE_INIT .
[in] DeviceClassGuid
Um ponteiro para um GUID que identifica uma classe de configuração de dispositivo.
Nota Você sempre deve especificar um GUID de classe personalizada. Você não deve especificar um GUID de classe existente. Se você especificar um GUID de classe existente, outros drivers que tentam especificar que o GUID de classe existente pode falhar na instalação ou podem ser instalados com configurações de segurança incorretas.
Para obter mais informações, consulte a seção Comentários a seguir.
Retornar valor
Se a operação for bem-sucedida, o método retornará STATUS_SUCCESS. Caso contrário, retornará STATUS_INVALID_PARAMETER.
Comentários
O driver deve chamar WdfPdoInitAssignRawDevice antes de chamar WdfDeviceCreate. Para obter mais informações sobre como chamar WdfDeviceCreate, consulte Criando um objeto de dispositivo framework.
O registro pode conter valores que substituem os valores que um driver especifica quando chama WdfDeviceInitAssignSDDLString, WdfDeviceInitSetDeviceType, WdfDeviceInitSetCharacteristics e WdfDeviceInitSetExclusive. O parâmetro DeviceClassGuid do método WdfPdoInitAssignRawDevice especifica um GUID que identifica a seção do registro que contém os valores de substituição. O parâmetro DeviceClassGuid identifica apenas uma seção do registro e não define a classe de configuração do dispositivo para o dispositivo. A seção Versão do INF no arquivo INF do dispositivo e do driver define a classe de configuração do dispositivo. Normalmente, o GUID do parâmetro DeviceClassGuid deve corresponder ao GUID especificado pela seção Versão do INF .
Para obter mais informações sobre como usar o registro, consulte Configurando propriedades do registro de objeto do dispositivo após a instalação.
Exemplos
O snippet a seguir do exemplo de driver kmdf_enumswitches indica que um driver pode dar suporte ao dispositivo especificado no modo bruto.
NTSTATUS status;
DEFINE_GUID(GUID_DEVCLASS_MYUNIQUEID,
0xf149fe88, 0x f6cc, 0x47e3, 0x85, 0x94, 0xe2, 0xaa, 0xb6, 0xe0, 0x3b, 0xdf);
status = WdfPdoInitAssignRawDevice(
pDeviceInit,
&GUID_DEVCLASS_MYUNIQUEID
);
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Cabeçalho | wdfpdo.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.) |
IRQL | PASSIVE_LEVEL |
Regras de conformidade de DDI | ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |