estrutura STOR_DEVICE_CAPABILITIES (storport.h)

A estrutura STOR_DEVICE_CAPABILITIES relata os recursos do dispositivo para o driver storport em resposta a uma consulta de funcionalidades em um SRB (bloco de solicitação SCSI) com uma função de SRB_FUNCTION_PNP. STOR_DEVICE_CAPABILITIES é um subconjunto da estrutura DEVICE_CAPABILITIES que contém os membros relevantes para dispositivos de armazenamento.

Sintaxe

typedef struct _STOR_DEVICE_CAPABILITIES {
  USHORT Version;
  ULONG  DeviceD1 : 1;
  ULONG  DeviceD2 : 1;
  ULONG  LockSupported : 1;
  ULONG  EjectSupported : 1;
  ULONG  Removable : 1;
  ULONG  DockDevice : 1;
  ULONG  UniqueID : 1;
  ULONG  SilentInstall : 1;
  ULONG  SurpriseRemovalOK : 1;
  ULONG  NoDisplayInUI : 1;
} STOR_DEVICE_CAPABILITIES, *PSTOR_DEVICE_CAPABILITIES;

Membros

Version

Especifica a versão da estrutura. Defina como STOR_DEVICE_CAPABILITIES_EX_VERSION_1 por Storport.

DeviceD1

Especifica se o hardware do dispositivo dá suporte ao estado de energia D1. Os drivers de miniporta definem esse bit como 0.

DeviceD2

Especifica se o hardware do dispositivo dá suporte ao estado de energia D2. Os drivers de miniporta definem esse bit como 0.

LockSupported

Especifica se o dispositivo dá suporte ao bloqueio de dispositivo físico que impede a ejeção do dispositivo. Esse membro pertence à ejeção de um LUN ou de um dispositivo de unidade.

EjectSupported

Especifica se o dispositivo dá suporte à ejeção de dispositivo controlada por software enquanto o sistema está no estado PowerSystemWorking . Esse membro pertence à ejeção de um LUN ou dispositivo de unidade.

Removable

Especifica se o dispositivo pode ser removido dinamicamente de seu pai imediato. Se Removable for definido como TRUE, o dispositivo não pertencerá ao mesmo objeto físico que seu pai.

Se Removable for definido como TRUE, o dispositivo será exibido no programa Desconectar ou Ejetar Hardware, a menos que SurpriseRemovalOK também esteja definido como TRUE.

DockDevice

Especifica se o dispositivo é um periférico de encaixe.

UniqueID

Especifica se a ID da instância do dispositivo é exclusiva em todo o sistema. Esse bit fica claro se a ID da instância é exclusiva somente dentro do escopo do barramento.

SilentInstall

Especifica se Gerenciador de Dispositivos deve suprimir todas as caixas de diálogo de instalação; exceto as caixas de diálogo necessárias, como "nenhum driver compatível encontrado".

SurpriseRemovalOK

Especifica se o driver de miniporto para o dispositivo pode lidar com o caso em que o dispositivo é removido antes que o Storport possa enviar SRB_FUNCTION_PNP com StorRemoveDevice como o PnPAction na estrutura SCSI_PNP_REQUEST_BLOCK . Se SurpriseRemovalOK estiver definido como TRUE, o dispositivo poderá ser removido com segurança de seu pai imediato, independentemente do estado em que o driver está.

NoDisplayInUI

Não exiba o dispositivo na interface do usuário. Se esse bit for definido, o dispositivo nunca será exibido na interface do usuário, mesmo que o dispositivo esteja presente, mas não seja iniciado. Os drivers de miniporta não definem esse bit.

Comentários

Quando um driver de miniporto recebe um SRB em sua rotina HwStorStartIo em que a função SRB é SRB_FUNCTION_PNP, o SRB é formatado como uma estrutura SCSI_PNP_REQUEST_BLOCK . Se o membro PnPAction do SRB for StorQueryCapabilities, o miniporto poderá retornar uma estrutura STOR_DEVICE_CAPABILITIES no membro DataBuffer do SRB.

O Storport envia essa estrutura para o miniporto com todos os membros inicializados como 0. No retorno, somente o campo Removível é usado dessa estrutura.

Começando com Windows 8, os miniportos devem usar a estrutura STOR_DEVICE_CAPABILITIES_EX para indicar suporte para recursos adicionais.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows Vista.
Cabeçalho storport.h (inclua Storport.h, Minitape.h, Srb.h)

Confira também

DEVICE_CAPABILITIES

SCSI_PNP_REQUEST_BLOCK

STOR_DEVICE_CAPABILITIES_EX