estrutura STOR_DEVICE_CAPABILITIES (srb.h)
A estrutura STOR_DEVICE_CAPABILITIES relata os recursos do dispositivo para o driver de porta SCSI 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 pela porta SCSI.
DeviceD1
Especifica se o hardware do dispositivo dá suporte ao estado de energia D1. Os drivers de miniporte definem esse bit como 0.
DeviceD2
Especifica se o hardware do dispositivo dá suporte ao estado de energia D2. Os drivers de miniporte 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 Removível for definido como TRUE:
- O dispositivo não pertence ao mesmo objeto físico que seu pai.
- O dispositivo é 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 drivers 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 a porta SCSI 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 estiver 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 miniporte 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 de 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.
A porta SCSI envia essa estrutura para o miniporto com todos os membros inicializados como 0.
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 | srb.h (inclua Storport.h, Minitape.h, Srb.h) |