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)

Confira também

WdfDeviceInitAssignSDDLString

WdfDeviceInitSetCharacteristics

WdfDeviceInitSetDeviceType

WdfDeviceInitSetExclusive