estrutura STOR_DEVICE_CAPABILITIES (minitape.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. Storport define esse campo como STOR_DEVICE_CAPABILITIES_EX_VERSION_1.
DeviceD1
Especifica se o hardware do dispositivo dá suporte ao estado de energia D1. Os drivers de miniporto definem esse bit como 0.
DeviceD2
Especifica se o hardware do dispositivo dá suporte ao estado de energia D2. Os drivers de miniporto 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 controlado 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 estiver definido como TRUE, o dispositivo não pertence ao mesmo objeto físico que seu pai.
Se removível estiver definido como TRUE, o dispositivo será exibido no programa Desativar ou Ejetar Hardware, a menos que SurpriseRemovalOK também esteja definido como VERDADEIRO.
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 apenas dentro do escopo do barramento.
SilentInstall
Especifica se do 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 o Storport possa enviar SRB_FUNCTION_PNP com StorRemoveDevice como PnPAction na estrutura SCSI_PNP_REQUEST_BLOCK. Se SurpriseRemovalOK estiver definido como VERDADEIRO, 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 miniporto não definem esse bit.
Observações
Quando um driver de miniporto recebe um SRB em seu rotina de HwStorStartIo em que a função SRB é SRB_FUNCTION_PNP, o SRB é formatado como uma estrutura SCSI_PNP_REQUEST_BLOCK. Se o PnPAction membro do SRB for StorQueryCapabilities, o miniporto poderá retornar uma estrutura STOR_DEVICE_CAPABILITIES no databuffer membro 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 nessa estrutura.
A partir do Windows 8, os miniportos devem usar a estrutura STOR_DEVICE_CAPABILITIES_EX para indicar suporte para recursos adicionais.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows Vista. |
cabeçalho | minitape.h (inclua Storport.h, Minitape.h, Srb.h) |