Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Usado para empacotar um FMTID (identificador de formato) e um PID (identificador de propriedade) em uma estrutura PROPERTYKEY que representa uma chave de propriedade.
Sintaxe
void DEFINE_PROPERTYKEY(
name,
DWORD l,
WORD w1,
WORD w2,
BYTE b1,
BYTE b2,
BYTE b3,
BYTE b4,
BYTE b5,
BYTE b6,
BYTE b7,
BYTE b8,
DWORD pid
);
Parâmetros
name
O nome de uma estrutura PROPERTYKEY que representa uma chave de propriedade.
l
O valor do membro Data1 do membro fmtid da estrutura PROPERTYKEY .
w1
O valor do membro Data2 do membro fmtid da estrutura PROPERTYKEY .
w2
O valor do membro Data3 do membro fmtid da estrutura PROPERTYKEY .
b1
O valor do membro Data4[0] do membro fmtid da estrutura PROPERTYKEY .
b2
O valor do membro Data4[1] do membro fmtid da estrutura PROPERTYKEY .
b3
O valor do membro Data4[2] do membro fmtid da estrutura PROPERTYKEY .
b4
O valor do membro Data4[3] do membro fmtid da estrutura PROPERTYKEY .
b5
O valor do membro Data4[4] do membro fmtid da estrutura PROPERTYKEY .
b6
O valor do membro Data4[5] do membro fmtid da estrutura PROPERTYKEY .
b7
O valor do membro Data4[6] do membro fmtid da estrutura PROPERTYKEY .
b8
O valor do membro Data4[7] do membro fmtid da estrutura PROPERTYKEY .
pid
Um PID (identificador de propriedade). É recomendável que você defina esse valor como PID_FIRST_USABLE. Qualquer valor maior ou igual a 2 é aceitável.
Retornar valor
Nenhum
Comentários
A macro DEFINE_PROPERTYKEY é definida da seguinte maneira.
#ifdef INITGUID
#define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
EXTERN_C const PROPERTYKEY DECLSPEC_SELECTANY name = \
{ { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }, pid }
#else
#define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
EXTERN_C const PROPERTYKEY name
#endif // INITGUID
Ao usar essa macro, você tem duas opções:
- Inclua Initguid.h em seu projeto. Nesse caso, a macro declara os nomes de chave de propriedade e define as chaves de propriedade para você. Essa abordagem funciona na maioria dos casos, mas pode causar colisões de nomenclatura em projetos grandes e complexos.
- Não inclua Initguid.h. Em vez disso, compile suas definições em um arquivo de biblioteca estática que tenha a extensão de nome de arquivo .lib. Nesse caso, a macro declara os nomes de chave de propriedade para o compilador usar, mas você deve referenciar o arquivo .lib nas configurações do vinculador do projeto. Essa abordagem funciona melhor em projetos grandes que usam vários módulos porque evita as colisões de nomenclatura mencionadas na opção 1.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
| Plataforma de Destino | Windows |
| Cabeçalho | propkeydef.h |