Compartilhar via


Método IMDSPDevice3::D eviceIoControl (mswmdm.h)

O método DeviceIoControl chama o controle de E/S do dispositivo.

Sintaxe

HRESULT DeviceIoControl(
  [in]  DWORD   dwIoControlCode,
  [in]  BYTE    *lpInBuffer,
  [in]  DWORD   nInBufferSize,
  [out] BYTE    *lpOutBuffer,
  [in]  LPDWORD pnOutBufferSize
);

Parâmetros

[in] dwIoControlCode

Código de controle de E/S que está sendo enviado para o dispositivo.

[in] lpInBuffer

Buffer de entrada fornecido pelo aplicativo de chamada. Isso poderá ser NULL se nInBufferSize for zero.

[in] nInBufferSize

Tamanho de lpInBuffer, em bytes.

[out] lpOutBuffer

Buffer de saída, fornecido pelo aplicativo de chamada.

[in] pnOutBufferSize

Tamanho de lpOutBuffer, em bytes.

Retornar valor

O método retorna um HRESULT. Todos os métodos de interface no Windows Media Gerenciador de Dispositivos podem retornar qualquer uma das seguintes classes de códigos de erro:

  • Códigos de erro COM padrão
  • Códigos de erro do Windows convertidos em valores HRESULT
  • Códigos de erro de Gerenciador de Dispositivos do Windows Media
Para obter uma ampla lista de possíveis códigos de erro, consulte Códigos de erro.

Comentários

Esse método fornece um modo privado de comunicação entre o aplicativo e o provedor de serviços. Em seguida, o provedor de serviços pode processar esse IOCTL, opcionalmente modificá-lo e passá-lo para o driver do modo kernel.

Em comparação com IMDSPDevice::SendOpaqueCommand, esse método se alinha melhor à API do Windows DeviceIoControl porque o buffer de saída é fornecido pelo chamador. Além disso, ao contrário de IMDSPDevice::SendOpaqueCommand, esse método não envolve nenhuma marcar MAC e é mais eficiente.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho mswmdm.h
Biblioteca Mssachlp.lib

Confira também

IMDSPDevice3 Interface

IMDSPDevice::SendOpaqueCommand

IWMDMDevice3::D eviceIoControl