Freigeben über


CMD_ENTRY-Struktur (netsh.h)

Die CMD_ENTRY-Struktur definiert einen Hilfsbefehl.

Syntax

typedef struct _CMD_ENTRY {
  LPCWSTR            pwszCmdToken;
  PFN_HANDLE_CMD     pfnCmdHandler;
  DWORD              dwShortCmdHelpToken;
  DWORD              dwCmdHlpToken;
  DWORD              dwFlags;
  PNS_OSVERSIONCHECK pOsVersionCheck;
} CMD_ENTRY, *PCMD_ENTRY;

Member

pwszCmdToken

Das Token (Name) für den Befehl.

pfnCmdHandler

Eine Funktion, die den Befehl verarbeitet. Weitere Informationen finden Sie unter FN_HANDLE_CMD.

dwShortCmdHelpToken

Eine kurze Hilfenachricht. Dies ist der Nachrichtenbezeichner aus der Ressourcendatei der Hilfs-DLL.

dwCmdHlpToken

Die Meldung, die angezeigt werden soll, wenn auf den Befehl nur ein Hilfetoken folgt (HELP, /?, -?, oder ?). Dies ist der Nachrichtenbezeichner aus der Ressourcendatei der Hilfs-DLL.

dwFlags

Die Flags für den Befehl. Weitere Informationen finden Sie unter NetShell-Flags.

pOsVersionCheck

Die Funktion zur Überprüfung der Betriebssystemversion. Dies ist die Funktion, die verwendet wird, um zu bestimmen, ob der Befehl auf dem Betriebssystem ausgeführt werden kann, das im lokalen und/oder Remotekontext ausgeführt wird, bevor Befehle aufgerufen oder angezeigt werden. Weitere Informationen finden Sie unter NS_OSVERSIONCHECK.

Hinweise

Makros sind verfügbar, die die Erstellung der CMD_ENTRY-Struktur wie folgt vereinfachen können:

#define CREATE_CMD_ENTRY_EX(t,f,i)       {CMD_##t, f, HLP_##t, HLP_##t##_EX, i, NULL}
#define CREATE_CMD_ENTRY_EX_VER(t,f,i,v) {CMD_##t, f, HLP_##t, HLP_##t##_EX, i, v}
#define CREATE_CMD_ENTRY(t,f)            {CMD_##t, f, HLP_##t, HLP_##t##_EX, CMD_FLAG_PRIVATE, NULL}

Wenn diese Makros verwendet werden, müssen die folgenden Konstanten in der Hilfs-DLL definiert werden:

Im Folgenden werden Beispielverwendungen für diese Makros aufgeführt:

#define HLP_SAMPLE_ADD_BAR        1001
#define HLP_SAMPLE_ADD_BAR_EX     1002
#define HLP_SAMPLE_DELETE_BAR     1003
#define HLP_SAMPLE_DELETE_BAR_EX  1004
#define HLP_SAMPLE_SET_GLOBAL     1005
#define HLP_SAMPLE_SET_GLOBAL_EX  1006
#define HLP_SAMPLE_SET_BAR        1007
#define HLP_SAMPLE_SET_BAR_EX     1008
#define HLP_SAMPLE_SET_FILTER     1009
#define HLP_SAMPLE_SET_FILTER_EX  1010
#define HLP_SAMPLE_SHOW_GLOBAL    1011
#define HLP_SAMPLE_SHOW_GLOBAL_EX 1012
#define HLP_SAMPLE_SHOW_BAR       1013
#define HLP_SAMPLE_SHOW_BAR_EX    1014
#define HLP_SAMPLE_SHOW_FILTER    1015
#define HLP_SAMPLE_SHOW_FILTER_EX 1016

#define CMD_SAMPLE_ADD_BAR        L"add_bar"
#define CMD_SAMPLE_DELETE_BAR     L"delete_bar"
#define CMD_SAMPLE_SET_GLOBAL     L"set_global"
#define CMD_SAMPLE_SET_BAR        L"set_bar"
#define CMD_SAMPLE_SET_FILTER     L"set_filter"
#define CMD_SAMPLE_SHOW_GLOBAL    L"show_global"
#define CMD_SAMPLE_SHOW_BAR       L"show_bar"
#define CMD_SAMPLE_SHOW_FILTER    L"show_filter"

CMD_ENTRY  g_SampleAddCmdTable[] = 
{
    CREATE_CMD_ENTRY(SAMPLE_ADD_BAR, HandleSampleAddBar),
};
CMD_ENTRY  g_SampleDeleteCmdTable[] = 
{
    CREATE_CMD_ENTRY(SAMPLE_DELETE_BAR, HandleSampleDeleteBar),
};
CMD_ENTRY  g_SampleSetCmdTable[] = 
{
    CREATE_CMD_ENTRY(SAMPLE_SET_GLOBAL, HandleSampleSetGlobal),
    CREATE_CMD_ENTRY_EX(SAMPLE_SET_BAR, HandleSampleSetBar, (CMD_FLAG_PRIVATE | CMD_FLAG_ONLINE) ),
    CREATE_CMD_ENTRY_EX_VER(SAMPLE_SET_FILTER, HandleSampleSetFilter, (CMD_FLAG_PRIVATE | CMD_FLAG_ONLINE), CheckRunningOnWindowsXP),
};
CMD_ENTRY  g_SampleShowCmdTable[] = 
{
    CREATE_CMD_ENTRY(SAMPLE_SHOW_GLOBAL, HandleSampleShowGlobal),
    CREATE_CMD_ENTRY_EX(SAMPLE_SHOW_BAR, HandleSampleShowBar, (CMD_FLAG_PRIVATE | CMD_FLAG_ONLINE) ),
    CREATE_CMD_ENTRY_EX_VER(SAMPLE_SHOW_FILTER, HandleSampleShowFilter, (CMD_FLAG_PRIVATE | CMD_FLAG_ONLINE), CheckRunningOnWindowsXP),
};

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile netsh.h

Weitere Informationen

CMD_GROUP_ENTRY

NS_CONTEXT_COMMIT_FN

NetShell-Flags